update sidebar dan dshboard

This commit is contained in:
Fanrouver
2026-01-21 08:48:08 +07:00
parent 482294b8b7
commit 9d45071a36
7 changed files with 5504 additions and 661 deletions
+35 -19
View File
@@ -9,21 +9,17 @@
@mouseenter="handleMouseEnter"
@mouseleave="handleMouseLeave"
>
<v-list-item class="py-4 px-2 sidebar-logo-container" :class="{ 'text-center': rail }">
<v-list-item class="py-4 px-3 sidebar-logo-container" :class="{ 'text-center': rail }">
<NuxtLink to="/dashboard" class="sidebar-logo-link">
<div class="d-flex align-center sidebar-logo-wrapper" :class="{ 'justify-center': rail }">
<NuxtImg
src="/logo mini.png"
alt="Antrean Logo"
class="sidebar-logo"
:class="{ 'sidebar-logo-rail': rail }"
width="48"
height="48"
format="webp"
quality="90"
loading="eager"
preload
/>
<div class="sidebar-logo-image-wrapper">
<img
src="/love logo biru small.png"
alt="Antrean Logo"
class="sidebar-logo"
:class="{ 'sidebar-logo-rail': rail }"
/>
</div>
<v-list-item-title
v-if="!rail"
class="ml-2 text-h6 font-weight-bold sidebar-title"
@@ -337,12 +333,18 @@ onMounted(async () => {
}
.sidebar-logo-container {
overflow: visible !important;
:deep(.v-list-item__content) {
overflow: visible !important;
}
&.text-center {
display: flex;
justify-content: center;
align-items: center;
padding-left: 0 !important;
padding-right: 0 !important;
padding-left: 8px !important;
padding-right: 8px !important;
}
}
@@ -353,6 +355,7 @@ onMounted(async () => {
width: 100%;
cursor: pointer;
transition: opacity 0.2s ease;
overflow: visible;
&:hover {
opacity: 0.8;
@@ -365,6 +368,7 @@ onMounted(async () => {
.sidebar-logo-wrapper {
width: 100%;
overflow: visible;
&.justify-center {
justify-content: center;
@@ -373,13 +377,25 @@ onMounted(async () => {
}
}
.sidebar-logo-image-wrapper {
display: flex;
align-items: center;
justify-content: center;
min-width: 40px;
padding: 2px;
overflow: visible;
}
.sidebar-logo {
width: 48px;
height: 48px;
width: 32px;
height: 32px;
min-width: 32px;
min-height: 32px;
object-fit: contain;
display: block;
cursor: pointer;
transition: transform 0.2s ease;
flex-shrink: 0;
&:hover {
transform: scale(1.05);
@@ -388,8 +404,8 @@ onMounted(async () => {
.sidebar-logo-rail {
margin: 0 auto;
width: 100%;
max-width: 48px;
width: auto;
max-width: none;
}
.sidebar-title {
+25 -37
View File
@@ -20,43 +20,31 @@ export default defineNuxtConfig({
}
},
modules: [
// "@nuxt/content",
"@nuxt/eslint",
"@nuxt/fonts",
"@nuxt/icon",
"@nuxt/image",
"@nuxt/scripts",
"@nuxt/test-utils",
"@nuxt/ui",
"@pinia/nuxt",
"@vesp/nuxt-fontawesome",
"@nuxtjs/google-fonts",
async (_options, nuxt) => {
nuxt.hooks.hook("vite:extendConfig", async (config) => {
// @ts-expect-error
config.plugins.push(vuetify({ autoImport: true }));
// // Add HTTPS plugin
// try {
// // @ts-ignore
// const { default: basicSsl } = await import('@vitejs/plugin-basic-ssl');
// // @ts-expect-error
// config.plugins.push(basicSsl());
// // @ts-expect-error
// config.server = config.server || {};
// // @ts-expect-error
// config.server.https = true;
// // @ts-expect-error
// config.server.host = '10.10.150.175';
// // @ts-expect-error
// config.server.port = 3001;
// } catch (e) {
// console.warn('Failed to load HTTPS plugin:', e);
// }
});
},
],
modules: [// "@nuxt/content",
"@nuxt/eslint", "@nuxt/fonts", "@nuxt/icon", "@nuxt/image", "@nuxt/scripts", "@nuxt/test-utils", "@nuxt/ui", "@pinia/nuxt", "@vesp/nuxt-fontawesome", "@nuxtjs/google-fonts", async (_options, nuxt) => {
nuxt.hooks.hook("vite:extendConfig", async (config) => {
// @ts-expect-error
config.plugins.push(vuetify({ autoImport: true }));
// // Add HTTPS plugin
// try {
// // @ts-ignore
// const { default: basicSsl } = await import('@vitejs/plugin-basic-ssl');
// // @ts-expect-error
// config.plugins.push(basicSsl());
// // @ts-expect-error
// config.server = config.server || {};
// // @ts-expect-error
// config.server.https = true;
// // @ts-expect-error
// config.server.host = '10.10.150.175';
// // @ts-expect-error
// config.server.port = 3001;
// } catch (e) {
// console.warn('Failed to load HTTPS plugin:', e);
// }
});
}, "nuxt-charts"],
fontawesome: {
icons: {
+1593
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -32,6 +32,7 @@
"eslint": "^9.32.0",
"html5-qrcode": "^2.3.8",
"nuxt": "^3.17.7",
"nuxt-charts": "^2.0.0",
"nuxt-qrcode": "^0.4.8",
"pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.7.1",
+1852 -605
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB