diff --git a/src/features/ChangeAppTheme/index.ts b/src/features/ChangeAppTheme/index.ts new file mode 100644 index 0000000..80b33de --- /dev/null +++ b/src/features/ChangeAppTheme/index.ts @@ -0,0 +1,2 @@ +export * from './model'; +export * from './ui'; diff --git a/src/features/ChangeAppTheme/model/index.ts b/src/features/ChangeAppTheme/model/index.ts new file mode 100644 index 0000000..cbc18dd --- /dev/null +++ b/src/features/ChangeAppTheme/model/index.ts @@ -0,0 +1 @@ +export { themeManager } from './store/ThemeManager/ThemeManager.svelte'; diff --git a/src/features/ChangeAppTheme/ui/ThemeSwitch/ThemeSwitch.stories.svelte b/src/features/ChangeAppTheme/ui/ThemeSwitch/ThemeSwitch.stories.svelte new file mode 100644 index 0000000..e3334f7 --- /dev/null +++ b/src/features/ChangeAppTheme/ui/ThemeSwitch/ThemeSwitch.stories.svelte @@ -0,0 +1,59 @@ + + + + + + + + + Theme: {currentTheme} + {#if themeSource === 'user'} + (user preference) + {:else} + (system preference) + {/if} + + + diff --git a/src/features/ChangeAppTheme/ui/ThemeSwitch/ThemeSwitch.svelte b/src/features/ChangeAppTheme/ui/ThemeSwitch/ThemeSwitch.svelte new file mode 100644 index 0000000..74823dc --- /dev/null +++ b/src/features/ChangeAppTheme/ui/ThemeSwitch/ThemeSwitch.svelte @@ -0,0 +1,26 @@ + + + + themeManager.toggle()} size={responsive.isMobile ? 'sm' : 'md'} title="Toggle theme"> + {#snippet icon()} + {#if theme === 'light'} + + {:else} + + {/if} + {/snippet} + diff --git a/src/features/ChangeAppTheme/ui/index.ts b/src/features/ChangeAppTheme/ui/index.ts new file mode 100644 index 0000000..14e9d6c --- /dev/null +++ b/src/features/ChangeAppTheme/ui/index.ts @@ -0,0 +1 @@ +export { default as ThemeSwitch } from './ThemeSwitch/ThemeSwitch.svelte';