Search functionality#41
Conversation
Add Sync tab for registering playlists for automatic syncing. Uses SQLModel with SQLite for persistence and background scheduler to periodically create sync jobs through the existing job system.
Replace tab-based navigation with proper client-side routing using TanStack Router. Navigation links now appear in the header navbar following HeroUI component patterns.
Refactor sync/playlists API to subscriptions model with: - CRUD endpoints at /api/subscriptions - Read-only scheduler status at /api/scheduler - Environment-based scheduler configuration - Type field for future artist support
Updated support section and acknowledgments in README.
- Implemented `SongRelatedPanel` component to display related songs. - Enhanced search functionality with `SearchInput`, `useSearch`, and `useSearchSuggestions` hooks. - Created `SearchStateProvider` for managing search state across components. - Integrated album and song viewing capabilities in the search page. - Updated download job handling to return boolean status. - Added hooks for fetching album and related song data. - Improved routing to handle search parameters and state.
- Implemented new API endpoints for fetching artist details and albums in `artists.py`. - Added methods in `YTMusicClient` for retrieving artist information and albums. - Created TypeScript interfaces for artist data structures in `artist.ts`. - Developed `ArtistPanel` component to display artist information and related actions. - Enhanced search functionality to include artist results and navigation. - Updated state management to handle artist selection and loading states. - Integrated artist fetching logic in the search page and related components.
Screen_Recording_20260129_232301_Chrome.mp4 |
|
This can be simplified a ton. We can combine the various panels I have added into one. |
…te music helper functions
|
Hey @MoreTore, thanks for rebasing onto I appreciate the effort, but I need to be more direct: I'm not in a position to review or merge large feature PRs right now. The project is still early and I'm iterating quickly as a solo dev — big additions like this create review overhead and merge conflicts that slow things down. For now, I'm really only looking for bug fixes, small improvements, or feedback via issues. Feature development is something I prefer to handle myself until the project stabilizes. I don't want your work to go to waste, so feel free to keep your fork for personal use. But I'll be closing this PR for now. Thanks for understanding, and I hope you stick around! |
|
Yeah no problem at all! I know where you are at and I am enjoying working on this so thought i would share my ideas/progress. Thanks for the nice app! |
…m caching functionality
- Updated Docker Compose configuration to run the yubal service with specified user and added port mapping. - Refactored API routes to use a cached YTMusic client for improved performance. - Introduced JobKind enum to differentiate between single and discography jobs. - Enhanced job creation request schema to include kind and channel_id fields. - Implemented DiscographyService to handle downloading of artist discographies. - Modified JobExecutor to support discography jobs and handle related logic. - Updated frontend components to support downloading discographies, including UI changes for download buttons. - Adjusted API and TypeScript definitions to accommodate new job parameters.
|
Hello @MoreTore at this point I would love to integrate your changes into the project. So if you are willing i would love seeing this rebased so we can go ahead and integrate it in a future release. Hit me up if you are interested, or if you would hand off your work as-is and want me to rebase it. Thanks! |
No description provided.