feat(player): theme-2 PC auth layout and correct-score quick bet popover

This commit is contained in:
mars
2026-07-07 14:41:43 +08:00
parent 9be3f87b2b
commit 49594110a5
11 changed files with 583 additions and 403 deletions

View File

@@ -1,121 +1,10 @@
<script setup lang="ts">
/**
* Desktop Forgot Password View
*/
import { RouterLink } from 'vue-router';
import { useI18n } from 'vue-i18n';
import DesktopAuthLayout from '../../components/desktop/DesktopAuthLayout.vue';
import ForgotPasswordView from '../ForgotPasswordView.vue';
const { t } = useI18n();
</script>
<template>
<div class="desktop-auth-shell">
<RouterLink to="/login" class="auth-back-link">{{ t('common.back') }}</RouterLink>
<div class="auth-brand">
<div class="brand-inner">
<img src="/logo.png" alt="TheBet365" class="brand-logo" />
<h1 class="brand-name">THEBET365</h1>
<p class="brand-tagline">重置您的登录密码</p>
</div>
</div>
<div class="auth-card-wrap">
<div class="auth-card">
<ForgotPasswordView />
</div>
</div>
</div>
<DesktopAuthLayout wide>
<ForgotPasswordView desktop />
</DesktopAuthLayout>
</template>
<style scoped>
.desktop-auth-shell {
display: flex;
min-height: 100vh;
background: var(--desktop-bg);
position: relative;
}
.auth-back-link {
position: absolute;
top: 20px;
left: 24px;
z-index: 2;
color: var(--text-muted);
font-size: 14px;
font-weight: 700;
text-decoration: none;
transition: color 0.2s;
}
.auth-back-link:hover {
color: var(--text);
}
.auth-brand {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-card) 50%, var(--bg-card) 100%);
border-right: 1px solid var(--desktop-border);
position: relative;
overflow: hidden;
}
.auth-brand::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 60% 60% at 50% 40%, rgba(0, 102, 204,0.06) 0%, transparent 70%);
pointer-events: none;
}
.brand-inner {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
position: relative;
z-index: 1;
padding: 40px;
}
.brand-logo {
width: 64px;
height: 64px;
object-fit: contain;
filter: drop-shadow(0 4px 16px rgba(0, 102, 204,0.3));
}
.brand-name {
font-size: 28px;
font-weight: 900;
letter-spacing: 0.12em;
color: var(--primary-light);
margin: 0;
}
.brand-tagline {
font-size: 14px;
color: var(--text-muted);
margin: 0;
font-weight: 600;
}
.auth-card-wrap {
width: 480px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 40px;
background: var(--desktop-bg);
overflow-y: auto;
}
.auth-card {
width: 100%;
max-width: 380px;
}
</style>