summaryrefslogtreecommitdiff
path: root/src/components/common/ToggleTheme.astro
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-07-22 15:08:37 +0300
committerDawid Rycerz <dawid@rycerz.xyz>2025-07-22 15:08:37 +0300
commitfcc2f4704e39b0e69b377cc138f75027721dac22 (patch)
tree732fc94b354a26c08fba9cc9059f9c6c900182be /src/components/common/ToggleTheme.astro
Initial template
Diffstat (limited to 'src/components/common/ToggleTheme.astro')
-rw-r--r--src/components/common/ToggleTheme.astro28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/components/common/ToggleTheme.astro b/src/components/common/ToggleTheme.astro
new file mode 100644
index 0000000..8f3aafb
--- /dev/null
+++ b/src/components/common/ToggleTheme.astro
@@ -0,0 +1,28 @@
+---
+import { Icon } from 'astro-icon/components';
+
+import { UI } from 'astrowind:config';
+
+export interface Props {
+ label?: string;
+ class?: string;
+ iconClass?: string;
+ iconName?: string;
+}
+
+const {
+ label = 'Toggle between Dark and Light mode',
+ class:
+ className = 'text-muted dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center',
+ iconClass = 'w-6 h-6',
+ iconName = 'tabler:sun',
+} = Astro.props;
+---
+
+{
+ !(UI.theme && UI.theme.endsWith(':only')) && (
+ <button type="button" class={className} aria-label={label} data-aw-toggle-color-scheme>
+ <Icon name={iconName} class={iconClass} />
+ </button>
+ )
+}