Enhance UI components and improve user notifications

- Updated App.vue to include a toast notification system for new messages, enhancing user engagement.
- Modified SplashScreen.vue to streamline the intro text display with improved typing effects.
- Added Montserrat font styles in style.css for better typography across the application.
- Improved controller navigation in useControllerNav.ts to support enhanced focus management and sound feedback.
- Updated routing logic in index.ts to redirect authenticated users from the login page to the home page.
- Enhanced the Login.vue view with transition effects for a smoother user experience during login and setup processes.
This commit is contained in:
Dorian
2026-02-17 19:19:54 +00:00
parent 1073d9fd2c
commit 1b05b5b8f1
24 changed files with 2038 additions and 470 deletions

View File

@@ -2,10 +2,38 @@
@tailwind components;
@tailwind utilities;
/* Controller / keyboard navigation - game-like focus ring */
/* Montserrat - header font (used in neode present) */
@font-face {
font-family: 'Montserrat';
src: url('/assets/fonts/Montserrat/Montserrat-Bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Montserrat';
src: url('/assets/fonts/Montserrat/Montserrat-ExtraBold.ttf') format('truetype');
font-weight: 800;
font-style: normal;
}
/* Controller / keyboard navigation - soft glow, hover-style (not yellow button) */
*:focus-visible {
outline: 2px solid rgba(251, 191, 36, 0.8);
outline-offset: 2px;
outline: none;
box-shadow:
0 0 0 1px rgba(255, 255, 255, 0.25),
0 0 16px rgba(120, 180, 255, 0.2),
0 0 32px rgba(100, 160, 255, 0.1);
transition: box-shadow 0.2s ease;
}
/* Containers get a subtle inner glow when focused */
[data-controller-container]:focus-visible {
box-shadow:
0 0 0 1px rgba(255, 255, 255, 0.3),
0 0 24px rgba(120, 180, 255, 0.15),
0 0 48px rgba(100, 160, 255, 0.08),
inset 0 0 24px rgba(255, 255, 255, 0.03);
}
/* Global glassmorphism utilities */
@@ -67,6 +95,7 @@
-webkit-backdrop-filter: blur(18px);
border: 1px solid rgba(255, 255, 255, 0.18);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
border-radius: 0.75rem;
}
/* Toast transition */
@@ -525,6 +554,19 @@ body::after {
animation: bg-glitch-scan-repeat 5s ease-out infinite;
}
/* Dashboard: full viewport width, no letterboxing */
body.dashboard-active {
overflow-x: hidden;
width: 100%;
}
body.dashboard-active .dashboard-view .bg-perspective-container {
left: 0 !important;
right: 0 !important;
width: 100% !important;
min-width: 100% !important;
}
/* Disable glitch effect on dashboard */
.dashboard-view ~ body::before,
.dashboard-view ~ body::after,