yonlu
72ef719ba7
fix(08-02): revert repeat() inside lit-virtualizer, restore .renderItem + .keyFunction
...
repeat() as child content of lit-virtualizer bypasses virtualization,
rendering ALL items instead of only visible ones. This caused 2+ minute
loading times and UI freezing with large libraries.
The correct approach: use lit-virtualizer's native .renderItem and
.keyFunction properties which integrate with its scroll-based viewport
management.
2026-03-05 08:46:01 -05:00
yonlu
1303422e69
feat(08-04): apply design tokens to cover-grid, track-list, queue-panel, and detail components
...
- cover-grid dynamic text tiers use --yj-text-xs/sm/md/lg tokens
- track-list sort toolbar, row text, and fav icon use design tokens
- queue-panel header and track text use type scale tokens
- track-details, track-info, artist-details, genre-details use tokens
- designTokens imported and prepended to static styles in all 8 files
2026-03-04 23:30:29 -05:00
yonlu
62f41c2491
perf(08-03): optimize column rendering and apply classMap to queue-panel renderTrackItem
...
- Hoist searchCtrl.term lookup outside per-column loop in renderTrackRow
- Search highlighting already short-circuits when search term is empty
- Import classMap in queue-panel.ts
- Replace array filter/join class construction with classMap in renderTrackItem
- Eliminates per-row array allocation in queue panel render hot path
2026-03-04 23:21:56 -05:00
yonlu
ad210278fc
perf(08-03): replace class string construction with classMap directive in renderTrackRow
...
- Import classMap from lit/directives/class-map.js
- Replace array filter/join class construction with classMap for track-row
- Convert fav-icon conditional class to classMap
- Convert cell alignment classes to classMap
- Eliminates per-row array allocation and string join in render hot path
2026-03-04 23:21:04 -05:00
yonlu
d2d7d8c6ce
perf(08-02): migrate track-list and queue-panel virtualizers to repeat() directive
...
- track-list uses repeat() with FilePath key for efficient DOM reuse
- queue-panel uses repeat() with QueueTrack.id key
- Removed .renderItem property, kept .items for virtualization sizing
2026-03-04 23:15:09 -05:00
yonlu
d01f5e5d14
added "default playlist"/ favorites system
2026-02-25 22:53:57 -05:00
yonlu
5689c1be42
added genre cache
2026-02-25 10:16:43 -05:00
yonlu
8f1ee25053
track list search results now sorted by relevance and highlighted
2026-02-25 01:09:54 -05:00
yonlu
768a8cf1f2
replaced track info string map with a struct
2026-02-24 15:39:54 -05:00
yonlu
d764fefb10
fixed library scan using event listeners instead of store pattern
2026-02-24 15:04:35 -05:00
yonlu
1221a403cf
cover grid refactor
...
-split component into several files
2026-02-24 09:49:34 -05:00
yonlu
153cd0eae0
added refactoring catalog, fixed context menu freezing tracklist
2026-02-23 20:54:50 -05:00
yonlu
16060023bb
audio file info added, fixed right click selecting.
2026-02-23 19:05:57 -05:00
yonlu
3349e785d7
playing a new queue with shuffle enabled now starts at a random track.
2026-02-23 12:13:40 -05:00
yonlu
588acf09ef
added genres page
2026-02-23 11:10:21 -05:00
yonlu
a08d59a4a0
context submenus now close when not hovering over
2026-02-23 10:47:32 -05:00
yonlu
90b7661483
added track-details page
2026-02-23 10:38:27 -05:00
yonlu
d89dee44e3
single track drag-and-drop ghost
2026-02-23 09:42:11 -05:00
yonlu
30bbdd7c53
added basic sorting in track-list and cover-grid
2026-02-22 17:16:01 -05:00
yonlu
8a2ceb9107
improved column resize logic
2026-02-22 14:53:35 -05:00
yonlu
d3b04a9c29
added visual indicator of search results
2026-02-22 14:13:35 -05:00
yonlu
9cb1c6674a
changed genre scanning to parse multiple genres, updated db to accommodate.
2026-02-22 13:59:28 -05:00
yonlu
b5e70a8ce6
user can configure visible columns in track-list
2026-02-22 11:24:19 -05:00
yonlu
4d9ab5d2b8
cleaned up album selection behavior, context menu now closes when clicking outside of it
2026-02-21 11:02:54 -05:00
yonlu
402789e763
search bar
2026-02-20 17:38:29 -05:00
yonlu
88c3736110
added color/ theme settings, new config window
2026-02-20 14:43:35 -05:00
yonlu
56cf92a44c
fixed drag and drop behavior
2026-02-19 22:37:19 -05:00
yonlu
193f65bd98
basic drag-and-drop, fixed end of scan behavior
2026-02-19 15:25:49 -05:00
yonlu
d9ebd38382
configurable scan parallelism based on hdd or sdd
2026-02-19 13:59:02 -05:00
yonlu
c9e78c491c
cover-grid album dropdown behavior fixes
2026-02-18 11:34:10 -05:00
yonlu
026ab1c333
adjusted frontend event handling to optimize json payload size for different events, fixed incorrect behavior when currently playing track is removed from queue
2026-02-18 00:49:29 -05:00
yonlu
93679761af
fixed some colors and a small rendering bug in track-list
2026-02-17 11:02:26 -05:00
yonlu
f8391ddd3d
fixed broken click selection in track-list component
2026-02-16 23:02:58 -05:00
yonlu
481beca00a
frontend changes
...
-smaller thumbnails
-GPU acceleration
-lazy loading/ rendering only visible elements
-cover grid shows album tracks on click
2026-02-16 22:42:13 -05:00
yonlu
176b32fb0d
frontend fixes
...
album artist gets populated with artist as fallback (frontend also uses
this as display name fallback for albums). added scroll position
persistence when switching main views. also added frontend cache for
faster switching.
2026-02-16 14:38:09 -05:00
yonlu
322013f40f
added multi-select to cover grid, added shift select to track list
2026-02-16 04:15:01 -05:00
yonlu
6fbe16a84b
window size saved to config, smaller font in track-list
2026-02-16 03:48:53 -05:00
yonlu
2a40be5f52
multi-select on track-list
2026-02-16 01:20:36 -05:00
yonlu
4c09e7abee
playlist creation, viewing, integration with other views. still wip for full playlist functionality
2026-02-16 00:27:36 -05:00
yonlu
a806e7e91c
fixed colors
2026-02-15 22:11:59 -05:00
yonlu
3a696c57ac
queue panel shares layer with main content, no longer an overlay
2026-02-15 20:29:22 -05:00
yonlu
7579a768be
fix: virtual list and cover grid ( #63 )
...
* very basic slow buggy queue
* cover grid can now add albums to queue
* added virtualized lists to track list and cover grid components
2026-02-14 14:07:25 -06:00
logan
d78c0584e2
Squash merge audio-player-component into main
2026-02-13 20:39:23 -06:00