added settings Page and components

This commit is contained in:
2023-12-06 11:51:42 +01:00
parent 45c651e853
commit 6a4a799c85
21 changed files with 1301 additions and 99 deletions

View File

@ -0,0 +1,115 @@
<template>
<section :class="['userAppearance', darkMode ? 'section-darkmode' : 'section-lightmode']">
<div class="userData">
<div class="data-field" id="mode">
<pre :class="['label', darkMode ? 'pre-darkmode' : 'pre-lightmode']">Mode:</pre>
<pre :class="['smallLabel', darkMode ? 'pre-darkmode' : 'pre-lightmode']">Lightmode</pre>
<Toggle v-model="darkMode" id="toggleAppearance" />
<pre :class="['smallLabel', darkMode ? 'pre-darkmode' : 'pre-lightmode']">Darkmode</pre>
</div>
<div class="data-field" id="language">
<pre :class="['label', darkMode ? 'pre-darkmode' : 'pre-lightmode']">Language:</pre>
<pre :class="['data', darkMode ? 'data-darkmode' : 'data-lightmode']">...</pre>
</div>
</div>
</section>
</template>
<script setup>
import { ref } from 'vue';
import Toggle from '@vueform/toggle'
const darkMode = ref(true)
</script>
<script>
export default {
name: "UserAppearance",
};
</script>
<style src="@vueform/toggle/themes/default.css"></style>
<style scoped>
.userAppearance {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
align-self: stretch;
width: 100%;
padding-left: 1.875rem;
padding-right: 1.875rem;
padding-top: 1.875rem;
padding-bottom: 1.875rem;
gap: 0.625rem;
border-radius: 0.625rem;
box-shadow: 0.25rem 0.25rem 0.25rem 0rem rgba(0, 0, 0, 0.25);
}
.section-darkmode {
background-color: #2c2c2c;
}
.section-lightmode {
background-color: #fff;
}
.userData {
display: flex;
flex-direction: column;
align-content: center;
gap: 0.625rem
}
.data-field {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
width: 100%;
padding: 0 1.875rem;
border-radius: 0.625rem;
gap: 1.25rem;
}
.pre-darkmode {
color: #fff;
}
.pre-lightmode {
color: #000;
}
.data-darkmode {
background-color: #212121;
color: #fff;
}
.data-lightmode {
background-color: #EBEBEB;
color: #000;
}
.data {
display: flex;
flex-direction: row;
align-items: flex-start;
padding: 0 0.625rem;
border-radius: 0.3125rem;
box-shadow: 0.0625rem 0.0625rem 0.25rem 0rem rgba(0, 0, 0, 0.25) inset;
letter-spacing: 5%;
font: 400 0.75rem/250% Overpass, sans-serif;
width: 15.625em;
}
.label {
width: 6.25rem;
}
.smallLabel {
font-size: 0.875em;
}
</style>