Skip to content

Commit

Permalink
feat: export theme getter and setter
Browse files Browse the repository at this point in the history
  • Loading branch information
ocavue committed Sep 12, 2024
1 parent d18c88e commit f438cf7
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
6 changes: 4 additions & 2 deletions lib/handle-toggle-click.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { getTheme, setTheme } from './theme'

function toggleTheme() {
const theme = window.themeToggle?.getTheme?.()
window.themeToggle?.setTheme?.(theme === 'light' ? 'dark' : 'light')
const theme = getTheme()
setTheme(theme === 'light' ? 'dark' : 'light')
}

async function startCircleAnimation(
Expand Down
1 change: 1 addition & 0 deletions lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
export { handleToggleClick } from './handle-toggle-click'
export { getTheme, setTheme } from './theme'
export { default as ThemeScript } from './theme-script.astro'
13 changes: 13 additions & 0 deletions lib/theme.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
export function getTheme(): 'light' | 'dark' {
if (typeof window === 'undefined') {
return 'light'
}
return window.themeToggle?.getTheme?.() || 'light'
}

export function setTheme(theme: 'light' | 'dark') {
if (typeof window === 'undefined') {
return
}
window.themeToggle?.setTheme?.(theme)
}

0 comments on commit f438cf7

Please sign in to comment.