63 lines
1 KiB
Vue
63 lines
1 KiB
Vue
<template>
|
|
<div>
|
|
<link :href="'/themes/' + current_theme + '.css'" rel="stylesheet" type="text/css"></link>
|
|
<Banner v-if="banner" />
|
|
<NuxtPage :keepalive="true" />
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
|
|
const banner = useState("banner", () => false);
|
|
|
|
let current_theme = "dark" // default theme
|
|
const saved_theme = localStorage.getItem("selectedTheme");
|
|
if (saved_theme) {
|
|
current_theme = saved_theme;
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
html,
|
|
body {
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
box-sizing: border-box;
|
|
color: var(--text-color);
|
|
background-color: var(--chat-background-color);
|
|
margin: 0;
|
|
}
|
|
|
|
*:focus-visible {
|
|
outline: var(--outline-border);
|
|
}
|
|
|
|
a {
|
|
color: aquamarine;
|
|
}
|
|
|
|
.white {
|
|
color: white;
|
|
}
|
|
|
|
.bottom-border {
|
|
border-bottom: 1px solid var(--padding-color);
|
|
}
|
|
|
|
.left-border {
|
|
border-left: 1px solid var(--padding-color);
|
|
}
|
|
|
|
.right-border {
|
|
border-right: 1px solid var(--padding-color);
|
|
}
|
|
|
|
.rounded-corners {
|
|
border-radius: .3rem;
|
|
}
|
|
|
|
|
|
.invisible {
|
|
visibility: hidden;
|
|
}
|
|
|
|
</style>
|