diff --git a/assets/css/main.css b/assets/css/main.css index 1a04409..d7aaddf 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -34,12 +34,35 @@ min-height: 100vh; font-family: var(--font-display); background: rgb(var(--m-bg)); + background-image: + radial-gradient(circle at top left, rgb(var(--m-accent) / 0.1), transparent 24%), + radial-gradient(circle at top right, rgb(var(--m-success) / 0.08), transparent 18%); color: rgb(var(--m-text)); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transition: background-color 0.4s ease, color 0.4s ease; } + ::selection { + background: rgb(var(--m-accent) / 0.28); + color: rgb(var(--m-text)); + } + + a, + button { + transition: + color 0.2s ease, + background-color 0.2s ease, + border-color 0.2s ease, + box-shadow 0.2s ease, + transform 0.2s ease; + } + + :focus-visible { + outline: 2px solid rgb(var(--m-accent) / 0.85); + outline-offset: 2px; + } + img { display: block; } @@ -75,6 +98,13 @@ transition: box-shadow 0.3s ease; } + .card-glow:hover { + box-shadow: + 0 0 0 1px rgb(var(--m-accent) / calc(var(--m-card-border-opacity) + 0.04)), + 0 10px 30px -10px rgba(0, 0, 0, calc(var(--m-shadow-opacity) + 0.08)), + 0 0 56px -14px rgb(var(--m-accent) / 0.1); + } + .card-glow-success { box-shadow: 0 0 0 1px rgb(var(--m-success) / 0.15), @@ -165,3 +195,14 @@ ::-webkit-scrollbar-thumb:hover { background: rgb(var(--m-muted)); } + +@media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} diff --git a/components/MessageDiscord.vue b/components/MessageDiscord.vue index 7f17a83..3767056 100644 --- a/components/MessageDiscord.vue +++ b/components/MessageDiscord.vue @@ -56,12 +56,15 @@ const { data: messages, error } = await useFetch('/api/discord/messages', { diff --git a/components/Speed-test.vue b/components/Speed-test.vue index c0243d4..0848ae4 100644 --- a/components/Speed-test.vue +++ b/components/Speed-test.vue @@ -118,10 +118,13 @@ async function runTests() { diff --git a/components/StatusBackup.vue b/components/StatusBackup.vue new file mode 100644 index 0000000..c2f9140 --- /dev/null +++ b/components/StatusBackup.vue @@ -0,0 +1,224 @@ + + + + Status Backup + Services + + + + + + + + + + + + + + + + + {{ row.label }} + + + + + {{ statusLabel(row.status) }} + + + {{ formatBackupLabel(row) }} + + + + + + + + + diff --git a/components/StatusSite.vue b/components/StatusSite.vue index 9e3b883..1616b83 100644 --- a/components/StatusSite.vue +++ b/components/StatusSite.vue @@ -1,7 +1,7 @@ - Status + Status App Services @@ -119,13 +119,16 @@ onBeforeUnmount(() => { diff --git a/layouts/default.vue b/layouts/default.vue index 441b97b..01b8563 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -18,34 +18,43 @@ Navigation - - - - - Home - - - - - - Backup - - - + + + + + + + + {{ item.label }} + {{ item.caption }} + + + {{ item.short }} + +
Navigation
Home
Backup