83 Commits

Author SHA1 Message Date
Geert Rademakes
9268a4635f perf: Remove unnecessary delays in playlist switching and infinite scroll - Remove setTimeout delay in playlist change handler - Reduce infinite scroll trigger delay from 1000ms to 100ms - Improve responsiveness when switching playlists and scrolling - Fixes 1-second delay between URL change and actual loading 2025-08-06 10:47:37 +02:00
Geert Rademakes
e8bb2a4326 fix: Restore playlist switching functionality - Add previousPlaylistRef to properly detect playlist changes - Fix playlist change detection logic that was broken by ref updates - Ensure playlist switching works while maintaining infinite scroll fix 2025-08-06 10:43:18 +02:00
Geert Rademakes
08de2afa0e fix: Prevent infinite scroll from loading previous playlist songs - Add refs to store current playlist and search query values - Fix stale closure issue in loadPage function - Ensure infinite scroll uses current playlist, not cached values - Fixes race condition when switching playlists and scrolling 2025-08-06 10:39:51 +02:00
Geert Rademakes
535dc16d2c fix: Prevent welcome modal from showing on initial page load - Change welcome modal to not open by default - Only show welcome modal after confirming database is empty - Move database initialization check after useDisclosure hook - Fixes premature welcome modal display on app startup 2025-08-06 10:35:17 +02:00
Geert Rademakes
743ed6a54e fix: Prevent welcome modal from showing during playlist switches - Add isDatabaseInitialized state to track actual database status - Check for songs and playlists to determine if database is initialized - Only show welcome modal when database is truly empty - Fixes issue where modal appeared when switching playlists 2025-08-06 10:33:16 +02:00
Geert Rademakes
02ae12294c feat: Show total playlist duration instead of loaded songs duration - Add totalDuration calculation in backend playlist endpoint - Update frontend to display total playlist duration - Duration now shows entire playlist length, not just loaded songs - Prevents duration from changing when scrolling through songs 2025-08-06 10:30:02 +02:00
Geert Rademakes
54bffbc25d feat: Make playlist switching less intrusive - Remove full loading screen for playlist switches - Only show full loading for initial XML parsing - Use subtle spinner in song list area for playlist loading - Improve UX by keeping interface responsive during navigation 2025-08-06 10:24:04 +02:00
Geert Rademakes
65120ff654 revert: Change indentation back to 10px per level - Revert from 16px to 10px for better visual balance - Keep visual indicators and padding improvements 2025-08-06 10:22:14 +02:00
Geert Rademakes
50f29b900e feat: Move 'Add Playlist' and 'Add Folder' buttons to the top - Position buttons right after 'All Songs' for better accessibility - Add proper spacing with mb={2} for visual separation - Improve UX by making action buttons more prominent 2025-08-06 10:21:49 +02:00
Geert Rademakes
5fb878a0b0 feat: Improve playlist hierarchy visualization - Increase indentation for nested playlists (16px per level) - Add visual indicators (gray bars) for nested items - Add extra padding for better visual separation - Make folder structure more clearly visible 2025-08-06 10:21:12 +02:00
Geert Rademakes
4f16c859db fix: Prevent infinite scroll refresh by stabilizing intersection observer - Add trigger prevention mechanism to avoid multiple API calls - Use refs to store current values and avoid stale closures - Remove observer dependencies to prevent recreation - Add proper timeout cleanup to prevent memory leaks 2025-08-06 10:13:21 +02:00
Geert Rademakes
2e32a3c3b6 fix: Make playlist folders start collapsed by default - Change default state from expanded to collapsed for better UX 2025-08-06 10:05:32 +02:00
Geert Rademakes
7fb8614130 feat: Major performance optimizations - Add React.memo, useMemo, and useCallback to prevent unnecessary re-renders - Implement request cancellation with AbortController to prevent memory leaks - Add debounced search to reduce API calls - Optimize song selection and playlist switching performance - Fix browser crashes and memory leaks - Add proper cleanup functions 2025-08-06 10:03:26 +02:00
Geert Rademakes
506569b038 UI fixes 2025-04-25 11:30:47 +02:00
Geert Rademakes
9116b785ea bitrate logic updates 2025-04-25 11:04:13 +02:00
Geert Rademakes
f3d067ab16 UX fix 2025-04-25 10:46:39 +02:00
Geert Rademakes
40c75d479a Nice onboarding flow & reset database function 2025-04-25 10:42:45 +02:00
Geert Rademakes
db4408b953 Added config page! 2025-04-25 10:29:24 +02:00
Geert Rademakes
5c1cf64c4c Routing fixes 2025-04-25 10:01:45 +02:00
Geert Rademakes
ab531462c2 Some extra ui improvements 2025-04-25 09:38:53 +02:00
Geert Rademakes
7e1f4e1cd4 UI fixes! 2025-04-25 09:21:38 +02:00
Geert Rademakes
1a3beb7e6f Details are working again 2025-04-24 23:50:54 +02:00
Geert Rademakes
9e32aa0a99 Folders are working aswell!! 2025-04-24 23:48:23 +02:00
Geert Rademakes
3a13c24301 Folders working! 2025-04-24 23:45:14 +02:00
Geert Rademakes
f82cb84397 Draggable playlist sidebar 2025-04-24 23:11:46 +02:00
Geert Rademakes
83fe6994b8 Better UI! 2025-04-24 23:11:07 +02:00
Geert Rademakes
7e08b0e567 Delete playlist added 2025-04-24 22:51:21 +02:00
Geert Rademakes
ea2942edc1 url based navigation 2025-04-24 22:11:51 +02:00
Geert Rademakes
35da4f83ce With amazing details screen on the sidebar now! 2025-04-24 19:55:10 +02:00
Geert Rademakes
ff371aa855 Update to the manager 2025-04-24 16:14:52 +02:00
Geert Rademakes
5c62f9d147 UI improvements! 2025-04-24 16:08:06 +02:00
Geert Rademakes
3e8141aeba Added docker compose deployments 2025-04-24 15:46:10 +02:00
Geert Rademakes
901c78990b frontend AND backend bro!! 2025-04-24 15:28:22 +02:00