muzical-ui 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +7 -1
- package/.next/standalone/.next/build-manifest.json +6 -6
- package/.next/standalone/.next/prerender-manifest.json +75 -3
- package/.next/standalone/.next/required-server-files.json +3 -0
- package/.next/standalone/.next/routes-manifest.json +36 -0
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +24 -18
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +24 -18
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/lastfm/track-similar/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/lastfm/track-similar/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/lastfm/track-similar/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/lastfm/track-similar/route.js +6 -0
- package/.next/standalone/.next/server/app/api/lastfm/track-similar/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/lastfm/track-similar/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/lastfm/track-similar/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/youtube/resolve/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/youtube/resolve/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/youtube/resolve/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/youtube/resolve/route.js +6 -0
- package/.next/standalone/.next/server/app/api/youtube/resolve/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/youtube/resolve/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/youtube/resolve/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/youtube/search/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/youtube/search/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/youtube/search/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/youtube/search/route.js +6 -0
- package/.next/standalone/.next/server/app/api/youtube/search/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/youtube/search/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/youtube/search/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/favicon.ico/route.js +2 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +20 -17
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +20 -17
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/musicbrainz/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/musicbrainz/page.js +4 -4
- package/.next/standalone/.next/server/app/musicbrainz/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/musicbrainz/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/musicbrainz.html +1 -1
- package/.next/standalone/.next/server/app/musicbrainz.rsc +22 -19
- package/.next/standalone/.next/server/app/musicbrainz.segments/_full.segment.rsc +22 -19
- package/.next/standalone/.next/server/app/musicbrainz.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/musicbrainz.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/musicbrainz.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/musicbrainz.segments/musicbrainz/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/musicbrainz.segments/musicbrainz.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/browse/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/settings/browse/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/settings/browse/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/settings/browse/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/settings/browse/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/settings/browse/page.js +15 -0
- package/.next/standalone/.next/server/app/settings/browse/page.js.map +5 -0
- package/.next/standalone/.next/server/app/settings/browse/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/settings/browse/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/settings/browse.html +1 -0
- package/.next/standalone/.next/server/app/settings/browse.meta +16 -0
- package/.next/standalone/.next/server/app/settings/browse.rsc +29 -0
- package/.next/standalone/.next/server/app/settings/browse.segments/_full.segment.rsc +29 -0
- package/.next/standalone/.next/server/app/settings/browse.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/settings/browse.segments/_index.segment.rsc +11 -0
- package/.next/standalone/.next/server/app/settings/browse.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/settings/browse.segments/settings/browse/__PAGE__.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/settings/browse.segments/settings/browse.segment.rsc +5 -0
- package/.next/standalone/.next/server/app/settings/browse.segments/settings.segment.rsc +5 -0
- package/.next/standalone/.next/server/app/settings/display/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/display/page.js +2 -2
- package/.next/standalone/.next/server/app/settings/display/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/display/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/display.html +1 -1
- package/.next/standalone/.next/server/app/settings/display.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/display.segments/_full.segment.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/display.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/display.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/settings/display.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/display.segments/settings/display/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/display.segments/settings/display.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/display.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/lastfm/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page.js +15 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page.js.map +5 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/settings/lastfm/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/settings/lastfm.html +1 -0
- package/.next/standalone/.next/server/app/settings/lastfm.meta +16 -0
- package/.next/standalone/.next/server/app/settings/lastfm.rsc +29 -0
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_full.segment.rsc +29 -0
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_index.segment.rsc +11 -0
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/settings/lastfm.segments/settings/lastfm/__PAGE__.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/settings/lastfm.segments/settings/lastfm.segment.rsc +5 -0
- package/.next/standalone/.next/server/app/settings/lastfm.segments/settings.segment.rsc +5 -0
- package/.next/standalone/.next/server/app/settings/library/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/library/page.js +2 -2
- package/.next/standalone/.next/server/app/settings/library/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/library/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/library.html +1 -1
- package/.next/standalone/.next/server/app/settings/library.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/library.segments/_full.segment.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/library.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/library.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/settings/library.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/library.segments/settings/library/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/library.segments/settings/library.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/library.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/playback/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/playback/page.js +2 -2
- package/.next/standalone/.next/server/app/settings/playback/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/playback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/playback.html +1 -1
- package/.next/standalone/.next/server/app/settings/playback.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/playback.segments/_full.segment.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/playback.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/playback.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/settings/playback.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/playback.segments/settings/playback/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/playback.segments/settings/playback.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/playback.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/youtube/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/youtube/page.js +2 -2
- package/.next/standalone/.next/server/app/settings/youtube/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/youtube/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/youtube.html +1 -1
- package/.next/standalone/.next/server/app/settings/youtube.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/youtube.segments/_full.segment.rsc +26 -20
- package/.next/standalone/.next/server/app/settings/youtube.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/youtube.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/settings/youtube.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/youtube.segments/settings/youtube/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/youtube.segments/settings/youtube.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/youtube.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +21 -18
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +21 -18
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +10 -7
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/youtube/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/youtube/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/youtube/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/youtube/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/youtube/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/youtube/page.js +15 -0
- package/.next/standalone/.next/server/app/youtube/page.js.map +5 -0
- package/.next/standalone/.next/server/app/youtube/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/youtube/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/youtube.html +1 -0
- package/.next/standalone/.next/server/app/youtube.meta +17 -0
- package/.next/standalone/.next/server/app/youtube.rsc +25 -0
- package/.next/standalone/.next/server/app/youtube.segments/_full.segment.rsc +25 -0
- package/.next/standalone/.next/server/app/youtube.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/youtube.segments/_index.segment.rsc +11 -0
- package/.next/standalone/.next/server/app/youtube.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/youtube.segments/youtube/__PAGE__.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/youtube.segments/youtube.segment.rsc +5 -0
- package/.next/standalone/.next/server/app-paths-manifest.json +7 -1
- package/.next/standalone/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0mm3io..js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__04rmaa_._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iga-fk._.js +13 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0syodc9._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yh0qgz._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_lastfm_track-similar_route_actions_0o0aksj.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_youtube_resolve_route_actions_00u-beh.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_youtube_search_route_actions_11oame5.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_0952jxx._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_0epj5a8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_0lxnb~i._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_0mpaeoj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_0vvxdoi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_0xiet5m._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_0xr.otg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_apev2_APEv2Parser_0baa0n9.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_id3v2_048_t.z._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_matroska_MatroskaParser_129r4d4.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0a6e_music-metadata_lib_mpeg_MpegParser_02l3ght.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0z~i_next_dist_02m-902._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0v8tsu.._.js → 0z~i_next_dist_0y7_gi1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_05w__hq.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0rtq_vg.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0zexs35.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.kc4tr._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03-3mbr._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__044c9~u._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0v30c9w._.js → [root-of-the-server]__05f62me._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hiy0el._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wgbp9t._.js → [root-of-the-server]__0jowkig._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0lkpda-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sn2..k._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_014lxrc._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_06it0sh._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0b8qx~m._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0~cb-t9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_settings_browse_page_actions_0_gn~yf.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_settings_lastfm_page_actions_002qs5v.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_youtube_page_actions_12geo5h.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/components_00y4y-o._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/components_0c.t1du._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/components_0dp4-uk._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/components_LastfmSettingsPanel_tsx_0tqjys8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/components_LibrarySettingsPanel_tsx_0krc7dk._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/components_MusicPlayer_tsx_06~82ey._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/components_SettingsOverview_tsx_0axvc~a._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/components_SettingsSwitchRow_tsx_0rn035g._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_0mppqs2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0bx6yug._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0f~0-nb._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +6 -6
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +12 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/00bzw__-m1fpe.js +1 -0
- package/.next/standalone/.next/static/chunks/00ffr5pv82u34.js +1 -0
- package/.next/standalone/.next/static/chunks/03f3hyhv4x63v.js +1 -0
- package/.next/standalone/.next/static/chunks/04-q~k1s4h2o9.js +31 -0
- package/.next/standalone/.next/static/chunks/0638t8cqzkdfe.js +1 -0
- package/.next/standalone/.next/static/chunks/073k~no118gmz.js +1 -0
- package/.next/standalone/.next/static/chunks/0c5m3gpe71ppi.js +1 -0
- package/.next/standalone/.next/static/chunks/0dusa1wc1mnfl.js +1 -0
- package/.next/standalone/.next/static/chunks/0me.0ghc7bi2f.js +1 -0
- package/.next/standalone/.next/static/chunks/0ps~ft3qx-shn.css +3 -0
- package/.next/standalone/.next/static/chunks/0ty~h16-~8eka.js +1 -0
- package/.next/standalone/.next/static/chunks/0w~k0r.qfm0zf.js +1 -0
- package/.next/standalone/.next/static/chunks/0xj5z58rgukgs.js +1 -0
- package/.next/standalone/.next/static/chunks/109xoml1ptc8~.js +1 -0
- package/.next/standalone/.next/static/chunks/14z_1xu7t6lay.js +2 -0
- package/.next/standalone/.next/static/chunks/{turbopack-0g-.7kit-b4.8.js → turbopack-0ctpbjx-g6dyl.js} +1 -1
- package/.next/standalone/package.json +9 -8
- package/.next/standalone/server.js +1 -1
- package/package.json +9 -8
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~e2g3i._.js +0 -13
- package/.next/standalone/.next/server/chunks/ssr/0z~i_next_dist_0z0kx9a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00e_fc7._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_8f2hf._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_09vx.ql._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/components_0-e3h_v._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/components_YouTubeSettingsPanel_tsx_0t6pw~9._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/lib_library_favorite-keys_ts_0mlju9x._.js +0 -3
- package/.next/standalone/.next/static/chunks/06c2c_.-4ag08.css +0 -3
- package/.next/standalone/.next/static/chunks/0_fmjohj6n9ax.js +0 -1
- package/.next/standalone/.next/static/chunks/0cx3-_9jp9j1a.js +0 -1
- package/.next/standalone/.next/static/chunks/0d05.rh-.aulc.js +0 -1
- package/.next/standalone/.next/static/chunks/0f.f4qs1oecxo.js +0 -1
- package/.next/standalone/.next/static/chunks/0gs~olgu8~txo.js +0 -1
- package/.next/standalone/.next/static/chunks/0lse6x.rhc0i5.js +0 -1
- package/.next/standalone/.next/static/chunks/0nh7t0mlv.533.js +0 -2
- package/.next/standalone/.next/static/chunks/0wvzb~7kpzo6n.js +0 -1
- package/.next/standalone/.next/static/chunks/0y-bftn0gphdn.js +0 -1
- package/.next/standalone/.next/static/chunks/10l3mqv783cbv.js +0 -1
- package/.next/standalone/.next/static/chunks/118x8mar90jp8.js +0 -1
- package/.next/standalone/.next/static/chunks/148g6~qgt.qca.js +0 -31
- /package/.next/standalone/.next/static/{eETzs0f08QWh-CTCZlnTr → 6R8dLcmFAc7AeUCNbCJAA}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{eETzs0f08QWh-CTCZlnTr → 6R8dLcmFAc7AeUCNbCJAA}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{eETzs0f08QWh-CTCZlnTr → 6R8dLcmFAc7AeUCNbCJAA}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[53688,a=>{"use strict";var b=a.i(39752);a.s(["default",0,function(a){return(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h2",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:a.title}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:a.description})]}),(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":a.checked,"aria-label":a.ariaLabel,onClick:()=>a.onChange(!a.checked),className:`relative inline-flex h-7 w-12 shrink-0 cursor-pointer rounded-full border-2 border-transparent p-0.5 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-500/30 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-zinc-900 ${a.checked?"bg-accent-500":"bg-zinc-300 dark:bg-zinc-600"}`,children:(0,b.jsx)("span",{"aria-hidden":!0,className:`block h-5 w-5 rounded-full bg-white shadow-sm transition-transform ${a.checked?"translate-x-5":"translate-x-0"}`})})]})}])},82986,a=>{"use strict";a.s(["PLAYBACK_RATES",0,[.5,.75,1,1.25,1.5,2]])},42583,a=>{"use strict";var b=a.i(39752),c=a.i(58760),d=a.i(53804),e=a.i(53688),f=a.i(82986);let g=[{value:"off",label:"Off"},{value:"all",label:"Queue"},{value:"one",label:"One"}],h="mt-2 block w-full max-w-xs rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm text-zinc-900 dark:border-zinc-600 dark:bg-zinc-900 dark:text-zinc-100";a.s(["default",0,function(){let{rememberLastQueue:a,setRememberLastQueue:i}=(0,c.useLibrary)(),{preferences:j,setRepeatMode:k,setShuffle:l,setPlaybackRate:m,setRememberVolume:n,setSeekStepSmallSec:o,setSeekStepLargeSec:p,setAutoAdvanceOnEnd:q}=(0,d.usePlaybackPreferences)();return(0,b.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-100",children:"Playback"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:"Defaults for the player and how Muzical resumes between sessions on this device."})]}),(0,b.jsx)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:(0,b.jsx)(e.default,{title:"Remember last track and queue",description:"When enabled, your queue order, current track, and playhead position are restored the next time you open Muzical (tracks must still exist in the library).",checked:a,onChange:i,ariaLabel:"Remember last track and queue"})}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Defaults"}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:"Applied when Muzical loads and when you use the player controls."}),(0,b.jsxs)("div",{className:"mt-6 flex flex-col gap-6 sm:flex-row sm:flex-wrap sm:items-end",children:[(0,b.jsxs)("label",{className:"block min-w-0 flex-1 sm:max-w-xs",children:[(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Default repeat mode"}),(0,b.jsx)("select",{value:j.repeatMode,onChange:a=>k(a.target.value),className:h,"aria-label":"Default repeat mode",children:g.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},a.value))})]}),(0,b.jsxs)("label",{className:"block min-w-0 flex-1 sm:max-w-xs",children:[(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Default playback speed"}),(0,b.jsx)("select",{value:j.playbackRate,onChange:a=>m(Number(a.target.value)),className:h,"aria-label":"Default playback speed",children:f.PLAYBACK_RATES.map(a=>(0,b.jsx)("option",{value:a,children:1===a?"1×":`${a}\xd7`},a))})]})]}),(0,b.jsx)("div",{className:"mt-6 border-t border-zinc-200 pt-6 dark:border-zinc-800",children:(0,b.jsx)(e.default,{title:"Default shuffle",description:"Start with shuffle enabled when you open Muzical.",checked:j.shuffle,onChange:l,ariaLabel:"Default shuffle"})})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Volume"}),(0,b.jsx)(e.default,{title:"Remember volume",description:"Restore the last volume level you used on this device.",checked:j.rememberVolume,onChange:n,ariaLabel:"Remember volume"})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Seek bar keyboard"}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:"Step sizes when the seek bar is focused (arrow keys and Page Up / Page Down)."}),(0,b.jsxs)("div",{className:"mt-6 flex flex-col gap-6 sm:flex-row sm:flex-wrap",children:[(0,b.jsxs)("label",{className:"block min-w-0",children:[(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Small step (seconds)"}),(0,b.jsx)("input",{type:"number",min:1,max:120,value:j.seekStepSmallSec,onChange:a=>o(Number.parseInt(a.target.value,10)||5),className:h,"aria-label":"Seek small step in seconds"})]}),(0,b.jsxs)("label",{className:"block min-w-0",children:[(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Large step (seconds)"}),(0,b.jsx)("input",{type:"number",min:1,max:600,value:j.seekStepLargeSec,onChange:a=>p(Number.parseInt(a.target.value,10)||30),className:h,"aria-label":"Seek large step in seconds"})]})]})]}),(0,b.jsx)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:(0,b.jsx)(e.default,{title:"Auto-advance on track end",description:"When enabled, playback continues to the next track (or wraps the queue when repeat all is on). When disabled, playback stops when the current track ends unless repeat one is active.",checked:j.autoAdvanceOnEnd,onChange:q,ariaLabel:"Auto-advance on track end"})})]})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0~cb-t9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[53688,a=>{"use strict";var b=a.i(39752);a.s(["default",0,function(a){return(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h2",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:a.title}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:a.description})]}),(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":a.checked,"aria-label":a.ariaLabel,onClick:()=>a.onChange(!a.checked),className:`relative inline-flex h-7 w-12 shrink-0 cursor-pointer rounded-full border-2 border-transparent p-0.5 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
1
|
+
module.exports=[53688,a=>{"use strict";var b=a.i(39752);a.s(["default",0,function(a){return(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h2",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:a.title}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:a.description})]}),(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":a.checked,"aria-label":a.ariaLabel,onClick:()=>a.onChange(!a.checked),className:`relative inline-flex h-7 w-12 shrink-0 cursor-pointer rounded-full border-2 border-transparent p-0.5 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-500/30 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-zinc-900 ${a.checked?"bg-accent-500":"bg-zinc-300 dark:bg-zinc-600"}`,children:(0,b.jsx)("span",{"aria-hidden":!0,className:`block h-5 w-5 rounded-full bg-white shadow-sm transition-transform ${a.checked?"translate-x-5":"translate-x-0"}`})})]})}])},5087,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(35708),e=a.i(90084),f=a.i(71075);function g(){let{accentId:a,customHex:g,setAccentId:h,setCustomAccentHex:i}=(0,d.useAccent)(),[j,k]=(0,c.useState)(null),l=j??g,m="custom"===a,n=(0,c.useCallback)(()=>{let a=(0,f.default)(l);k(null),a&&i(a)},[l,i]),o=(0,c.useCallback)(a=>{k(null),i(a)},[i]),p=(0,c.useCallback)(()=>{h("custom"),i(g)},[g,h,i]);return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Accent color"}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:"Buttons, links, progress bars, and highlights use this color across the player."})]}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-2 sm:grid-cols-5",role:"radiogroup","aria-label":"Accent color",children:[e.ACCENT_PRESETS.map(c=>{let d=a===c.id;return(0,b.jsxs)("button",{type:"button",role:"radio","aria-checked":d,title:c.label,onClick:()=>h(c.id),className:["flex cursor-pointer flex-col items-center gap-1.5 rounded-xl border px-2 py-2.5 text-center transition",d?"border-accent-500 bg-accent-50/80 ring-2 ring-accent-500/30 dark:bg-accent-950/30":"border-zinc-200 bg-white hover:border-zinc-300 dark:border-zinc-700 dark:bg-zinc-900/40 dark:hover:border-zinc-600"].join(" "),children:[(0,b.jsx)("span",{className:"h-7 w-7 shrink-0 rounded-full ring-1 ring-zinc-900/10 dark:ring-white/10",style:{backgroundColor:c.swatch},"aria-hidden":!0}),(0,b.jsx)("span",{className:"text-[10px] font-medium leading-tight text-zinc-600 dark:text-zinc-400",children:c.label})]},c.id)}),(0,b.jsxs)("button",{type:"button",role:"radio","aria-checked":m,title:"Custom color",onClick:p,className:["flex cursor-pointer flex-col items-center gap-1.5 rounded-xl border px-2 py-2.5 text-center transition",m?"border-accent-500 bg-accent-50/80 ring-2 ring-accent-500/30 dark:bg-accent-950/30":"border-zinc-200 bg-white hover:border-zinc-300 dark:border-zinc-700 dark:bg-zinc-900/40 dark:hover:border-zinc-600"].join(" "),children:[(0,b.jsx)("span",{className:"h-7 w-7 shrink-0 rounded-full ring-1 ring-zinc-900/10 dark:ring-white/10",style:{background:m?g:"conic-gradient(#ef4444, #f97316, #eab308, #22c55e, #3b82f6, #8b5cf6, #ef4444)"},"aria-hidden":!0}),(0,b.jsx)("span",{className:"text-[10px] font-medium leading-tight text-zinc-600 dark:text-zinc-400",children:"Custom"})]})]}),m?(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 rounded-xl border border-zinc-200 bg-zinc-50/80 p-3 dark:border-zinc-700 dark:bg-zinc-900/50",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm text-zinc-600 dark:text-zinc-400",children:[(0,b.jsx)("span",{className:"sr-only",children:"Pick custom accent color"}),(0,b.jsx)("input",{type:"color",value:g,onChange:a=>o(a.target.value),className:"h-10 w-10 cursor-pointer rounded-lg border border-zinc-200 bg-white p-0.5 dark:border-zinc-600 dark:bg-zinc-950","aria-label":"Custom accent color"})]}),(0,b.jsxs)("label",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,b.jsx)("span",{className:"shrink-0 text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Hex"}),(0,b.jsx)("input",{type:"text",value:l,onChange:a=>k(a.target.value),onBlur:n,onKeyDown:a=>{"Enter"===a.key&&a.currentTarget.blur()},spellCheck:!1,autoComplete:"off",placeholder:"#f59e0b",className:"min-w-0 flex-1 rounded-lg border border-zinc-200 bg-white px-3 py-2 font-mono text-sm text-zinc-900 outline-none ring-accent-500/0 transition focus:border-accent-400 focus:ring-2 focus:ring-accent-500/20 dark:border-zinc-700 dark:bg-zinc-950 dark:text-zinc-100","aria-label":"Custom accent hex color"})]})]}):null]})}var h=a.i(58760),i=a.i(53688);a.s(["default",0,function(){let{compactLists:a,setCompactLists:c}=(0,h.useLibrary)();return(0,b.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-100",children:"Display"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:"Adjust how lists and panels look in the player."})]}),(0,b.jsx)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:(0,b.jsx)(g,{})}),(0,b.jsx)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:(0,b.jsx)(i.default,{title:"Compact UI",description:"Tighter spacing in the player, queue, and library browser.",checked:a,onChange:c,ariaLabel:"Enable compact UI"})})]})}],5087)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=components_00y4y-o._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[42180,a=>{"use strict";let b=[{href:"/settings",label:"Overview",description:"Summary and links to all settings sections."},{href:"/settings/library",label:"Library",description:"Scan folders, rescan on startup, and
|
|
1
|
+
module.exports=[42180,a=>{"use strict";let b=[{href:"/settings",label:"Overview",description:"Summary and links to all settings sections."},{href:"/settings/library",label:"Library",description:"Scan folders, favorites export, rescan on startup, and configured directories."},{href:"/settings/youtube",label:"YouTube",description:"Data API key, queue video prefetch, and related YouTube options."},{href:"/settings/lastfm",label:"Last.fm",description:"API key for related song discovery via track.getSimilar."},{href:"/settings/playback",label:"Playback",description:"Queue restore, repeat, shuffle, speed, volume, seek steps, and auto-advance."},{href:"/settings/browse",label:"Browse",description:"Default Library, MusicBrainz, or YouTube tab when Muzical opens."},{href:"/settings/display",label:"Display",description:"List density and other visual preferences in the player."}],c=b.filter(a=>"/settings"!==a.href);a.s(["SETTINGS_NAV_ITEMS",0,b,"SETTINGS_SECTION_ITEMS",0,c])},77737,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508),e=a.i(42180);function f(){let a=(0,d.usePathname)();return(0,b.jsx)("nav",{"aria-label":"Settings sections",children:(0,b.jsx)("ul",{className:"overflow-hidden rounded-lg border border-zinc-200 bg-white dark:border-zinc-800 dark:bg-zinc-900/40 sm:border-0 sm:bg-transparent sm:dark:bg-transparent",children:e.SETTINGS_NAV_ITEMS.map((d,e)=>{let f="/settings"===d.href?"/settings"===a:a===d.href||a.startsWith(`${d.href}/`);return(0,b.jsx)("li",{className:e>0?"border-t border-zinc-200 dark:border-zinc-800 sm:border-t-0":void 0,children:(0,b.jsx)(c.default,{href:d.href,"aria-current":f?"page":void 0,className:`block px-2.5 py-1.5 text-xs font-medium transition sm:rounded-lg sm:px-2 sm:py-1.5 ${f?"bg-accent-500/15 text-accent-900 dark:bg-accent-500/20 dark:text-accent-200":"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800/80 dark:hover:text-zinc-100"}`,children:d.label})},d.href)})})})}var g=a.i(96391);a.s(["default",0,function(a){return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-1 flex-col overflow-hidden bg-zinc-100 text-zinc-900 dark:bg-zinc-950 dark:text-zinc-100",children:[(0,b.jsxs)("header",{className:"flex shrink-0 items-center justify-between gap-4 border-b border-zinc-200 bg-white/90 px-6 py-4 backdrop-blur-sm dark:border-zinc-800/80 dark:bg-zinc-950/90",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,b.jsx)(c.default,{href:"/",className:"shrink-0 rounded-lg border border-zinc-200 bg-zinc-50 px-3 py-1.5 text-xs font-medium text-zinc-700 transition hover:bg-zinc-100 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-300 dark:hover:bg-zinc-800",children:"← Player"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"truncate text-sm font-semibold tracking-tight",children:"Settings"}),(0,b.jsx)("p",{className:"truncate text-xs text-zinc-500",children:"Configure Muzical on this device."})]})]}),(0,b.jsx)(g.default,{})]}),(0,b.jsxs)("div",{className:"flex min-h-0 w-full flex-1 overflow-hidden",children:[(0,b.jsx)("aside",{className:"hidden w-36 shrink-0 border-r border-zinc-200 px-3 py-6 dark:border-zinc-800/80 sm:block",children:(0,b.jsx)(f,{})}),(0,b.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-y-auto overscroll-contain",children:[(0,b.jsx)("div",{className:"mb-4 px-4 pt-4 sm:hidden",children:(0,b.jsx)(f,{})}),(0,b.jsx)("div",{className:"px-4 pb-6 pt-1 sm:px-6 sm:pb-8 sm:pt-6",children:a.children})]})]})]})}],77737)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=components_0c.t1du._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[53688,a=>{"use strict";var b=a.i(39752);a.s(["default",0,function(a){return(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h2",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:a.title}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:a.description})]}),(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":a.checked,"aria-label":a.ariaLabel,onClick:()=>a.onChange(!a.checked),className:`relative inline-flex h-7 w-12 shrink-0 cursor-pointer rounded-full border-2 border-transparent p-0.5 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-500/30 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-zinc-900 ${a.checked?"bg-accent-500":"bg-zinc-300 dark:bg-zinc-600"}`,children:(0,b.jsx)("span",{"aria-hidden":!0,className:`block h-5 w-5 rounded-full bg-white shadow-sm transition-transform ${a.checked?"translate-x-5":"translate-x-0"}`})})]})}])},33315,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(53688),e=a.i(56663),f=a.i(37978),g=a.i(41090),h=a.i(33118);a.s(["default",0,function(){let{preferences:a,setPrefetchQueueVideoIds:i,setPrefetchQueueMaxTracks:j}=(0,e.useYoutubePreferences)(),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(!1);(0,c.useEffect)(()=>{l((0,f.default)())},[]);let o=(0,c.useCallback)(()=>{(0,g.setYoutubeDataApiBlockedInternal)(!1),n(!0),window.setTimeout(()=>n(!1),2e3)},[k]);return(0,b.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-100",children:"YouTube"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:"MusicBrainz tracks stream via YouTube. An optional Data API key resolves videos reliably; without a key or if quota is exceeded, Muzical falls back to in-player search."})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"API key"}),(0,b.jsxs)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:["Create a key in the"," ",(0,b.jsx)("a",{href:"https://console.cloud.google.com/apis/credentials",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-accent-700 underline decoration-accent-500/40 underline-offset-2 hover:text-accent-600 dark:text-accent-400",children:"Google Cloud Console"})," ","with the YouTube Data API v3 enabled. The key is stored only in this browser."]}),(0,b.jsxs)("label",{className:"mt-4 block",children:[(0,b.jsx)("span",{className:"sr-only",children:"YouTube Data API key"}),(0,b.jsx)("input",{type:"password",autoComplete:"off",spellCheck:!1,value:k,onChange:a=>l(a.target.value),placeholder:"AIza…",className:"w-full rounded-xl border border-zinc-200 bg-zinc-50 px-4 py-2.5 font-mono text-sm text-zinc-900 outline-none ring-accent-500/30 placeholder:text-zinc-400 focus:border-accent-500/50 focus:ring-2 dark:border-zinc-700 dark:bg-zinc-950 dark:text-zinc-100"})]}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,b.jsx)("button",{type:"button",onClick:o,className:"rounded-full bg-accent-500 px-4 py-2 text-sm font-medium text-zinc-950 shadow-sm transition hover:bg-accent-400",children:"Save key"}),m?(0,b.jsx)("span",{className:"text-sm text-emerald-700 dark:text-emerald-400",role:"status",children:"Saved"}):null]})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Queue prefetch"}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:"Resolve YouTube video ids in the background for upcoming queue tracks that need a stream."}),(0,b.jsx)("div",{className:"mt-6 border-t border-zinc-200 pt-6 dark:border-zinc-800",children:(0,b.jsx)(d.default,{title:"Prefetch video IDs for queue",description:"When enabled, Muzical looks up YouTube videos for queue tracks missing a video id (uses your API key when set).",checked:a.prefetchQueueVideoIds,onChange:i,ariaLabel:"Prefetch YouTube video IDs for queue"})}),(0,b.jsxs)("label",{className:`mt-6 block border-t border-zinc-200 pt-6 dark:border-zinc-800 ${a.prefetchQueueVideoIds?"":"opacity-50"}`,children:[(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Prefetch limit"}),(0,b.jsxs)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:["Maximum queue tracks to prefetch per queue change (",h.PREFETCH_QUEUE_MAX_TRACKS_MIN,"–",h.PREFETCH_QUEUE_MAX_TRACKS_MAX,")."]}),(0,b.jsx)("input",{type:"number",min:h.PREFETCH_QUEUE_MAX_TRACKS_MIN,max:h.PREFETCH_QUEUE_MAX_TRACKS_MAX,disabled:!a.prefetchQueueVideoIds,value:a.prefetchQueueMaxTracks,onChange:a=>j(Number.parseInt(a.target.value,10)),className:"mt-2 block w-full max-w-[8rem] rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm text-zinc-900 dark:border-zinc-600 dark:bg-zinc-900 dark:text-zinc-100","aria-label":"Prefetch limit for queue tracks"})]})]})]})}],33315)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=components_0dp4-uk._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/components_LastfmSettingsPanel_tsx_0tqjys8._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[98555,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(85543);a.s(["default",0,function(){let[a,e]=(0,c.useState)(""),[f,g]=(0,c.useState)(!1);(0,c.useEffect)(()=>{e((0,d.default)())},[]);let h=(0,c.useCallback)(()=>{g(!0),window.setTimeout(()=>g(!1),2e3)},[a]);return(0,b.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-100",children:"Last.fm"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:"Related songs use Last.fm listening data. An API key is required; it is stored only in this browser."})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"API key"}),(0,b.jsxs)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:["Create an API account at"," ",(0,b.jsx)("a",{href:"https://www.last.fm/api/account/create",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-accent-700 underline decoration-accent-500/40 underline-offset-2 hover:text-accent-600 dark:text-accent-400",children:"last.fm/api"}),". Use the API key (not the shared secret) for read-only methods like ",(0,b.jsx)("code",{className:"text-xs",children:"track.getSimilar"}),"."]}),(0,b.jsxs)("label",{className:"mt-4 block",children:[(0,b.jsx)("span",{className:"sr-only",children:"Last.fm API key"}),(0,b.jsx)("input",{type:"password",autoComplete:"off",spellCheck:!1,value:a,onChange:a=>e(a.target.value),placeholder:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",className:"w-full rounded-xl border border-zinc-200 bg-zinc-50 px-4 py-2.5 font-mono text-sm text-zinc-900 outline-none ring-accent-500/30 placeholder:text-zinc-400 focus:border-accent-500/50 focus:ring-2 dark:border-zinc-700 dark:bg-zinc-950 dark:text-zinc-100"})]}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,b.jsx)("button",{type:"button",onClick:h,className:"rounded-full bg-accent-500 px-4 py-2 text-sm font-medium text-zinc-950 shadow-sm transition hover:bg-accent-400",children:"Save key"}),f?(0,b.jsx)("span",{className:"text-sm text-zinc-500",children:"Saved"}):null]})]})]})}],98555)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=components_LastfmSettingsPanel_tsx_0tqjys8._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/components_LibrarySettingsPanel_tsx_0krc7dk._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[73971,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(58760),e=a.i(41994),f=a.i(17479),g=a.i(53688);let h=[{value:0,label:"Unlimited"},{value:1,label:"1 level"},{value:2,label:"2 levels"},{value:3,label:"3 levels"},{value:5,label:"5 levels"},{value:10,label:"10 levels"}];function i(){let{scanPreferences:a,setScanPreferences:c,logLibraryScanTiming:i,setLogLibraryScanTiming:j,isScanning:k}=(0,d.useLibrary)(),l=b=>{c({...a,...b})};return(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Scan options"}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:"Applied on the next rescan. Symlink handling depends on your browser; when enabled, Muzical skips directory cycles it can detect."}),(0,b.jsx)("div",{className:"mt-6 flex flex-col gap-6 sm:flex-row sm:items-end sm:justify-between",children:(0,b.jsxs)("label",{className:"block min-w-0 flex-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Scan depth"}),(0,b.jsx)("select",{value:a.maxScanDepth,disabled:k,onChange:a=>l({maxScanDepth:Number.parseInt(a.target.value,10)}),className:"mt-2 block w-full max-w-xs rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm text-zinc-900 disabled:opacity-50 dark:border-zinc-600 dark:bg-zinc-900 dark:text-zinc-100","aria-label":"Maximum subdirectory scan depth",children:h.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},a.value))})]})}),(0,b.jsx)("div",{className:"mt-6 border-t border-zinc-200 pt-6 dark:border-zinc-800",children:(0,b.jsx)(g.default,{title:"Log scan timing",description:"Write per-file scan duration to the browser console (cached vs parsed). Useful for tuning scan performance.",checked:i,onChange:j,ariaLabel:"Log per-song library scan timing to the console"})}),(0,b.jsx)("div",{className:"mt-6 border-t border-zinc-200 pt-6 dark:border-zinc-800",children:(0,b.jsx)(g.default,{title:"Follow symlinks",description:"Follow directory links when the browser exposes them as folders. May increase scan time.",checked:a.followSymlinks,onChange:a=>l({followSymlinks:a}),ariaLabel:"Follow directory symlinks when scanning"})}),(0,b.jsxs)("div",{className:"mt-6 border-t border-zinc-200 pt-6 dark:border-zinc-800",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"File types"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:"Only checked extensions are included in library scans."})]}),(0,b.jsx)("button",{type:"button",disabled:k,onClick:()=>{l({enabledExtensions:(0,f.default)().enabledExtensions})},className:"shrink-0 text-xs font-medium text-accent-700 hover:text-accent-600 disabled:opacity-50 dark:text-accent-400 dark:hover:text-accent-300",children:"Enable all"})]}),(0,b.jsx)("ul",{className:"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4",role:"group","aria-label":"Audio file extensions to scan",children:e.LIBRARY_AUDIO_EXTENSIONS.map(c=>{let d=a.enabledExtensions.includes(c);return(0,b.jsx)("li",{children:(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg border border-zinc-200 px-3 py-2 text-sm transition hover:bg-zinc-50 dark:border-zinc-700 dark:hover:bg-zinc-800/60",children:[(0,b.jsx)("input",{type:"checkbox",checked:d,disabled:k,onChange:()=>(b=>{let c=new Set(a.enabledExtensions);if(c.has(b)){if(c.size<=1)return;c.delete(b)}else c.add(b);l({enabledExtensions:[...c].sort()})})(c),className:"h-4 w-4 rounded border-zinc-300 text-accent-500 focus:ring-2 focus:ring-accent-500/20 dark:border-zinc-700 dark:bg-zinc-900"}),(0,b.jsx)("span",{className:"font-mono text-xs text-zinc-800 dark:text-zinc-200",children:c})]})},c)})})]})]})}var j=a.i(27120),k=a.i(80977);function l(a){if(a<=0)return"—";let b=Math.floor(a/3600);if(b>0){let c=Math.floor(a%3600/60);return`${b}h ${c}m`}return(0,k.formatDuration)(a)}function m(a){let d=(0,c.useMemo)(()=>(function(a,b){let c=new Set,d=new Set,e=0;for(let b of a)c.add((0,j.artistDisplayName)(b.artist)),d.add((0,j.albumCompositeKey)(b.album,b.artist)),b.durationSec>0&&(e+=b.durationSec);return{trackCount:a.length,folderCount:b,artistCount:c.size,albumCount:d.size,totalDurationSec:e}})(a.libraryTracks,a.roots.length),[a.libraryTracks,a.roots.length]),e=[{label:"Tracks",value:d.trackCount.toLocaleString()},{label:"Folders",value:d.folderCount.toLocaleString()},{label:"Artists",value:d.artistCount.toLocaleString()},{label:"Albums",value:d.albumCount.toLocaleString()},{label:"Playtime",value:l(d.totalDurationSec)}];return(0,b.jsx)("section",{"aria-label":"Library statistics",className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5",children:e.map(a=>(0,b.jsxs)("div",{className:"rounded-2xl border border-zinc-200 bg-white px-4 py-3 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("p",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:a.label}),(0,b.jsx)("p",{className:"mt-1 text-lg font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-100",children:a.value})]},a.label))})}var n=a.i(4355);function o(a){let d=(0,c.useMemo)(()=>(function(a){let b=new Set,c=new Set,d=0,e=0,f=0;for(let g of a)(0,n.default)(g)&&(f+=1,b.add((0,j.artistDisplayName)(g.artist)),c.add((0,j.albumCompositeKey)(g.album,g.artist)),g.durationSec>0&&(d+=g.durationSec),g.youtubeVideoId?.trim()&&(e+=1));return{trackCount:f,artistCount:b.size,albumCount:c.size,totalDurationSec:d,youtubeLinkedCount:e}})(a.libraryTracks),[a.libraryTracks]),e=[{label:"Saved tracks",value:d.trackCount.toLocaleString()},{label:"Artists",value:d.artistCount.toLocaleString()},{label:"Albums",value:d.albumCount.toLocaleString()},{label:"YouTube linked",value:d.youtubeLinkedCount.toLocaleString()},{label:"Playtime",value:l(d.totalDurationSec)}];return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"MusicBrainz"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:"Tracks saved from MusicBrainz search. These stream via YouTube and persist across visits."})]}),(0,b.jsx)("section",{"aria-label":"MusicBrainz library statistics",className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5",children:e.map(a=>(0,b.jsxs)("div",{className:"rounded-2xl border border-zinc-200 bg-white px-4 py-3 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("p",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:a.label}),(0,b.jsx)("p",{className:"mt-1 text-lg font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-100",children:a.value})]},a.label))}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:(0,b.jsx)("button",{type:"button",disabled:0===d.trackCount||a.disabled,onClick:()=>{if(0===d.trackCount)return;let b=d.trackCount.toLocaleString();window.confirm(`Remove all ${b} saved MusicBrainz track${1===d.trackCount?"":"s"} from your library? This cannot be undone.`)&&a.onRemoveAll()},className:"rounded-full border border-red-200 bg-white px-4 py-2 text-sm font-medium text-red-800 transition hover:bg-red-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-red-900/50 dark:bg-zinc-900 dark:text-red-300 dark:hover:bg-red-950/40",children:"Remove all MusicBrainz tracks"})})]})}function p(a){return Array.isArray(a)?[...new Set(a.filter(a=>"string"==typeof a&&""!==a.trim()))].sort((a,b)=>a.localeCompare(b,void 0,{sensitivity:"base"})):[]}a.s(["default",0,function(){let{roots:a,libraryTracks:e,isScanning:f,scanError:h,hasDirectoryPicker:j,addLibraryFolder:k,removeLibraryFolder:l,rescanAll:n,autoRescanOnStartup:q,setAutoRescanOnStartup:r,removeAllMusicBrainzFromLibrary:s,favoriteSongIds:t,favoriteArtistNames:u,favoriteAlbumKeys:v,importFavorites:w}=(0,d.useLibrary)(),x=(0,c.useRef)(null),[y,z]=(0,c.useState)(null),A=(0,c.useMemo)(()=>t.length+u.length+v.length,[t,u,v]),B=(0,c.useCallback)(()=>{},[t,u,v]),C=(0,c.useCallback)(()=>{z(null),x.current?.click()},[]),D=(0,c.useCallback)(a=>{let b=a.target.files?.[0];a.target.value="",b&&b.text().then(a=>{let b=function(a){if(!a||"object"!=typeof a)return null;let b=p(a.songIds),c=p(a.artistNames),d=p(a.albumKeys);return 0===b.length&&0===c.length&&0===d.length?null:{version:1,exportedAt:"string"==typeof a.exportedAt&&""!==a.exportedAt.trim()?a.exportedAt:new Date().toISOString(),songIds:b,artistNames:c,albumKeys:d}}(JSON.parse(a));b?(w(b),z(null)):z("Invalid favorites file. Choose a JSON export from Muzical.")}).catch(()=>{z("Could not read the favorites file.")})},[w]);return(0,b.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-100",children:"Library"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-600 dark:text-zinc-400",children:"Folders are read in the browser via the File System Access API."})]}),(0,b.jsx)(m,{roots:a,libraryTracks:e}),(0,b.jsx)(o,{libraryTracks:e,onRemoveAll:s,disabled:f}),h?(0,b.jsx)("p",{className:"rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-200",role:"alert",children:h}):null,(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Scan directories"}),(0,b.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:"Pick one or more folders that contain your audio files. Subfolders are scanned. Handles are stored in IndexedDB on this device so you do not have to pick them again on return visits."}),j?null:(0,b.jsx)("p",{className:"mt-3 text-sm text-accent-800 dark:text-accent-300",children:"Folder selection is not available in this environment. Use Chrome or Edge on desktop."}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:()=>k(),disabled:!j||f,className:"rounded-full bg-accent-500 px-4 py-2 text-sm font-medium text-zinc-950 shadow-sm transition hover:bg-accent-400 disabled:cursor-not-allowed disabled:opacity-50",children:"Add folder…"}),(0,b.jsx)("button",{type:"button",onClick:()=>void n(),disabled:0===a.length||f,className:"rounded-full border border-zinc-300 bg-white px-4 py-2 text-sm font-medium text-zinc-800 transition hover:bg-zinc-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700",children:f?"Scanning…":"Rescan all"})]})]}),(0,b.jsx)(i,{}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Configured folders"}),0===a.length?(0,b.jsx)("p",{className:"mt-4 text-sm text-zinc-600 dark:text-zinc-400",children:"No folders yet. Add a library folder above."}):(0,b.jsx)("ul",{className:"mt-4 divide-y divide-zinc-200 dark:divide-zinc-800",role:"list",children:a.map(a=>(0,b.jsxs)("li",{className:"flex flex-wrap items-center justify-between gap-3 py-4 first:pt-0",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"truncate font-medium text-zinc-900 dark:text-zinc-100",children:a.name}),(0,b.jsxs)("p",{className:"truncate text-xs text-zinc-500",children:["Added ",function(a){try{return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(a))}catch{return new Date(a).toLocaleString()}}(a.addedAt)]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>void l(a.id),disabled:f,className:"shrink-0 rounded-full border border-zinc-300 px-3 py-1.5 text-xs font-medium text-zinc-700 transition hover:bg-zinc-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-600 dark:text-zinc-300 dark:hover:bg-zinc-800",children:"Remove"})]},a.id))})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider text-zinc-500",children:"Favorites"}),(0,b.jsxs)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:["Back up or restore starred songs, artists, and albums as JSON (stored in IndexedDB on this device,"," ",1===A?"1 entry":`${A} entries`,"). Import replaces your current favorites."]}),(0,b.jsx)("input",{ref:x,type:"file",accept:"application/json,.json",className:"sr-only","aria-hidden":!0,onChange:D}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:B,disabled:0===A,className:"rounded-full border border-zinc-300 bg-white px-4 py-2 text-sm font-medium text-zinc-800 transition hover:bg-zinc-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700",children:"Export favorites"}),(0,b.jsx)("button",{type:"button",onClick:C,className:"rounded-full border border-zinc-300 bg-white px-4 py-2 text-sm font-medium text-zinc-800 transition hover:bg-zinc-50 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700",children:"Import favorites"})]}),y?(0,b.jsx)("p",{className:"mt-3 text-sm text-red-700 dark:text-red-300",role:"alert",children:y}):null]}),(0,b.jsx)("section",{className:"rounded-2xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/40",children:(0,b.jsx)(g.default,{title:"Rescan on startup",description:"When enabled, Muzical rescans all configured folders each time you open the app (if the browser already has folder access). When disabled, the last saved catalog loads immediately.",checked:q,onChange:r,ariaLabel:"Rescan library on startup"})})]})}],73971)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=components_LibrarySettingsPanel_tsx_0krc7dk._.js.map
|