chore: added app navbar; adjusted colors and global styles

This commit is contained in:
2025-09-27 15:40:02 +02:00
parent fa4504fec7
commit f54eada94d
7 changed files with 83 additions and 25 deletions
+9 -6
View File
@@ -1,16 +1,19 @@
<template> <template>
<div id="app_wrapper"> <div>
<transition name="slide-anim"> <transition name="slide-anim">
<UpdateCard /> <UpdateCard />
</transition> </transition>
<RouterView />
<transition name="slide-anim"> <transition name="slide-anim">
<UpdatePrompt /> <UpdatePrompt />
</transition> </transition>
<AppFooter :version="appVersion" /> <div class="app-body">
<AppNavbar />
<main>
<RouterView />
</main>
</div>
</div> </div>
</template> </template>
@@ -25,11 +28,12 @@ import StorageManager from './managers/storageManager';
import axios from 'axios'; import axios from 'axios';
import UpdatePrompt from './components/Global/UpdatePrompt.vue'; import UpdatePrompt from './components/Global/UpdatePrompt.vue';
import AppFooter from './components/App/AppFooter.vue'; import AppFooter from './components/App/AppFooter.vue';
import AppNavbar from './components/App/AppNavbar.vue';
const STORAGE_VERSION_KEY = 'app_version'; const STORAGE_VERSION_KEY = 'app_version';
export default defineComponent({ export default defineComponent({
components: { UpdateCard, UpdatePrompt, AppFooter }, components: { UpdateCard, UpdatePrompt, AppFooter, AppNavbar },
mixins: [orderStorageMixin], mixins: [orderStorageMixin],
@@ -121,7 +125,6 @@ export default defineComponent({
#app { #app {
color: white; color: white;
min-height: 100vh; min-height: 100vh;
} }
+57 -3
View File
@@ -1,7 +1,61 @@
<template> <template>
<div></div> <nav class="app-navbar">
<div class="navbar-brand">
<img src="/favicon.ico" alt="generator logo" width="30" />
<b>
GeneraTOR <sup>v{{ version }}</sup>
</b>
</div>
<div class="navbar-actions">
<button class="g-button action icon">
<LucideGlobe :size="20" />
<span>POL</span>
</button>
<button class="g-button action icon">
<LucideMoon :size="20" />
</button>
</div>
</nav>
</template> </template>
<script setup lang="ts"></script> <script setup lang="ts">
import { LucideGlobe, LucideMoon } from 'lucide-vue-next';
import { version } from '../../../package.json';
</script>
<style scoped></style> <style lang="scss" scoped>
.app-navbar {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 40px;
padding: 0.25em;
background-color: #1c1c1c;
}
.navbar-brand {
display: flex;
align-items: center;
gap: 0.5em;
sup {
font-size: 0.75em;
}
}
.navbar-actions {
display: flex;
align-items: center;
gap: 0.5em;
button {
padding: 0.5em;
gap: 0.25em;
border-radius: 0.5em;
}
}
</style>
+1 -1
View File
@@ -1,4 +1,4 @@
$bgCol: #141414; $bgCol: #0e0e0e;
$bgColLighter: #292929; $bgColLighter: #292929;
$bgColDarker: #080808; $bgColDarker: #080808;
$accentCol: #ff6060; $accentCol: #ff6060;
+6 -1
View File
@@ -1,5 +1,6 @@
@use 'fonts'; @use 'fonts';
@use 'colors'; @use 'colors';
@use 'sass:color';
// Global scrollbar style // Global scrollbar style
::-webkit-scrollbar { ::-webkit-scrollbar {
@@ -76,7 +77,7 @@ button.g-button {
} }
&:hover:not([data-disabled='true']) { &:hover:not([data-disabled='true']) {
background-color: colors.$bgColLighter; background-color: color.adjust(colors.$bgColDarker, $lightness: 15%);
} }
} }
@@ -112,6 +113,10 @@ button.g-button {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
&:focus-visible {
outline: 1px solid white;
}
} }
} }
+1 -1
View File
@@ -6,7 +6,7 @@ $darkModeTextCol: #eee;
width: 100%; width: 100%;
background-color: white; background-color: white;
color: black; color: black;
max-height: 95vh; height: 100%;
overflow: auto; overflow: auto;
&.dark { &.dark {
+8 -12
View File
@@ -1,6 +1,4 @@
<template> <template>
<!-- <OrderHelper v-if="store.helperModalOpen" /> -->
<div class="home"> <div class="home">
<div class="home_container"> <div class="home_container">
<div class="order_container"> <div class="order_container">
@@ -110,7 +108,6 @@ export default defineComponent({
@use '../styles/colors'; @use '../styles/colors';
.home { .home {
min-height: 100vh;
overflow-x: auto; overflow-x: auto;
display: flex; display: flex;
@@ -125,18 +122,22 @@ export default defineComponent({
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
gap: 2em 1em; gap: 2em 1em;
padding: 0.5em; padding: 1em;
width: 100%; width: 100%;
& > div {
max-height: calc(100vh - 5em);
overflow: auto;
}
@media screen and (max-width: 650px) { @media screen and (max-width: 650px) {
padding: 1em 0.5em; padding: 1em 0.5em;
} }
} }
.order_container { .order_container {
width: 800px; max-width: 800px;
overflow: auto;
display: flex; display: flex;
align-items: start; align-items: start;
@@ -147,16 +148,11 @@ export default defineComponent({
} }
.message_container { .message_container {
width: 500px;
padding: 2px; padding: 2px;
width: 100%;
max-width: 500px;
display: grid; display: grid;
grid-template-rows: auto auto 1fr; grid-template-rows: auto auto 1fr;
height: 95vh;
overflow: auto;
} }
.message_nav { .message_nav {