diff --git a/frontend/src/components/CustomModelModal.vue b/frontend/src/components/CustomModelModal.vue index 07ac90d..8478e40 100644 --- a/frontend/src/components/CustomModelModal.vue +++ b/frontend/src/components/CustomModelModal.vue @@ -156,7 +156,7 @@ async function save() {
+ :class="ratios.includes(r) ? 'bg-sky-500/15 text-sky-600 ring-sky-300' : 'bg-slate-50 text-slate-500 ring-slate-200 hover:ring-slate-300'">{{ r }}
diff --git a/frontend/src/components/ImportModal.vue b/frontend/src/components/ImportModal.vue index 785d6fd..b8058d0 100644 --- a/frontend/src/components/ImportModal.vue +++ b/frontend/src/components/ImportModal.vue @@ -131,7 +131,7 @@ async function doSmartImport() { Adobe · {{ detected.adobe }} - + Runway · {{ detected.runway }} @@ -146,7 +146,7 @@ async function doSmartImport() { Grok · {{ detected.grok }} - + Creative Fabrica · {{ detected.cf }} diff --git a/frontend/src/components/Logo.vue b/frontend/src/components/Logo.vue index 790a5c1..4374e6e 100644 --- a/frontend/src/components/Logo.vue +++ b/frontend/src/components/Logo.vue @@ -1,7 +1,8 @@ @@ -437,7 +437,7 @@ const sourcePill = (s) => ({ .fade-enter-from, .fade-leave-to { opacity: 0; } /* --- log table: subtle row separators + a barely-there hover tint that - extends a soft violet accent on the left of the row (read as a + extends a soft orange accent on the left of the row (read as a focus indicator without being noisy). --- */ .log-table { border-collapse: separate; border-spacing: 0; } .log-row td { @@ -446,7 +446,7 @@ const sourcePill = (s) => ({ } .log-row:hover td { background: rgb(255 255 255 / 0.025); } .log-row:hover td:first-child { - box-shadow: inset 2px 0 0 rgb(167 139 250 / 0.55); + box-shadow: inset 2px 0 0 rgb(253 186 116 / 0.55); } .log-row:last-child td { border-bottom: none; } diff --git a/frontend/src/views/ModelsView.vue b/frontend/src/views/ModelsView.vue index a0bc7e9..fa819bb 100644 --- a/frontend/src/views/ModelsView.vue +++ b/frontend/src/views/ModelsView.vue @@ -96,12 +96,12 @@ onMounted(loadModels)
{{ stats.total }}
-
图像
-
{{ stats.image }}
+
图像
+
{{ stats.image }}
-
视频
-
{{ stats.video }}
+
视频
+
{{ stats.video }}
启用
@@ -187,8 +187,8 @@ onMounted(loadModels) + ? 'bg-rose-500/10 text-rose-300 ring-rose-400/30' + : 'bg-sky-500/10 text-sky-300 ring-sky-400/30'"> {{ TYPE_LABEL[m.type] || m.type }} @@ -354,12 +354,12 @@ onMounted(loadModels) white-space: nowrap; } .cap-dur { - background: rgb(99 102 241 / 0.12); - color: rgb(165 180 252); + background: rgb(14 165 233 / 0.12); + color: rgb(147 197 253); box-shadow: inset 0 0 0 1px rgb(129 140 248 / 0.3); } .cap-frame { - background: rgb(236 72 153 / 0.12); + background: rgb(251 113 133 / 0.12); color: rgb(244 114 182); box-shadow: inset 0 0 0 1px rgb(244 114 182 / 0.35); } diff --git a/frontend/src/views/OrdersView.vue b/frontend/src/views/OrdersView.vue index 17d3d8a..4a996e3 100644 --- a/frontend/src/views/OrdersView.vue +++ b/frontend/src/views/OrdersView.vue @@ -140,7 +140,7 @@ async function cont(o) { {{ fmt(o.created_at) }} {{ fmt(o.paid_at) }} ¥{{ o.amount }} - {{ o.points }} + {{ o.points }} {{ STATUS[o.status] }} @@ -149,7 +149,7 @@ async function cont(o) { @@ -177,7 +177,7 @@ async function cont(o) { .log-table { border-collapse: separate; border-spacing: 0; } .log-row td { border-bottom: 1px solid rgb(15 23 42 / 0.06); transition: background-color 0.15s ease, box-shadow 0.15s ease; } .log-row:hover td { background: rgb(15 23 42 / 0.025); } -.log-row:hover td:first-child { box-shadow: inset 2px 0 0 rgb(124 58 237 / 0.6); } +.log-row:hover td:first-child { box-shadow: inset 2px 0 0 rgb(234 88 12 / 0.6); } .log-row:last-child td { border-bottom: none; } .pg { min-width: 1.75rem; padding: 0.3rem 0.55rem; font-size: 0.72rem; font-weight: 500; text-align: center; diff --git a/frontend/src/views/OverviewView.vue b/frontend/src/views/OverviewView.vue index 7165383..53c9562 100644 --- a/frontend/src/views/OverviewView.vue +++ b/frontend/src/views/OverviewView.vue @@ -162,7 +162,7 @@ onUnmounted(() => clearInterval(timer))
用户 - +
@@ -197,7 +197,7 @@ onUnmounted(() => clearInterval(timer))
近 24 小时生成 - +
@@ -223,7 +223,7 @@ onUnmounted(() => clearInterval(timer))
累计生成 - +
@@ -317,7 +317,7 @@ onUnmounted(() => clearInterval(timer))
邀请 - +
@@ -387,8 +387,8 @@ onUnmounted(() => clearInterval(timer))

24 小时生成趋势

- 图像 - 视频 + 图像 + 视频 峰值 {{ hourMax }}/h
@@ -402,8 +402,8 @@ onUnmounted(() => clearInterval(timer)) whitespace-nowrap rounded-md bg-black/90 ring-1 ring-white/10 px-2 py-1 text-[10px] text-white/90 tabular-nums"> {{ 23 - i }}h 前 · 图 {{ b.image }} / 视 {{ b.video }}
-
-
+
+
@@ -448,7 +448,7 @@ onUnmounted(() => clearInterval(timer))
-
@@ -544,7 +544,7 @@ onUnmounted(() => clearInterval(timer)) class="flex items-center gap-3 px-2 py-2 text-xs rounded-lg hover:bg-white/[0.03]"> + :class="e.kind === 'video' ? 'text-rose-300' : 'text-sky-300'"> {{ e.kind === 'video' ? '视频' : '图像' }} {{ e.model }} diff --git a/frontend/src/views/PlaygroundView.vue b/frontend/src/views/PlaygroundView.vue index d033798..1792dfe 100644 --- a/frontend/src/views/PlaygroundView.vue +++ b/frontend/src/views/PlaygroundView.vue @@ -889,7 +889,7 @@ onUnmounted(() => {
+ class="w-full accent-sky-500 h-2 rounded-lg appearance-none bg-slate-200 cursor-pointer" />
{{ secsRange.min }}s{{ secsRange.max }}s
@@ -922,7 +922,7 @@ onUnmounted(() => {
@@ -1058,7 +1058,7 @@ onUnmounted(() => {
{{ item.prompt }}
-
{{ item.model }} · 去AI · {{ (item.elapsed_ms / 1000).toFixed(1) }}s
+
{{ item.model }} · 去AI · {{ (item.elapsed_ms / 1000).toFixed(1) }}s
diff --git a/frontend/src/views/SettingsView.vue b/frontend/src/views/SettingsView.vue index 80006f1..c49f4ce 100644 --- a/frontend/src/views/SettingsView.vue +++ b/frontend/src/views/SettingsView.vue @@ -222,7 +222,7 @@ async function recharge() {
-
账户
+
账户

设置

API Key、密码、积分、登录状态 — 都在这里。

@@ -235,7 +235,7 @@ async function recharge() {
- +

账户信息

@@ -273,10 +273,10 @@ async function recharge() {
+ style="background: radial-gradient(circle,#f97316,transparent 60%)">
-
+

API Key

@@ -323,7 +323,7 @@ async function recharge() {

Key 由系统随机生成,不能手动填写。重新生成会让旧 Key 立刻失效。完整调用示例见 - 接口文档。 + 接口文档。

@@ -384,7 +384,7 @@ async function recharge() {
- 到账 {{ pointsPreview }} 积分 + 到账 {{ pointsPreview }} 积分
diff --git a/frontend/src/views/UserLogsTableView.vue b/frontend/src/views/UserLogsTableView.vue index df7981c..0cf4165 100644 --- a/frontend/src/views/UserLogsTableView.vue +++ b/frontend/src/views/UserLogsTableView.vue @@ -70,7 +70,7 @@ onMounted(load) const isApi = (e) => e.source === 'v1' const sourceLabel = (e) => (isApi(e) ? 'API' : '画图台') const sourcePill = (e) => (isApi(e) - ? 'bg-violet-50 text-violet-700 ring-violet-200' + ? 'bg-orange-50 text-orange-700 ring-orange-200' : 'bg-sky-50 text-sky-700 ring-sky-200') // 搜索走服务端(跨页),直接展示服务端返回的当页结果。 @@ -218,7 +218,7 @@ const params = (e) => {
-
管理员
-
{{ stats.admins }}
+
管理员
+
{{ stats.admins }}
总积分
@@ -234,8 +234,8 @@ async function doRecharge() {
-