1
0
mirror of synced 2026-03-22 20:54:47 +08:00

fix: safe-area for top/bottom

This commit is contained in:
YunYouJun
2025-10-06 23:16:00 +08:00
parent 0549ef8115
commit 4ae9cffe41
10 changed files with 65 additions and 16 deletions

View File

@@ -1,15 +1,40 @@
import { StatusBar, Style } from '@capacitor/status-bar'
import { ionDarkClass } from '~/constants'
export const useDarkMode = createSharedComposable(() => {
const color = useColorMode()
const isDark = computed(() => color.value === 'dark')
async function setLightMode() {
document.documentElement.classList.remove(ionDarkClass)
await StatusBar.setStyle({ style: Style.Light })
await StatusBar.setBackgroundColor({ color: '#f2f2f6ff' })
}
async function setDarkMode() {
document.documentElement.classList.add(ionDarkClass)
await StatusBar.setStyle({ style: Style.Dark })
await StatusBar.setBackgroundColor({ color: '#ff000000' })
}
return {
color,
isDark,
toggleDark() {
color.preference = color.value === 'dark' ? 'light' : 'dark'
document.documentElement.classList.toggle(ionDarkClass, !isDark.value)
setLightMode,
setDarkMode,
async toggleDark() {
const targetMode = color.value === 'dark' ? 'light' : 'dark'
color.preference = targetMode
if (targetMode === 'dark') {
setDarkMode()
}
else {
setLightMode()
}
},
}
})