feat: unify header and auth action buttons

This commit is contained in:
2026-05-30 00:09:12 +08:00
parent e7e054db7c
commit fa4e00ce8c
5 changed files with 12 additions and 9 deletions
+5 -5
View File
@@ -209,7 +209,7 @@ async function handleLogout() {
class="no-underline" class="no-underline"
> >
<span <span
class="inline-flex h-8 items-center border border-sky-200 bg-sky-100 px-3 text-sm font-medium uppercase tracking-[0.12em] text-sky-800 shadow-[4px_4px_0_0_rgba(14,165,233,0.14)] transition-colors hover:bg-sky-50 hover:text-sky-900 md:h-10 md:px-4" class="inline-flex h-8 items-center border border-sky-200 bg-sky-100 px-3 text-sm font-medium uppercase tracking-[0.12em] text-sky-800 shadow-[4px_4px_0_0_rgba(14,165,233,0.14)] transition-[background-color,color,transform,box-shadow] hover:-translate-x-px hover:-translate-y-px hover:bg-sky-50 hover:text-sky-900 hover:shadow-[5px_5px_0_0_rgba(14,165,233,0.18)] md:h-10 md:px-4"
:class="route.name === 'upload' ? 'ring-1 ring-sky-300' : ''" :class="route.name === 'upload' ? 'ring-1 ring-sky-300' : ''"
> >
上传 上传
@@ -226,8 +226,8 @@ async function handleLogout() {
> >
<button <button
type="button" type="button"
class="inline-flex h-8 max-w-[8.5rem] items-center gap-2 border border-teal-100 bg-white/80 px-3 text-sm font-medium text-teal-800 shadow-[3px_3px_0_0_rgba(20,184,166,0.08)] transition-colors hover:border-teal-200 hover:bg-teal-50 md:h-10 md:max-w-none" class="inline-flex h-8 max-w-[8.5rem] items-center gap-2 border border-teal-100 bg-white/80 px-3 text-sm font-medium text-teal-700 shadow-[3px_3px_0_0_rgba(20,184,166,0.08)] transition-[background-color,color,transform,box-shadow,border-color] hover:-translate-x-px hover:-translate-y-px hover:border-teal-200 hover:bg-teal-50/70 hover:text-teal-800 hover:shadow-[4px_4px_0_0_rgba(20,184,166,0.12)] md:h-10 md:max-w-none"
:class="route.name === 'profile' || route.name === 'profile-settings' ? 'bg-teal-50 ring-1 ring-teal-200' : ''" :class="route.name === 'profile' || route.name === 'profile-settings' ? 'border-teal-200 bg-teal-50/80 text-teal-800 ring-1 ring-teal-200 shadow-[4px_4px_0_0_rgba(20,184,166,0.12)]' : ''"
aria-haspopup="menu" aria-haspopup="menu"
:aria-expanded="accountCardOpen" :aria-expanded="accountCardOpen"
> >
@@ -311,7 +311,7 @@ async function handleLogout() {
class="no-underline" class="no-underline"
> >
<span <span
class="inline-flex h-8 items-center border border-slate-200 bg-white/80 px-3 text-sm font-medium text-slate-700 shadow-[3px_3px_0_0_rgba(15,23,42,0.06)] transition-colors hover:border-teal-200 hover:bg-teal-50 hover:text-teal-800 md:h-10 md:px-4" class="inline-flex h-8 items-center border border-slate-200 bg-white/80 px-3 text-sm font-medium text-slate-700 shadow-[3px_3px_0_0_rgba(15,23,42,0.06)] transition-[background-color,color,transform,box-shadow,border-color] hover:-translate-x-px hover:-translate-y-px hover:border-teal-200 hover:bg-teal-50 hover:text-teal-800 hover:shadow-[4px_4px_0_0_rgba(15,23,42,0.08)] md:h-10 md:px-4"
:class="route.name === 'login' ? 'bg-teal-50 ring-1 ring-teal-200 text-teal-800' : ''" :class="route.name === 'login' ? 'bg-teal-50 ring-1 ring-teal-200 text-teal-800' : ''"
> >
登录 登录
@@ -322,7 +322,7 @@ async function handleLogout() {
class="no-underline" class="no-underline"
> >
<span <span
class="inline-flex h-8 items-center border border-sky-200 bg-sky-100 px-3 text-sm font-medium text-sky-800 shadow-[4px_4px_0_0_rgba(14,165,233,0.14)] transition-colors hover:bg-sky-50 hover:text-sky-900 md:h-10 md:px-4" class="inline-flex h-8 items-center border border-sky-200 bg-sky-100 px-3 text-sm font-medium text-sky-800 shadow-[4px_4px_0_0_rgba(14,165,233,0.14)] transition-[background-color,color,transform,box-shadow] hover:-translate-x-px hover:-translate-y-px hover:bg-sky-50 hover:text-sky-900 hover:shadow-[5px_5px_0_0_rgba(14,165,233,0.18)] md:h-10 md:px-4"
:class="route.name === 'register' ? 'ring-1 ring-sky-300' : ''" :class="route.name === 'register' ? 'ring-1 ring-sky-300' : ''"
> >
注册 注册
+2 -2
View File
@@ -79,7 +79,7 @@ onUnmounted(() => {
<div class="space-y-4"> <div class="space-y-4">
<p class="text-sm text-slate-500">{{ countdown }} 秒后自动跳转登录页面...</p> <p class="text-sm text-slate-500">{{ countdown }} 秒后自动跳转登录页面...</p>
<RouterLink to="/login" class="no-underline"> <RouterLink to="/login" class="no-underline">
<NButton type="primary">立即登录</NButton> <NButton type="primary" class="oc-primary-button oc-primary-button--teal">立即登录</NButton>
</RouterLink> </RouterLink>
</div> </div>
</template> </template>
@@ -90,7 +90,7 @@ onUnmounted(() => {
<NResult status="error" title="认证失败" description="邮箱确认链接无效或已过期,请重新注册。"> <NResult status="error" title="认证失败" description="邮箱确认链接无效或已过期,请重新注册。">
<template #footer> <template #footer>
<RouterLink to="/register" class="no-underline"> <RouterLink to="/register" class="no-underline">
<NButton type="primary">重新注册</NButton> <NButton type="primary" class="oc-primary-button oc-primary-button--sky">重新注册</NButton>
</RouterLink> </RouterLink>
</template> </template>
</NResult> </NResult>
+1
View File
@@ -122,6 +122,7 @@ async function handleSendResetEmail() {
type="primary" type="primary"
block block
size="large" size="large"
class="oc-primary-button oc-primary-button--teal"
:loading="resetMode ? resetLoading : loading" :loading="resetMode ? resetLoading : loading"
> >
<template v-if="resetMode"> <template v-if="resetMode">
+2 -1
View File
@@ -87,7 +87,7 @@ async function handleRegister() {
<span class="font-semibold text-slate-700">{{ email }}</span> <span class="font-semibold text-slate-700">{{ email }}</span>
</p> </p>
<RouterLink to="/login" class="no-underline"> <RouterLink to="/login" class="no-underline">
<NButton type="primary">去登录</NButton> <NButton type="primary" class="oc-primary-button oc-primary-button--teal">去登录</NButton>
</RouterLink> </RouterLink>
</div> </div>
</template> </template>
@@ -152,6 +152,7 @@ async function handleRegister() {
type="primary" type="primary"
block block
size="large" size="large"
class="oc-primary-button oc-primary-button--sky"
:loading="loading" :loading="loading"
> >
{{ loading ? '注册中...' : '注册' }} {{ loading ? '注册中...' : '注册' }}
+2 -1
View File
@@ -80,7 +80,7 @@ async function handleResetPassword() {
description="现在可以使用新密码登录。" description="现在可以使用新密码登录。"
> >
<template #footer> <template #footer>
<NButton type="primary" @click="router.push('/login')">返回登录</NButton> <NButton type="primary" class="oc-primary-button oc-primary-button--teal" @click="router.push('/login')">返回登录</NButton>
</template> </template>
</NResult> </NResult>
@@ -123,6 +123,7 @@ async function handleResetPassword() {
type="primary" type="primary"
block block
size="large" size="large"
class="oc-primary-button oc-primary-button--teal"
:disabled="!canSubmit" :disabled="!canSubmit"
:loading="loading" :loading="loading"
> >