{{ SizeFormatter.sizeFormat(status.swap.current) }} /
{{ SizeFormatter.sizeFormat(status.swap.total) }}
@@ -77,12 +68,8 @@ defineEmits(['open-cpu-history']);
-
+
{{ t('pages.index.storage') }}: {{ SizeFormatter.sizeFormat(status.disk.current) }} /
{{ SizeFormatter.sizeFormat(status.disk.total) }}
@@ -98,6 +85,7 @@ defineEmits(['open-cpu-history']);
.text-center {
text-align: center;
}
+
.ml-8 {
margin-left: 8px;
}
diff --git a/frontend/src/pages/index/VersionModal.vue b/frontend/src/pages/index/VersionModal.vue
index c1181f36..78eb228a 100644
--- a/frontend/src/pages/index/VersionModal.vue
+++ b/frontend/src/pages/index/VersionModal.vue
@@ -87,19 +87,11 @@ watch(() => props.open, (next) => { if (next) fetchVersions(); });
-
+
{{ version }}
-
+
@@ -127,9 +119,19 @@ watch(() => props.open, (next) => { if (next) fetchVersions(); });
diff --git a/frontend/src/pages/login/LoginPage.vue b/frontend/src/pages/login/LoginPage.vue
index 9f888e60..b22803c1 100644
--- a/frontend/src/pages/login/LoginPage.vue
+++ b/frontend/src/pages/login/LoginPage.vue
@@ -73,103 +73,96 @@ async function login() {
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
- {{ HEADLINE_WORDS[headlineIndex] }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ submitting ? '' : t('login') }}
+
+
+
+
+
+
+ {{ HEADLINE_WORDS[headlineIndex] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ submitting ? '' : t('login') }}
+
+
+
+
+
+
+
+
+
@@ -200,9 +193,12 @@ async function login() {
}
.login-app.is-dark {
- --bg-page: #222d42; /* legacy .dark .under = surface-200 */
- --bg-wave-header: #0a1222; /* legacy --dark-color-background (login-bg defaults to this) */
- --bg-card: #151f31; /* legacy surface-100 */
+ --bg-page: #222d42;
+ /* legacy .dark .under = surface-200 */
+ --bg-wave-header: #0a1222;
+ /* legacy --dark-color-background (login-bg defaults to this) */
+ --bg-card: #151f31;
+ /* legacy surface-100 */
--color-title: rgba(255, 255, 255, 0.92);
--shadow-card: 0 4px 16px rgba(0, 0, 0, 0.45);
--wave-fill: #222d42;
@@ -210,9 +206,12 @@ async function login() {
}
.login-app.is-dark.is-ultra {
- --bg-page: #0f2d32; /* legacy ultra .under = login-wave override */
- --bg-wave-header: #0a2227; /* legacy ultra --dark-color-login-background */
- --bg-card: #0c0e12; /* legacy ultra surface-100 */
+ --bg-page: #0f2d32;
+ /* legacy ultra .under = login-wave override */
+ --bg-wave-header: #0a2227;
+ /* legacy ultra --dark-color-login-background */
+ --bg-card: #0c0e12;
+ /* legacy ultra surface-100 */
/* Top three waves use a brighter teal so motion reads against the
* dark wave-header bg. Bottom wave keeps the legacy color so its
* flat lower edge merges into bg-page without a visible seam — if
@@ -229,6 +228,7 @@ async function login() {
.login-app :deep(.ant-layout-content) {
background: transparent;
}
+
.login-app {
background: var(--bg-page);
}
@@ -290,10 +290,12 @@ async function login() {
.headline-leave-active {
transition: opacity 0.4s ease, transform 0.4s ease;
}
+
.headline-enter-from {
opacity: 0;
transform: translateY(-12px);
}
+
.headline-leave-to {
opacity: 0;
transform: translateY(12px);
@@ -327,14 +329,30 @@ async function login() {
* inline fill="..." on each