21d62f8c6f
list: prototype with combined list field
2026-02-13 01:03:50 -08:00
f90cf66cc1
rename list page to mal
2026-02-12 23:44:02 -08:00
1a3ec7d84e
ui: reduce gap in layout
2026-02-12 23:25:52 -08:00
7dc37d9eb7
ui: player: fix volume slider overflow in desktop player controls
2026-02-12 22:36:47 -08:00
ec3565078f
feat(queue): auto-scroll to currently playing on queue open
...
Adds a visible prop to Queue that triggers auto-scroll to the currently
playing track when the queue becomes visible. PlayerMobile passes the
drawer open state, PlayerDesktop passes whether a track exists.
2026-02-12 22:19:12 -08:00
e3c0c6cade
feat(queue): add scroll to currently playing button
...
Adds a scrollToIndex method to VirtualList and a locate button in the
Queue header that scrolls to center the currently playing track.
2026-02-12 22:19:12 -08:00
28643c38b8
feat(queue): add confirmation dialog when clearing the queue
...
Wraps the clear button in an AlertDialog that shows the number of songs
to be removed, requiring explicit confirmation before clearing.
2026-02-12 21:56:14 -08:00
3944cf6ff4
modify id to index map imperatively
2026-02-11 23:35:30 -08:00
6fca5bae39
perf(player): virtualize queue list rendering
...
Extract a generic VirtualList.svelte component that only renders
visible rows + overscan buffer using absolute positioning in a tall
sentinel div. Queue.svelte now uses VirtualList with 64px row height
(supporting 2-line titles) instead of rendering all items.
This reduces DOM nodes from 1000+ to ~20 for large queues.
2026-02-11 23:35:30 -08:00
cd443b974b
perf(player): debounce localStorage persistence
...
Wrap save() in a 300ms debounce to prevent rapid serialization
when multiple state changes fire in quick succession (e.g. removing
several items or adjusting volume).
2026-02-11 23:35:20 -08:00
31414c5874
perf(player): add idToIndex Map for O(1) track lookups
...
Replace all linear find/findIndex/some scans with a derived Map
keyed by track.id. This makes currentTrack, currentIndex, hasTrack,
add, playNext, remove, and addAll all O(1) for ID lookups.
2026-02-11 22:56:49 -08:00
da3ab81ae6
perf(player): batch addAll/playAllNext to avoid cascading reactivity
...
addAll() now collects all new tracks and pushes them in a single
array operation instead of calling add() in a loop, which triggered
per-item reactive updates and O(n²) existence checks.
2026-02-11 22:56:00 -08:00
7e3a22f14b
ui: queue: hide grab handle if hover available
2026-02-11 22:00:41 -08:00
86827777f4
testing with pgrok config
2026-02-11 21:28:06 -08:00
5e7534af35
ui: add placeholder artwork
2026-02-11 20:53:40 -08:00
11a4239fdc
even more layout fixes
2026-02-10 05:41:18 -08:00
cdd90016f8
add extra song information to player
2026-02-10 05:25:28 -08:00
864a11fac4
stupid layout again
2026-02-10 04:46:16 -08:00
48e5719813
ui: add tags for dub and rebroadcast
2026-02-10 04:26:10 -08:00
e0d6e5bc32
a few more layout optimizations
2026-02-10 04:13:48 -08:00
fc0f04f29c
more layout fixes
2026-02-10 03:53:53 -08:00
9e83b72139
remove artwork
2026-02-10 03:39:41 -08:00
f47f6e6cd8
actual layout improvements
2026-02-10 03:29:17 -08:00
197b9267c4
drag and drop but nicer
2026-02-10 01:58:33 -08:00
ed9fcbe116
drag and drop init
2026-02-10 01:55:49 -08:00
9f0234e00e
fix play now
2026-02-10 01:48:02 -08:00
c8220eec02
fix play track in queue
2026-02-10 01:35:42 -08:00
99e6fd8eb4
fix shuffle
2026-02-10 01:28:36 -08:00
57320232a6
fix some ui
2026-02-10 01:17:38 -08:00
892f43381b
fix stupid slider
2026-02-10 00:58:40 -08:00
bfae55afa3
fix
2026-02-10 00:30:38 -08:00
c8de948e7f
WIP: global player pt. 6 fix playback finally
2026-02-10 00:22:52 -08:00
cfd45b6815
WIP: global player pt. 5 svelte bindings
2026-02-10 00:09:41 -08:00
4fb1d7865f
WIP: global player pt. 4 fixed mobile
2026-02-10 00:01:32 -08:00
a4cf9356a8
WIP: global player pt. 3 monstrosity
2026-02-09 23:55:19 -08:00
f9fe6a2d11
WIP: global player refactor pt. 2
2026-02-09 23:42:08 -08:00
aea41df214
WIP: global player refactor pt. 1
2026-02-09 23:19:17 -08:00
9126e34f38
additional shadcn components
2026-02-09 22:30:48 -08:00
4e680c6697
ui: refactor chips into ChipGroup component
2026-02-09 21:51:10 -08:00
28d6231f21
ui: add styles for chip component on songs page
2026-02-09 21:28:39 -08:00
a9008627a1
ui: refactor some shadcn styles into utiltiy classes
2026-02-09 21:04:59 -08:00
72ee0260d9
refactor song type schema on search page
2026-02-09 20:52:49 -08:00
2bf5aeb1c0
db: change anime category number type to number
2026-02-09 18:53:42 -08:00
7b8ccb0e83
refactor ClientOnly component to simplify a bit
2026-02-09 18:42:14 -08:00
6f36ec0c62
patch runed/use-search-params to work with SSR
2026-02-07 20:45:01 -08:00
8e05915031
add .env.example, update gitignore
2026-02-07 20:23:16 -08:00
fa35340861
add global percent to song entry component
2026-02-06 12:18:29 -08:00
0d48cea726
songs page add query limit option
2026-02-06 12:08:37 -08:00
a33d495acd
fix nonexistent filenames for song entry component
2026-02-06 12:08:14 -08:00
8cb04e0295
song type schema stuff
2026-02-06 11:37:39 -08:00