Commit Graph

76 Commits

Author SHA1 Message Date
Jeff 7ed847fecb Add internet radio (#1384) 2025-12-13 21:26:33 -08:00
jeffvli 389dfd08f7 render login page on SERVER_LOCK (#1172) 2025-12-09 19:58:24 -08:00
jeffvli 0a7029f7bc add support for full playlist re-order (#1327) 2025-12-06 17:41:13 -08:00
jeffvli 64a67cf169 fix server lock route to login page 2025-12-05 02:15:10 -08:00
jeffvli c738725d94 remove duplicate divider from app menu 2025-12-03 15:14:24 -08:00
jeffvli 917bf91583 add folder browsing support (#315) 2025-12-03 14:55:16 -08:00
jeffvli aff7a61bca fix list filters 2025-12-02 00:11:42 -08:00
jeffvli 8777da9491 revert settings to route instead of modal 2025-11-30 01:15:11 -08:00
jeffvli cb3c0fe0d4 add favorites list 2025-11-30 01:12:29 -08:00
jeffvli ffa9d165f2 refactor shuffle all modal for styles and loading state 2025-11-29 19:33:39 -08:00
jeffvli d3132ad570 reimplement genre detail route 2025-11-29 19:33:38 -08:00
jeffvli a32f76720a refactor app error boundaries 2025-11-29 19:33:38 -08:00
jeffvli 54a8c8c3a4 move settings page to modal instead of route 2025-11-29 19:33:37 -08:00
jeffvli 875e178c0b move player back above router 2025-11-29 19:33:37 -08:00
jeffvli ca78149ba3 move player context and audioplayers inside of router 2025-11-29 19:33:36 -08:00
jeffvli ece82d813c pass state from list navigation 2025-11-29 19:33:35 -08:00
jeffvli c763824803 add basic mobile responsive layout 2025-11-29 19:33:35 -08:00
jeffvli 70242c4044 add login page for locked server 2025-11-29 19:33:34 -08:00
jeffvli 92d4681a23 fix unauthenticated flow 2025-11-29 19:33:34 -08:00
jeffvli 1b0ea06c6b rework root error boundary 2025-11-29 19:33:32 -08:00
jeffvli 17f5c5cd99 revert to HashRouter, add nuqs hash adapter 2025-11-29 19:32:11 -08:00
jeffvli bf75dec0ce migrate to react-router v7 and BrowserRouter 2025-11-29 19:32:11 -08:00
jeffvli bc4edb9bde add nuqs adapter to app outlet 2025-11-29 19:30:50 -08:00
jeffvli 550ba4f768 temporarily remove old player implementations to prevent broken app 2025-11-29 19:30:46 -08:00
jeffvli b685ec370a remove barrel files in renderer 2025-11-02 01:39:01 -07:00
jeffvli 8b141d652c disable single attribute per line 2025-07-12 11:17:54 -07:00
Kendall Garner 63e3b97bca log -> error, remove unnecesary logs 2025-06-26 21:17:59 -07:00
Kendall Garner fb584b35a9 handle Navidrome login loop error 2025-06-26 21:14:20 -07:00
Jeff c1330d92b2 Migrate to Mantine v8 and Design Changes (#961)
* mantine v8 migration

* various design changes and improvements
2025-06-24 00:04:36 -07:00
jeffvli 930165d006 fix all imports for new structure 2025-05-26 17:20:02 -07:00
jeffvli 1cf587bc8f restructure files onto electron-vite boilerplate 2025-05-26 17:18:55 -07:00
jeffvli 4a3604b1a8 handle playback on new artist list 2025-05-06 14:43:42 -07:00
Kendall Garner e84a4b20bc add artist list 2025-04-23 23:27:06 -07:00
Kendall Garner 8cddbef701 Subsonic 2, general rework (#758) 2024-09-25 21:23:08 -07:00
Kendall Garner 9cd8807a75 [bugfix]: Handle top-level songs for Jellyfin (#553)
* [bugfix]: Handle top-level songs for Jellyfin

If a song is at the top level of a music folder, Jellyfin will not
group that into an album (See https://jellyfin.org/docs/general/server/media/music/).

This PR introduces a few changes:
- Gives tracks with no album ID a special route (`/dummy/${id}`)
- Gives a new route for dummy albums, warning about the error. This is designed to look _like_ the album detail page

* `are are` > `are`

* revert name changes
2024-04-30 03:18:43 +00:00
Benjamin cb2597d2c8 Implement Navidrome sharing (#575)
* add share item feature

* take care of (mostly) everything

* bugfixes

* allow clicking on notification to open url

* readd the missing modal after router migration

* remove unnecessary extension

---------

Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
2024-04-22 03:03:22 +00:00
Kendall Garner d03a3a11eb [enhancement]: Support react-router links in Modal (#586) 2024-04-17 14:29:46 +00:00
jeffvli d04d786951 Center auth loading spinner 2024-03-05 15:52:14 -08:00
Kendall Garner b2fce071a9 [bugfix]: Check for Navidrome authentication on startup
Resolves #403.
This PR introduces a startup check for Navidrome that tries a simple API request (/songs) before loading homepage.
If the check fails, Navidrome API will fallback to trying saved password (if available).

Notes:
- It might also be worthwhile to do a periodic poll?
2024-02-16 13:37:49 -08:00
jeffvli 9b0c9ba3ac Fallback to web player if mpv fails to run 2024-02-13 02:05:59 -08:00
jeffvli ff4ce89bc9 Remove "disable mpv" setting and desktop requirement 2024-02-12 14:14:08 -08:00
jeffvli b69290f9f2 Add listeners and preload for log/toast from main 2024-02-12 14:02:59 -08:00
Kendall Garner f82da2e76b [enhancement]: Support disabling MPV entirely
Supports running Feishin solely using web audio (useful for clients with problems with MPV).
Also moves save/restore queue to utils, as MPV object is now optional
2024-02-11 13:56:29 -08:00
jeffvli 3bbe696f4c Update react-router and add useTransition support 2023-09-25 16:13:27 -07:00
jeffvli 5896d886d7 Add genre list route and implementation 2023-08-03 16:58:35 -07:00
jeffvli 8029712b55 Add initial genre list support 2023-07-31 17:17:26 -07:00
Kendall Garner c9dbf9b5be Add remote control (#164)
* draft add remotes

* add favorite, rating

* add basic auth
2023-07-23 05:23:18 -07:00
jeffvli 30e52ebb54 Lint all files 2023-07-01 19:14:12 -07:00
jeffvli fa0a21a021 Optimize app outlet 2023-05-31 00:27:16 -07:00
jeffvli fff1315fa5 Add search route 2023-05-20 02:08:37 -07:00