diff --git a/src/app.css b/src/app.css index 7f0b66b..9248d56 100644 --- a/src/app.css +++ b/src/app.css @@ -129,3 +129,15 @@ a { .post-dropdown { @apply flex min-w-54 flex-col gap-1 rounded-sm border-2 p-1 shadow-2xl backdrop-blur-xl backdrop-brightness-60; } + +.settings-box { + @apply rounded-sm border-2 border-dashed border-(--nucleus-fg)/10 p-4; +} + +.settings-header { + @apply mb-2 text-lg font-bold; +} + +.settings-desc { + @apply mb-2 text-sm text-(--nucleus-fg)/80; +} diff --git a/src/components/SettingsAdvancedTab.svelte b/src/components/SettingsAdvancedTab.svelte new file mode 100644 index 0000000..63fe14c --- /dev/null +++ b/src/components/SettingsAdvancedTab.svelte @@ -0,0 +1,70 @@ + + +{#snippet _input(name: string, desc: string)} +
+ + +
+{/snippet} + +
+
+

api endpoints

+
+ {@render _input('slingshot', 'slingshot url (for fetching records & resolving identity)')} + {@render _input('spacedust', 'spacedust url (for notifications)')} + {@render _input('constellation', 'constellation url (for backlinks)')} + {@render _input('jetstream', 'jetstream url (for real-time updates)')} +
+
+ +
+ + +
+ +

cache management

+
+

clears cached data (records, DID documents, handles, etc.)

+ +
+ +

reset settings

+
+

resets all settings to their default values

+ +
+
diff --git a/src/components/SettingsModerationTab.svelte b/src/components/SettingsModerationTab.svelte new file mode 100644 index 0000000..1d72d54 --- /dev/null +++ b/src/components/SettingsModerationTab.svelte @@ -0,0 +1,65 @@ + + +
+
+

muted accounts

+
+
+ + +
+ {#if mutes.length > 0} +
+ + {#snippet item({ index, style }: { index: number; style: string })} + onRemoveMute(mutes[index])} + /> + {/snippet} + +
+ {:else} +

no muted accounts

+ {/if} +
+
+ {#if currentPrefs} +

+ last synced: {new Date(currentPrefs.updatedAt).toLocaleString()} +

+ {/if} +
diff --git a/src/components/SettingsStyleTab.svelte b/src/components/SettingsStyleTab.svelte new file mode 100644 index 0000000..c66c4a0 --- /dev/null +++ b/src/components/SettingsStyleTab.svelte @@ -0,0 +1,38 @@ + + +{#snippet color(name: string, desc: string)} +
+ +
+ +
+
+{/snippet} + +
+
+

colors

+
+ {@render color('fg', 'foreground color')} + {@render color('bg', 'background color')} + {@render color('accent', 'accent color')} + {@render color('accent2', 'secondary accent color')} +
+
+
diff --git a/src/components/SettingsView.svelte b/src/components/SettingsView.svelte index 52c34d2..cb6816e 100644 --- a/src/components/SettingsView.svelte +++ b/src/components/SettingsView.svelte @@ -1,10 +1,8 @@ -{#snippet advancedTab()} -
-
-

api endpoints

-
- {#snippet _input(name: string, desc: string)} -
- - -
- {/snippet} - {@render _input('slingshot', 'slingshot url (for fetching records & resolving identity)')} - {@render _input('spacedust', 'spacedust url (for notifications)')} - {@render _input('constellation', 'constellation url (for backlinks)')} - {@render _input('jetstream', 'jetstream url (for real-time updates)')} -
-
- -
- - -
- -

cache management

-
-

clears cached data (records, DID documents, handles, etc.)

- -
- -

reset settings

-
-

resets all settings to their default values

- -
-
-{/snippet} - -{#snippet styleTab()} -
-
-

colors

-
- {#snippet color(name: string, desc: string)} -
- -
- -
-
- {/snippet} - {@render color('fg', 'foreground color')} - {@render color('bg', 'background color')} - {@render color('accent', 'accent color')} - {@render color('accent2', 'secondary accent color')} -
-
-
-{/snippet} -
@@ -250,50 +156,16 @@
{#if tab === 'advanced'} - {@render advancedTab()} + {:else if tab === 'moderation'} -
-
-

muted accounts

-
-
- - -
- {#if mutes.length > 0} -
- - {#snippet item({ index, style }: { index: number; style: string })} - handleRemoveMute(mutes[index])} - /> - {/snippet} - -
- {:else} -

no muted accounts

- {/if} -
-
- {#if currentPrefs} -

- last synced: {new Date(currentPrefs.updatedAt).toLocaleString()} -

- {/if} -
+ {:else if tab === 'style'} - {@render styleTab()} + {/if}
@@ -306,16 +178,3 @@
- -