Commit Graph

482 Commits

Author SHA1 Message Date
jeffvli f09a8e3306 improve overflow for album artist column 2025-11-29 19:30:49 -08:00
jeffvli d9e8625b15 remove item callbacks from list - move to item component 2025-11-29 19:30:49 -08:00
jeffvli 545ea25e43 implement table list callbacks 2025-11-29 19:30:49 -08:00
jeffvli 42a0530777 remove user select from genre / album artists columns 2025-11-29 19:30:49 -08:00
jeffvli 3ce6a6fe95 add table row hover effect 2025-11-29 19:30:49 -08:00
jeffvli 9d1b2a7c72 add table row separator support 2025-11-29 19:30:49 -08:00
jeffvli 06a3686739 add links to genre / album artists columns 2025-11-29 19:30:49 -08:00
jeffvli 15c27c164f handle table column order based on pinned column config 2025-11-29 19:30:49 -08:00
jeffvli ae8ca54a07 add initial table columns 2025-11-29 19:30:49 -08:00
jeffvli c27c05ac5d use derived column props, add table header styles 2025-11-29 19:30:49 -08:00
jeffvli 3e0e3f9984 support both left and right column pinning 2025-11-29 19:30:49 -08:00
jeffvli 9d15e8d0a4 move list pagination padding to separate container 2025-11-29 19:30:49 -08:00
jeffvli 6ae103850b progress on table columns 2025-11-29 19:30:49 -08:00
jeffvli f1f3223922 more table list progress
- scroll shadow
- header shadow
- remove sticky row count - only allow sticky header
- support table expansion
2025-11-29 19:30:49 -08:00
jeffvli 8e392a9bff fix queryKey on infinite loader 2025-11-29 19:30:49 -08:00
jeffvli e89cf9dbb4 fix sticky column autoscroll 2025-11-29 19:30:49 -08:00
jeffvli f8af307159 progress 2025-11-29 19:30:49 -08:00
jeffvli 74473427df move item table list 2025-11-29 19:30:49 -08:00
jeffvli 18f448c733 first iteration of table 2025-11-29 19:30:49 -08:00
jeffvli 0a591a3f09 rename list components 2025-11-29 19:30:48 -08:00
jeffvli 8dcc28376c rename expanded container classname 2025-11-29 19:30:48 -08:00
jeffvli 3f3a02ba8c add initial item detail list design 2025-11-29 19:30:48 -08:00
jeffvli 85d8ad09c6 clean up log 2025-11-29 19:30:48 -08:00
jeffvli 3efa54b68a add additional list pagination helpers and components 2025-11-29 19:30:48 -08:00
jeffvli 90e7541bc1 rename infinite loader hook file 2025-11-29 19:30:48 -08:00
jeffvli 91deb9b7c1 add paginated list loader hook 2025-11-29 19:30:48 -08:00
jeffvli 80baa6798b finalize infinite loader hook 2025-11-29 19:30:48 -08:00
jeffvli 820d8da7d5 add initial infinite loader helpers 2025-11-29 19:30:48 -08:00
jeffvli 9db7830726 update ItemGrid to use react-window v2 2025-11-29 19:30:48 -08:00
jeffvli 5ff9efb7d6 add expanded list item component 2025-11-29 19:30:48 -08:00
jeffvli e4574b0260 add item card skeleton 2025-11-29 19:30:48 -08:00
jeffvli 126ab38475 add placeholder expanded list item 2025-11-29 19:30:48 -08:00
jeffvli 18390443ff add additional props to ItemGrid 2025-11-29 19:30:48 -08:00
jeffvli 71e280061c add serverId to list state selection 2025-11-29 19:30:48 -08:00
jeffvli 3ed6d4b2f7 add utils to handle list multiselect / expand states 2025-11-29 19:30:47 -08:00
jeffvli 7a2af3d013 plain item grid 2025-11-29 19:30:47 -08:00
jeffvli 1108cb7e9a add new card component 2025-11-29 19:30:47 -08:00
jeffvli 9fd4abec25 re-implement mpv with new player 2025-11-29 19:30:47 -08:00
jeffvli e02a518583 reorganize 2025-11-29 19:30:47 -08:00
jeffvli 79ddd122a4 fix table row styles listener 2025-11-29 19:30:46 -08:00
jeffvli b1fa7e4e09 rework player events to use properties object instead of flat value 2025-11-29 19:30:46 -08:00
jeffvli 015c3004f5 add new web player implementation 2025-11-29 19:30:46 -08:00
jeffvli 550ba4f768 temporarily remove old player implementations to prevent broken app 2025-11-29 19:30:46 -08:00
jeffvli c7a473d864 refactor api controller to internalize server fetch 2025-11-02 21:56:35 -08:00
jeffvli 8dbaec3943 fix type errors 2025-11-02 04:27:44 -08:00
jeffvli b685ec370a remove barrel files in renderer 2025-11-02 01:39:01 -07:00
jeffvli 8115963264 upgrade and refactor for react-query v5 2025-11-02 01:38:47 -07:00
Jake King a9f2b083fa Import / Export Feishin Settings (#1163)
* Create a shared DragDrop Zone

- This zone allows the dropping of files
- The zone allows validation by parent
- The zone allows customisation like icon shown

* Import Settings

- Ability to import settings from a JSON file
- Validation to ensure file compatibility
- Visualiser for viewing string differences

* i18n

- Moved all hardcoded values to be en localised

* Zod / Validation

This commit contains the code to move settings to using ZOD, the reason for this is so that we can validate the settings schema that is being imported.

This commit also adds various validation and transforms to ensure the settings being reimported match values we expect.

I also removed the original crude validation and replaced it with the new ZOD parser that will handle this for us.

Finally the "styles-settings" component will listen to any external content updates and update its value, the reasoning is the external import wouldn't update the existing value.


- Split Settings schema into two parts, schema that is validated on import and schema that is not
- Schemas are merged to make the full SettingsStateSchema

* Migrate during validation

- Migration is done as part of validation
- Updated the store version to v10 as there has been changes to the settings
- Migrate will now add the fields from v9 to v10


- the build was failing due to ids not being mapped to their enum values

---------

Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
2025-10-28 20:54:13 -07:00
Lyall 4dd52b0cef feat: Add explicit status for Navidrome and OpenSubsonic (#1220)
* add navidrome explicit status

* add ExplicitStatus enum and support opensubsonic

* add explicit status to cards
2025-10-26 13:48:45 +00:00
Jeff bca4a14f2e adjust web playback error handler (#1150) 2025-09-24 18:09:30 -07:00