Commit Graph

172 Commits

Author SHA1 Message Date
jeffvli 2759cfee97 Revert "fix NativeImage state causing crashes in table"
This reverts commit 4008c8dfdf.
2026-05-22 01:56:50 -07:00
jeffvli 4008c8dfdf fix NativeImage state causing crashes in table 2026-05-19 21:03:28 -07:00
jeffvli 3d1095dbd8 adjust playlist folder design, add animations 2026-05-18 18:39:55 -07:00
jeffvli 5a3f2fe96f set low image fetchpriority by default 2026-05-18 17:52:28 -07:00
Shawn 27a62a2a02 feat(sidebar): multi-level playlist folders with tree and navigation views (#2017)
Group playlists into folders using a configurable separator (default '/').
Three view modes:
- Single: first-level grouping only (original behavior)
- Tree: full recursive nesting with connecting lines (configurable indent and line color)
- Navigation: drill-down view with stacked breadcrumb chain

Folders are sorted before playlists at every level. New settings render as
indented sub-options under the master 'Enable folders' toggle.
2026-05-13 17:07:45 -07:00
jeffvli 4226da94ec add Mantine progress component 2026-05-12 21:43:35 -07:00
jeffvli 6e634972c9 add transparent icon color variant 2026-05-12 21:43:27 -07:00
Jeff e2a1d813a9 Use proper casing for i18n locales (#1998) 2026-05-11 19:42:07 -07:00
jeffvli 6be5818493 migrate to mantine v9 2026-04-28 21:02:27 -07:00
jeffvli 6fc7b6b271 support image drop for upload 2026-04-06 11:41:33 -07:00
Kendall Garner a32fed3bcf chore: upgrade dependencies (#1906)
* upgrade dependencies

* downgrade fast-average-color
2026-04-04 17:10:57 -07:00
jeffvli ad11a9303c add playlist description to expanded header 2026-04-02 18:36:42 -07:00
jeffvli 7442f9d3ca support navidrome playlist image upload 2026-04-02 01:23:09 -07:00
jeffvli 598e9ca5c2 replace lastfm, musicbrainz, and listenbrainz logos 2026-03-18 01:02:57 -07:00
jeffvli f996b111b9 add new external brand icons 2026-03-17 21:10:31 -07:00
jeffvli db88a6bc22 support vertical play queue layout 2026-03-17 19:01:01 -07:00
riccardo d96b282cae feat: "open in spotify" button (#1839)
* feat: open in spotify

* fix: disable native spotify URI by default
2026-03-15 11:49:33 -07:00
jeffvli a28fab0ff3 optimize skeleton animation (#1832) 2026-03-14 15:31:13 -07:00
jeffvli 1526f9b8d6 re-add session cache for loaded images 2026-03-11 21:20:31 -07:00
jeffvli de29465b1f enable skeleton animations by default 2026-03-09 20:49:02 -07:00
jeffvli 31a201ca32 rewrite Image component
- remove react-image dependency
- use manual blob load
- abort load when exiting viewport
2026-03-09 20:49:02 -07:00
jeffvli 6a47e99680 add manual update notice for macOS, disable autoinstall (#1725) 2026-03-09 01:31:33 -07:00
jeffvli d3d3688d60 add Symbola font for explicit status indicator 2026-03-07 00:50:00 -08:00
Kendall Garner f99b8ea9ee feat(queue): add go to current button 2026-03-02 20:30:35 -08:00
Norman eb8913479b Add album grouping column (#1722)
* Add album grouping column

---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2026-02-26 20:34:55 -08:00
jeffvli 1163c4ad5e add JSON editor for playlist query builder (#1711) 2026-02-13 21:05:34 -08:00
Kendall Garner 409dd69fcb reduce explicit indicator spacing slightly 2026-02-11 19:34:20 -08:00
jeffvli 83f73c7fa9 remove unused enableAnimation from ImageContainer 2026-02-10 21:46:54 -08:00
York cc8cb4f4f1 Add sleep timer to player bar (#1671)
* feat: add sleep timer to player bar

- Add sleep timer button in player bar right controls
- Preset options: End of song, 5/10/15/30/45 min, 1 hr, 2 hrs
- Custom timer with HH:MM:SS input fields
- Timer only counts down while music is playing
- Timer pauses playback when it expires
- End-of-song mode pauses at the next track change
- Uses theme-aware styling (--theme-colors-surface)
- Add sleepTimer/sleepTimerOff icons (LuTimer/LuTimerOff)
- Add i18n strings for sleep timer UI

---------

Co-authored-by: York <york@BonecharMac.local>
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2026-02-10 21:19:37 -08:00
Jeff f39a7f8d6f Add album detail list view (#1681) 2026-02-09 21:56:08 -08:00
jeffvli 4c256348fc add configuration to blur explicit album/song art 2026-02-04 01:20:31 -08:00
jeffvli 6e3275c05c add explicit / clean indicators for album and song titles (#1634) 2026-02-04 00:35:35 -08:00
jeffvli c4fc8a8aef fix overlayscrollbars init on loading state 2026-02-02 20:53:11 -08:00
jeffvli 7615c0d2ba track image viewport state in sessionStorage 2026-02-01 18:55:08 -08:00
jeffvli 37e41c9c8e re-add background to modal header 2026-01-30 21:10:59 -08:00
jeffvli 1a5e513526 add list filter collections 2026-01-30 20:03:27 -08:00
jeffvli bdd5c78d39 add custom skeleton component, remove dependency 2026-01-30 17:50:34 -08:00
jeffvli 7613bc32c2 decrease image debounce duration 2026-01-29 22:28:01 -08:00
jeffvli 74c9d0ca6f remove eager loading prop from Image 2026-01-29 21:32:10 -08:00
jeffvli 1a39182d80 fix spoiler line breaks (#1622) 2026-01-29 20:43:57 -08:00
jeffvli a496c04701 persist image render after entering viewport 2026-01-29 19:12:07 -08:00
jeffvli bd34a729b3 set debounce / viewport for images used in the app 2026-01-28 19:49:37 -08:00
jeffvli 23990b581b add enableDebounce prop to Image to conditionally debounce image loading 2026-01-24 18:08:44 -08:00
jeffvli ee145d6f65 add enableViewport prop to Image to conditionally lazy load 2026-01-24 17:27:32 -08:00
jeffvli 8b0b53029c fix missing autoscroll cleanup on ScrollArea 2026-01-22 00:33:51 -08:00
jeffvli 5c2c18268b fix type assertions and add mantine type extension 2026-01-18 17:30:33 -08:00
jeffvli 4d0b0d0c8d add compact sizing variants to ActionIcon 2026-01-18 17:24:52 -08:00
jeffvli 0e388dabf5 add fullscreen visualizer (#1546) 2026-01-18 02:17:55 -08:00
jeffvli 27a5153b8a add click handler onto the accessible deselect icon on the multiselect 2026-01-18 00:50:03 -08:00
jeffvli bda82a8198 add gap between input and items in VirtualMultiSelect 2026-01-17 21:38:12 -08:00