diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 2b54924..3d8cd30 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,8 +1,38 @@ + +
cat

Welcome to Shark!

Your music library manager and player.

+ {#if !$settings.musicFolder} +
+
+
Ahoy!
+
+
+

It seems you're new here! To get started, set up your music downloads folder.

+ +
+
+ {:else if !$settings.playlistsFolder} +
+
+
Welcome Back!
+
+
+

Head to settings to set up your playlists folder! Life is more fun with playlists.

+ +
+
+ {/if} +
@@ -17,4 +47,20 @@ .quick-stats { margin-top: 20px; } + + .welcome-prompt { + margin-top: 20px; + max-width: 500px; + } + + .welcome-prompt p { + line-height: 1.5; + letter-spacing: 0.01em; + word-spacing: normal; + } + + .button-row { + margin-top: 12px; + text-align: center; + } diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte index e683b9a..0a8122d 100644 --- a/src/routes/settings/+page.svelte +++ b/src/routes/settings/+page.svelte @@ -16,6 +16,7 @@ let currentDeezerConcurrency = $state(1); let currentDeezerFormat = $state<'FLAC' | 'MP3_320' | 'MP3_128'>('FLAC'); let currentDeezerOverwrite = $state(false); + let activeTab = $state<'library' | 'deezer' | 'advanced'>('library'); onMount(async () => { await loadSettings(); @@ -57,105 +58,140 @@ await setPlaylistsFolder(selected); } } + + async function clearAllPaths() { + await setMusicFolder(null); + await setPlaylistsFolder(null); + }

Settings

-
-

Library Folders

-

- Note: Music and Playlists folders should be in the same parent directory for playlists to work properly in other apps. -

-
- -
- - -
- {#if currentMusicFolder} - Currently using: {currentMusicFolder} - {:else} - No music folder selected. Click Browse to choose one. + +
  • + { e.preventDefault(); activeTab = 'library'; }}>Library +
  • +
  • + { e.preventDefault(); activeTab = 'deezer'; }}>Deezer +
  • +
  • + { e.preventDefault(); activeTab = 'advanced'; }}>Advanced +
  • +
    + +
    +
    + {#if activeTab === 'library'} +
    +

    Library Folders

    +

    + Note: Music and Playlists folders should be in the same parent directory for playlists to work properly in other apps. +

    + +
    + +
    + + +
    + {#if currentMusicFolder} + Currently using: {currentMusicFolder} + {:else} + No music folder selected. Click Browse to choose one. + {/if} +
    + +
    + +
    + + +
    + {#if currentPlaylistsFolder} + Currently using: {currentPlaylistsFolder} + {:else} + No playlists folder selected. Click Browse to choose one. + {/if} +
    +
    + {:else if activeTab === 'deezer'} +
    +

    Deezer Download Settings

    + +
    + + + Select the audio quality for downloaded tracks +
    + +
    + +
    + setDeezerConcurrency(currentDeezerConcurrency)} + /> + {currentDeezerConcurrency} +
    + Number of tracks to download simultaneously (default: 1) +
    + +
    +
    + setDeezerOverwrite(currentDeezerOverwrite)} + /> + +
    +
    +
    + {:else if activeTab === 'advanced'} +
    +

    Advanced Settings

    + +
    + + This will reset your music and playlists folder paths. You'll need to set them up again. + +
    +
    {/if}
    - -
    - -
    - - -
    - {#if currentPlaylistsFolder} - Currently using: {currentPlaylistsFolder} - {:else} - No playlists folder selected. Click Browse to choose one. - {/if} -
    -
    - -
    -

    Deezer Download Settings

    - -
    - - - Select the audio quality for downloaded tracks -
    - -
    - -
    - setDeezerConcurrency(currentDeezerConcurrency)} - /> - {currentDeezerConcurrency} -
    - - Number of tracks to download simultaneously within collections (default: 1) - -
    - -
    - setDeezerOverwrite(currentDeezerOverwrite)} - /> - -
    -
    +