Staging#25
Merged
Skeptic-systems merged 3 commits intomainfrom Dec 30, 2025
Merged
Conversation
…and validation functionalities
…e theme application logic
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis pull request introduces a custom theme system for the desktop application, with a Tauri backend for persisting JSON themes, TypeScript APIs for theme management, enhanced UI components supporting truncation and empty states, a rebuilt search interface with Spotify integration, and a Theme Studio feature in Settings for creating and managing custom themes. Changes
Sequence DiagramssequenceDiagram
participant UI as User/UI
participant ThemeLoader as ThemeLoader
participant SettingLib as SettingLib (TS)
participant Tauri as Tauri Backend
participant FS as File System
UI->>SettingLib: applyCustomThemeFromJson(jsonString)
SettingLib->>ThemeLoader: validateThemeJsonFormat(jsonString)
ThemeLoader->>ThemeLoader: Parse & validate JSON
ThemeLoader-->>SettingLib: ThemeValidationResult
alt Valid Theme
SettingLib->>ThemeLoader: applyCustomThemeFromJson(jsonString)
ThemeLoader->>ThemeLoader: Transform & apply CSS variables
ThemeLoader-->>SettingLib: Success result
SettingLib-->>UI: Theme applied
else Invalid
ThemeLoader-->>SettingLib: Error result
SettingLib-->>UI: Validation error
end
Note over UI,FS: Save Custom Theme
UI->>SettingLib: saveCustomTheme(themeJson)
SettingLib->>Tauri: save_custom_theme(themeJson)
Tauri->>Tauri: Validate & sanitize
Tauri->>FS: Write theme.json
FS-->>Tauri: Success/Error
Tauri-->>SettingLib: Filename or Error
SettingLib-->>UI: Result with filename
sequenceDiagram
participant UI as SearchBar UI
participant Client as Spotify Client
participant SpotifyAPI as Spotify API
participant Player as Playback
UI->>UI: Input query (debounce 300ms)
UI->>Client: searchTracks(query, 20)
Client->>SpotifyAPI: GET /search (tracks)
SpotifyAPI-->>Client: Search results
Client-->>UI: SimplifiedTrack[]
UI->>UI: Display results
rect rgb(200, 150, 255)
Note over UI,SpotifyAPI: Recently Played (on mount)
UI->>Client: fetchRecentlyPlayed(20)
Client->>SpotifyAPI: GET /me/player/recently_played
SpotifyAPI-->>Client: Items with track & timestamp
Client->>Client: De-duplicate by track ID
Client-->>UI: SimplifiedTrack[]
UI->>UI: Display recent tracks
end
rect rgb(150, 200, 255)
Note over UI,Player: Play Track
UI->>Client: playTrack(trackUri)
Client->>SpotifyAPI: PUT /me/player/play
SpotifyAPI-->>Client: Success
Client-->>UI: Void
UI->>UI: Show spinner & update state
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Poem
✨ Finishing touches
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (42)
Comment |
This was referenced Jan 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Brief description of the changes in this PR.
Type of Change
Related Issues
Fixes #(issue number)
Closes #(issue number)
Related to #(issue number)
Changes Made
Testing
Screenshots (if applicable)
Add screenshots to help explain your changes.
Checklist
Additional Notes
Add any additional notes about the PR here.
Summary by CodeRabbit
New Features
Improvements
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.