21 lines
331 B
Vue
21 lines
331 B
Vue
<template>
|
|
<div class="page-shell" :class="themeClass">
|
|
<slot />
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { computed } from 'vue'
|
|
|
|
const props = withDefaults(
|
|
defineProps<{
|
|
theme?: 'light' | 'dark'
|
|
}>(),
|
|
{
|
|
theme: 'light',
|
|
},
|
|
)
|
|
|
|
const themeClass = computed(() => `theme-${props.theme}`)
|
|
</script>
|