diff --git a/src/interface/components/SignInToFavoriteModal.svelte b/src/interface/components/SignInToFavoriteModal.svelte index e3d5b29c..24f21e1b 100644 --- a/src/interface/components/SignInToFavoriteModal.svelte +++ b/src/interface/components/SignInToFavoriteModal.svelte @@ -46,7 +46,7 @@

- Go to Settings → BetterSEQTA Cloud to sign in, or create an account to get started. + Sign in in the Theme Store to save favorites across devices, or create an account to get started.

diff --git a/src/interface/components/store/CloudHeader.svelte b/src/interface/components/store/CloudHeader.svelte new file mode 100644 index 00000000..7804ec2a --- /dev/null +++ b/src/interface/components/store/CloudHeader.svelte @@ -0,0 +1,203 @@ + + +
+ + + {#if open} + + +
e.stopPropagation()} + > +
+

BetterSEQTA Cloud

+

Sync favorites across devices

+
+
+ {#if cloudState.isLoggedIn} +
+
+ {#if cloudState.user?.pfpUrl} + + {:else} +
+ {getInitials()} +
+ {/if} +
+

+ {cloudState.user?.displayName || cloudState.user?.username || cloudState.user?.email || "User"} +

+ {#if cloudState.user?.email && cloudState.user?.email !== (cloudState.user?.displayName || cloudState.user?.username)} +

{cloudState.user.email}

+ {/if} +
+
+ +
+ {:else} +

+ Sign in to favorite themes. Your favorites sync across devices when logged in. +

+
{ + e.preventDefault(); + handleLogin(); + }} + > + e.currentTarget.removeAttribute('readonly')} + class="w-full px-4 py-3 text-base rounded-lg bg-zinc-100 dark:bg-zinc-800 dark:text-white border border-zinc-200 dark:border-zinc-600 focus:outline-none focus:ring-2 focus:ring-accent-ring focus:border-transparent transition-colors duration-200" + /> + e.currentTarget.removeAttribute('readonly')} + class="w-full px-4 py-3 text-base rounded-lg bg-zinc-100 dark:bg-zinc-800 dark:text-white border border-zinc-200 dark:border-zinc-600 focus:outline-none focus:ring-2 focus:ring-accent-ring focus:border-transparent transition-colors duration-200" + /> + {#if error} +

{error}

+ {/if} + + + Create account + +
+ {/if} +
+
+ {/if} +
diff --git a/src/interface/components/store/CoverSwiper.svelte b/src/interface/components/store/CoverSwiper.svelte index 69889cc3..d5c35c1a 100644 --- a/src/interface/components/store/CoverSwiper.svelte +++ b/src/interface/components/store/CoverSwiper.svelte @@ -29,7 +29,7 @@ {#if coverThemes.length > 0}
diff --git a/src/interface/components/store/Header.svelte b/src/interface/components/store/Header.svelte index 720827af..4ee50781 100644 --- a/src/interface/components/store/Header.svelte +++ b/src/interface/components/store/Header.svelte @@ -3,6 +3,7 @@ import logoDark from '@/resources/icons/betterseqta-light-full.png'; import { closeStore } from '@/seqta/ui/renderStore' import browser from 'webextension-polyfill'; + import CloudHeader from './CloudHeader.svelte'; // Props let { searchTerm, setSearchTerm, darkMode, activeTab, setActiveTab } = $props<{ @@ -39,6 +40,8 @@ > Backgrounds + +
diff --git a/src/interface/pages/settings.svelte b/src/interface/pages/settings.svelte index 5af86a90..53c00412 100644 --- a/src/interface/pages/settings.svelte +++ b/src/interface/pages/settings.svelte @@ -3,7 +3,6 @@ import Settings from "./settings/general.svelte"; import Shortcuts from "./settings/shortcuts.svelte"; import Theme from "./settings/theme.svelte"; - import Cloud from "./settings/cloud.svelte"; import browser from "webextension-polyfill"; import { standalone as StandaloneStore } from "../utils/standalone.svelte"; @@ -78,10 +77,6 @@ showColourPicker = false; }); - if (window.location.hash === "#cloud") { - settingsActiveTab = 3; - } - if (standalone) { StandaloneStore.setStandalone(true); } @@ -291,7 +286,6 @@ }, { title: "Shortcuts", Content: Shortcuts }, { title: "Themes", Content: Theme }, - { title: "BetterSEQTA Cloud", Content: Cloud }, ]} />