c8cfed0add
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 9s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m3s
CI/CD Pipeline / Integration Tests (push) Successful in 2m26s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m24s
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m6s
CI/CD Pipeline / Validate - Style (push) Successful in 3m10s
CI/CD Pipeline / Build Staging API Image (push) Successful in 29s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 31s
AI Code Review / AI Code Review (pull_request) Failing after 3m49s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m5s
CI/CD Pipeline / Validate - Security (push) Successful in 5m39s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 52s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m35s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m54s
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 261h48m38s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 261h48m38s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 261h48m38s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 261h50m20s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 261h51m21s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 261h51m24s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 261h51m27s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 261h51m40s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 261h51m34s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 261h53m21s
CI/CD Pipeline / PR Build API Image (push) Failing after 261h53m22s
CI/CD Pipeline / Frontend Lint (push) Failing after 261h53m31s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 261h53m45s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 261h53m46s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 262h25m55s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 262h26m7s
CI/CD Pipeline / PR Build Web Image (push) Failing after 262h27m54s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com> Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
213 lines
4.3 KiB
CSS
213 lines
4.3 KiB
CSS
/**
|
|
* V21 个人设置页面样式 - CSS变量体系
|
|
*/
|
|
@import "../../styles/global.css";
|
|
|
|
/* 页面容器 */
|
|
.xx-settings-page {
|
|
max-width: 900px;
|
|
margin: 0 auto;
|
|
padding: var(--space-2xl) var(--space-lg);
|
|
}
|
|
|
|
/* 页面头部 */
|
|
.xx-settings-head {
|
|
background: var(--bg-glass);
|
|
border: 1px solid var(--bg-glass-border);
|
|
border-radius: var(--radius-xl);
|
|
box-shadow: var(--shadow-card);
|
|
padding: var(--space-xl);
|
|
margin-bottom: var(--space-xl);
|
|
}
|
|
|
|
.xx-settings-head h1 {
|
|
font-size: var(--font-size-3xl);
|
|
font-weight: var(--font-weight-extrabold);
|
|
color: var(--text-primary);
|
|
margin: 0 0 var(--space-sm);
|
|
letter-spacing: var(--letter-spacing-tight);
|
|
}
|
|
|
|
.xx-settings-head p {
|
|
font-size: var(--font-size-md);
|
|
color: var(--text-secondary);
|
|
margin: 0;
|
|
}
|
|
|
|
/* 内容卡片 */
|
|
.xx-settings-card {
|
|
background: var(--bg-glass);
|
|
border: 1px solid var(--bg-glass-border);
|
|
border-radius: var(--radius-xl);
|
|
box-shadow: var(--shadow-card);
|
|
padding: var(--space-xl);
|
|
margin-bottom: var(--space-xl);
|
|
transition: var(--transition-base);
|
|
}
|
|
|
|
.xx-settings-card:hover {
|
|
box-shadow: var(--shadow-md);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
/* 卡片标题 */
|
|
.xx-settings-card h3 {
|
|
font-size: var(--font-size-xl);
|
|
font-weight: var(--font-weight-extrabold);
|
|
color: var(--text-primary);
|
|
margin: 0 0 var(--space-lg);
|
|
padding-bottom: var(--space-md);
|
|
border-bottom: 1px solid var(--border-color);
|
|
}
|
|
|
|
/* 结果页面容器 */
|
|
.xx-result-page {
|
|
background: var(--bg-glass);
|
|
border: 1px solid var(--bg-glass-border);
|
|
border-radius: var(--radius-xl);
|
|
box-shadow: var(--shadow-card);
|
|
padding: var(--space-3xl) var(--space-2xl);
|
|
margin-bottom: var(--space-xl);
|
|
text-align: center;
|
|
transition: var(--transition-base);
|
|
}
|
|
|
|
.xx-result-page:hover {
|
|
box-shadow: var(--shadow-md);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
/* 按钮容器 */
|
|
.xx-btn-group {
|
|
margin-top: var(--space-lg);
|
|
display: flex;
|
|
gap: var(--space-md);
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
/* 表单区块标题 */
|
|
.xx-section-title {
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-bold);
|
|
color: var(--text-primary);
|
|
margin: var(--space-lg) 0 var(--space-md);
|
|
}
|
|
|
|
.xx-section-title:first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
/* Ant Design Form 适配 */
|
|
.ant-form-item {
|
|
margin-bottom: var(--space-lg);
|
|
}
|
|
|
|
.ant-form-item-label > label {
|
|
font-weight: var(--font-weight-semibold);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.ant-input,
|
|
.ant-input-affix-wrapper {
|
|
border-radius: var(--radius-sm) !important;
|
|
border-color: var(--border-color) !important;
|
|
}
|
|
|
|
.ant-input:hover,
|
|
.ant-input-affix-wrapper:hover {
|
|
border-color: var(--primary-color) !important;
|
|
}
|
|
|
|
.ant-input:focus,
|
|
.ant-input-affix-wrapper:focus,
|
|
.ant-input-affix-wrapper-focused {
|
|
border-color: var(--primary-color) !important;
|
|
box-shadow: 0 0 0 2px var(--primary-soft) !important;
|
|
}
|
|
|
|
/* Switch 样式 */
|
|
.ant-switch {
|
|
background: var(--border-color);
|
|
}
|
|
|
|
.ant-switch-checked {
|
|
background: var(--gradient-primary) !important;
|
|
}
|
|
|
|
/* Alert 样式 */
|
|
.ant-alert {
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-md) var(--space-lg);
|
|
margin-bottom: var(--space-lg);
|
|
}
|
|
|
|
.ant-alert-info {
|
|
background: var(--primary-soft);
|
|
border: 1px solid var(--info-border);
|
|
}
|
|
|
|
.ant-alert-message {
|
|
font-weight: var(--font-weight-semibold);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.ant-alert-description {
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
/* Result 组件样式 */
|
|
.ant-result {
|
|
padding: 0;
|
|
}
|
|
|
|
.ant-result-title {
|
|
font-size: var(--font-size-2xl);
|
|
font-weight: var(--font-weight-extrabold);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.ant-result-subtitle {
|
|
font-size: var(--font-size-base);
|
|
color: var(--text-secondary);
|
|
margin-top: var(--space-sm);
|
|
}
|
|
|
|
/* Divider */
|
|
.ant-divider {
|
|
border-color: var(--border-color);
|
|
margin: var(--space-lg) 0;
|
|
}
|
|
|
|
/* 微信账号绑定卡片 */
|
|
.xx-settings-wechat {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--space-lg);
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.xx-settings-wechat-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.xx-settings-wechat-info .xx-wechat-icon {
|
|
font-size: 28px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.xx-settings-wechat-info strong {
|
|
display: block;
|
|
color: var(--text-primary);
|
|
font-size: var(--font-size-md);
|
|
}
|
|
|
|
.xx-settings-wechat-info p {
|
|
margin: 2px 0 0;
|
|
color: var(--text-secondary);
|
|
font-size: var(--font-size-sm);
|
|
}
|