- 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.
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
- 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.
- 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.
- 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.