Commit Graph

69 Commits

Author SHA1 Message Date
Sam Chau
0cdec6d19a feat(dirty): implement form dirty state tracking and navigation confirmation 2025-12-31 17:15:01 +10:30
Sam Chau
95795d5f0e feat: add conditions management for custom formats
- Introduced a new `listConditions` query to fetch conditions for custom formats.
- Created a new `ConditionListItem` type for better type safety.
- Added a new route for managing conditions under custom formats.
- Implemented UI components for displaying and managing conditions, including `ConditionCard` and `DraftConditionCard`.
- Enhanced the layout to include a new tab for conditions.
- Added support for various condition types and their respective options.
2025-12-31 16:40:41 +10:30
Sam Chau
56cf061a4b feat(customFormats): implement general queries and update related types and components 2025-12-31 03:31:59 +10:30
Sam Chau
445ebf1a39 feat(tests): add test count to custom formats in list and views 2025-12-31 03:13:53 +10:30
Sam Chau
5d82cc910b feat: add testing functionality for custom formats
- Implemented server-side logic for loading and managing tests in custom formats.
- Created new page for editing existing tests with form handling.
- Developed a reusable TestForm component for creating and editing test cases.
- Added functionality to create new tests with validation and error handling.
- Integrated layer permission checks for writing to base layer.
- Enhanced user experience with modals for save and delete actions.
2025-12-31 03:05:09 +10:30
Sam Chau
af269b030f feat(cache): implement regex101 cache table and queries for API response caching 2025-12-31 00:58:17 +10:30
Sam Chau
5c26d6d7b2 feat(parser): implement C# parser microservice with regex-based title parsing
- Added RegexReplace class for handling regex replacements.
- Created ReleaseGroupParser for extracting release groups from titles.
- Developed TitleParser for parsing movie titles, including editions and IDs.
- Introduced QualitySource, Resolution, QualityModifier enums and QualityResult class for quality metadata.
- Set up Dockerfile and docker-compose for containerized deployment.
- Implemented ASP.NET Core web API for parsing requests.
- Added TypeScript client for interacting with the parser service.
- Enhanced configuration to support dynamic parser service URL.
2025-12-30 10:33:52 +10:30
Sam Chau
8a3f266593 feat(custom-formats): implement custom formats management with list, detail views, and search functionality 2025-12-30 08:23:36 +10:30
Sam Chau
bd702f126c feat(media-management): enhance MediaManagementSyncer to support multiple config types and improve sync functionality 2025-12-30 07:15:44 +10:30
Sam Chau
3b14b300d5 feat(sidebar): implement collapsible sidebar functionality with localStorage support 2025-12-30 05:07:01 +10:30
Sam Chau
4aa914664e feat(media-management): add Quality Definitions, Media, Naming sections for Radarr and Sonarr
- Implemented QualityDefinitionsSection component to manage quality definitions for Radarr and Sonarr.
- Added server-side logic for loading and updating quality definitions in Radarr and Sonarr.
- Created new pages for Radarr and Sonarr media management, integrating the QualityDefinitionsSection.
- Enhanced media settings and naming settings management for both Radarr and Sonarr.
- Introduced validation and logging for media settings updates.
2025-12-30 04:56:54 +10:30
Sam Chau
7e7561e35a feat: Implement regular expression management features
- Add server-side logic for loading, updating, and deleting regular expressions in +page.server.ts.
- Create a new Svelte component for editing regular expressions, including form handling and validation.
- Introduce a RegexPatternField component for managing regex patterns and associated unit tests.
- Develop a RegularExpressionForm component for both creating and editing regex entries.
- Implement a SearchFilterAction component for filtering regex entries.
- Add new routes for creating and managing regular expressions, including a preset feature for common patterns.
- Enhance the UI with CardView and TableView components for displaying regex entries in different formats.
- Integrate markdown parsing for descriptions in the UI.
2025-12-29 21:06:49 +10:30
Sam Chau
8035820156 feat(ops): implement natural sorting for uncommitted operation files 2025-12-29 21:06:17 +10:30
Sam Chau
912861abca fix(writer): improve SQL query conversion to handle multiple placeholders correctly 2025-12-29 21:06:00 +10:30
Sam Chau
54e64a2ed4 feat(config): enhance base path logic to use executable directory as fallback 2025-12-29 19:00:12 +10:30
Sam Chau
1e8fc7a42d feat(sync): implement sync functionality for delay profiles
- Added syncArrJob to handle syncing of PCD profiles and settings to arr instances.
- Created syncArr logic to process pending syncs and log results.
- Introduced BaseSyncer class for common sync operations and specific syncers for delay profiles
- Implemented fetch, transform, and push methods for delay profiles
- Added manual sync actions in the UI for delay profiles
- Enhanced logging for sync operations and error handling.
2025-12-29 05:37:55 +10:30
Sam Chau
ea5c543647 feat: add sync configuration for ARR instances
- Introduced a new sync page for ARR instances, allowing users to configure quality profiles, delay profiles, and media management settings.
- Implemented backend logic to handle saving sync configurations.
- Enhanced the cache management system to support debouncing based on specific paths.
- Updated the layout to include a new "Sync" tab in the navigation.
- Added UI components for managing quality profiles, delay profiles, and media management settings with appropriate state management.
- Included informative modals to guide users on how the sync process works.
2025-12-29 04:39:52 +10:30
Sam Chau
aef58ea804 feat(ai): implement AI settings management and commit message generation 2025-12-29 04:39:41 +10:30
Sam Chau
4aa1c0c8e3 feat(git): add isFileUncommitted utility and update cancelOutCreate logic
fix(repo): change pull command to standard without rebase
fix(changes): ensure UI refresh after discarding and adding changes
fix(delay-profile): correct label structure for tags in DelayProfileForm
2025-12-29 01:35:50 +10:30
Sam Chau
7db49af4a2 fix(dropdown): remove unused 'open' property from Dropdown component 2025-12-29 01:35:30 +10:30
Sam Chau
d120aa5d02 fix(alerts): adjust alert container position for improved visibility 2025-12-29 01:35:23 +10:30
Sam Chau
3ae82153d9 feat(commits): implement commit history retrieval and display in the database view 2025-12-29 01:13:10 +10:30
Sam Chau
def987d8e9 feat: enhance accent color support across the application
- Introduced new accent colors (green, orange, teal, purple, rose) in the accent store.
- Updated CSS variables for accent colors in app.css.
- Refactored components to utilize accent colors for buttons, inputs, dropdowns, and tags.
- Improved accessibility and visual consistency by replacing hardcoded colors with accent variables.
- Adjusted styles in various components including modals, tables, and forms to reflect the new accent color scheme.
2025-12-29 01:12:59 +10:30
Sam Chau
0af19ed7ea feat(accent): implement accent color store and picker for app theming 2025-12-29 00:55:40 +10:30
Sam Chau
1eb2e983a5 feat: enhance Git operations and add changes management for databases
- Updated Git class to include options for fetching status and retrieving branches.
- Introduced getRepoInfo function to fetch repository details from GitHub API.
- Implemented changes page for database instances, allowing users to view and manage uncommitted changes.
- Added actions for discarding and adding changes with appropriate logging.
- Created UI components for displaying changes and managing actions.
- Implemented server-side redirects based on database access token presence.
- Enhanced delay profile management with improved delete functionality and logging.
2025-12-29 00:15:00 +10:30
Sam Chau
9ddb426f13 feat(git): refactor git utilities and introduce Git class for repository operations 2025-12-28 22:37:14 +10:30
Sam Chau
7c07f87d7c feat(delay-profiles): add delay profiles management functionality
- Create a new page for displaying delay profiles with an empty state when no databases are linked.
- Implement server-side loading for delay profiles based on the selected database.
- Add a detailed view for editing and deleting delay profiles, including form validation and error handling.
- Introduce a form component for creating and editing delay profiles with appropriate fields and validation.
- Implement table and card views for displaying delay profiles, allowing users to navigate to detailed views.
- Add functionality for creating new delay profiles with validation and error handling.
2025-12-28 21:28:17 +10:30
Sam Chau
a5a12f1658 feat(delay-profiles): add delay profile queries and types for database integration 2025-12-28 20:14:28 +10:30
Sam Chau
d2e098d412 feat(data-page): implement data page store for search and view management 2025-12-28 20:08:35 +10:30
Sam Chau
4e15ffa168 feat(notifications): refactor notification system to use a fluent builder pattern 2025-12-28 19:43:51 +10:30
Sam Chau
b7efaa567c feat(upgrades): enhance upgrade manager with detailed notifications for success and failure 2025-12-28 19:30:50 +10:30
Sam Chau
66095f6be1 feat(dependencies): implement syncDependencies to update dependency versions from manifest 2025-12-28 18:59:06 +10:30
Sam Chau
8066df5f92 feat(library): implement client-side library cache and API integration for fetching library data 2025-12-27 11:52:29 +10:30
Sam Chau
926da00858 feat(upgrades): enhance upgrade logs and configuration management
- Added filtering options for upgrade runs based on their status (all, success, partial, failed, skipped).
- Implemented a refresh button to reload the logs.
- Created a new component `UpgradeRunCard` to display individual upgrade run details.
- Introduced a cooldown tracker to show the next scheduled run time and progress.
- Added a dry run toggle to the upgrade configuration settings.
- Implemented clipboard functionality to copy and paste filter configurations.
- Updated the upgrade run action to support dry run mode and validate configurations.
- Refactored various components for improved readability and maintainability.
2025-12-27 11:23:36 +10:30
Sam Chau
6dbdd9a0f0 feat(upgrades): add last_run_at tracking to upgrade_configs and implement upgrade manager job 2025-12-27 06:43:57 +10:30
Sam Chau
3a2d98491c feat(upgrades): add upgrade configuration management with CRUD operations 2025-12-27 06:31:27 +10:30
Sam Chau
a740937246 feat(upgrades): implement frontend upgrade configuration and filtering system
- Added shared selectors for item selection methods in upgrades.
- Updated navigation to point to the new upgrades page.
- Removed obsolete search priority page.
- Created server-side loading for upgrades page to fetch instance data.
- Developed upgrades page layout with core settings and filter settings components.
- Implemented core settings component for upgrade scheduling and filter mode selection.
- Added filter group component to manage complex filtering rules.
- Created filter settings component to manage multiple filters with detailed configurations.
- Introduced info modals for filters and upgrades to guide users on functionality.
2025-12-27 06:04:06 +10:30
Sam Chau
0d99680414 feat: add Delay Profiles group to navigation 2025-12-27 06:03:07 +10:30
Sam Chau
119131bab6 feat: add expandable table component for displaying Radarr library items with detailed views
feat: implement caching mechanism for library data with TTL
feat: enhance Radarr client with methods to fetch movies and quality profiles
feat: update library page to support profile changing and improved UI elements
fix: update navigation icons and improve layout for better user experience
fix: correct cache handling and error management in library loading
2025-12-26 07:41:04 +10:30
Sam Chau
85b594cdf1 feat: implement arr instances management with CRUD operations and navigation
- Added new routes and components for managing Arr instances, including library, logs, and search priority.
- Implemented server-side logic for loading, creating, updating, and deleting instances.
- Enhanced the InstanceForm component to include an enabled toggle for instance activation.
- Updated navigation to consolidate Arr instances under a single route.
- Removed deprecated routes and streamlined the instance management process.
2025-12-26 06:00:21 +10:30
Sam Chau
e9ce6a76bc fix: change font style to mono for navigation components 2025-12-26 05:28:09 +10:30
Sam Chau
ec7616c7a1 fix: remove scoring streaming 2025-11-09 07:41:20 +11:00
Sam Chau
1181729da5 fix: update active state logic to include nested routes in navigation components 2025-11-09 07:11:12 +11:00
Sam Chau
78f33aae43 feat: implement drag-and-drop functionality for quality page 2025-11-09 07:07:03 +11:00
Sam Chau
55e0c9eb67 feat: add scoring page with custom format management
- Implemented server-side loading for scoring data in `+page.server.ts`.
- Created a new Svelte component for the scoring page in `+page.svelte`, including UI for managing custom formats, profiles, and display options.
- Added a `ScoringTable` component to display custom formats and their scores.
- Introduced local storage management for user preferences such as grouping, tiling, and profiles.
- Enhanced user experience with modals for information and unsaved changes.
2025-11-09 05:12:36 +11:00
Sam Chau
e1de8f88cf feat: Add Kysely integration for quality profile queries and refactor database interactions
- Updated package.json to include Kysely and Deno Vite plugin dependencies.
- Introduced new types for sorting in table component.
- Refactored PCDCache to utilize Kysely for type-safe database queries.
- Created new query files for quality profiles, including general information, languages, and list queries.
- Removed outdated qualityProfiles.ts file and replaced it with modular query structure.
- Updated routes to use new query functions for loading quality profile data.
- Enhanced Vite configuration to include Deno plugin and improved watch settings.
2025-11-09 05:07:48 +11:00
Sam Chau
d69064803a fix: update Dropdown.svelte to properly close empty div tag and enhance markdown sanitizer
- Fixed an empty div tag in Dropdown.svelte to ensure proper HTML structure.
- Implemented a custom HTML sanitizer in markdown.ts to avoid postcss dependency issues, allowing only specific tags and attributes to enhance security against XSS attacks.
2025-11-09 01:11:19 +11:00
Sam Chau
4ce966a41d feat(quality-profiles): implement quality profile management with detailed views, including languages and general settings 2025-11-05 21:41:49 +10:30
Sam Chau
80019b72a6 fix(ActionButton): add z-index class to dropdown for proper stacking 2025-11-05 21:41:31 +10:30
Sam Chau
697d241adf feat(tabs): enhance tab navigation with back button support and layout adjustments 2025-11-05 21:40:33 +10:30