完善统计功能并优化前端界面
后端: - 扩展 StatsController,新增趋势分析(/trends)和今日待办(/today-todos)接口 - 更新 application-dev.yml 数据库配置(端口3306,允许公钥检索) - 完善 pom.xml Maven 编译器插件和 Lombok 版本配置 - 添加 build-with-idea.sh 构建脚本 前端: - 新增 Register.vue 注册页面 - 优化 Dashboard 仪表盘布局和数据统计展示 - 改进 MainLayout 侧边栏样式和品牌展示 - 更新 Login 登录页面样式 - 新增 theme.css 主题样式文件 - 扩展 API 接口(statsTrends、todayTodos) - 更新路由和全局样式 文档: - 添加功能检查报告和功能列表文档
This commit is contained in:
98
frontend/src/styles/theme.css
Normal file
98
frontend/src/styles/theme.css
Normal file
@@ -0,0 +1,98 @@
|
||||
/* Pet Hospital Theme Variables */
|
||||
:root {
|
||||
/* Primary Brand Colors */
|
||||
--brand-primary: #4361ee;
|
||||
--brand-secondary: #3f37c9;
|
||||
--brand-accent: #4cc9f0;
|
||||
|
||||
/* Status Colors */
|
||||
--status-success: #4ade80;
|
||||
--status-warning: #facc15;
|
||||
--status-error: #f87171;
|
||||
--status-info: #60a5fa;
|
||||
|
||||
/* Neutral Palette */
|
||||
--neutral-50: #f8fafc;
|
||||
--neutral-100: #f1f5f9;
|
||||
--neutral-200: #e2e8f0;
|
||||
--neutral-300: #cbd5e1;
|
||||
--neutral-400: #94a3b8;
|
||||
--neutral-500: #64748b;
|
||||
--neutral-600: #475569;
|
||||
--neutral-700: #334155;
|
||||
--neutral-800: #1e293b;
|
||||
--neutral-900: #0f172a;
|
||||
|
||||
/* Backgrounds */
|
||||
--bg-app: var(--neutral-50);
|
||||
--bg-panel: #ffffff;
|
||||
--bg-hover: var(--neutral-100);
|
||||
|
||||
/* Text */
|
||||
--text-primary: var(--neutral-800);
|
||||
--text-secondary: var(--neutral-600);
|
||||
--text-muted: var(--neutral-500);
|
||||
--text-inverse: #ffffff;
|
||||
|
||||
/* Borders */
|
||||
--border-default: var(--neutral-200);
|
||||
--border-subtle: var(--neutral-300);
|
||||
|
||||
/* Shadows */
|
||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
||||
--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
|
||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
||||
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
||||
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
||||
|
||||
/* Radius */
|
||||
--radius-xs: 4px;
|
||||
--radius-sm: 6px;
|
||||
--radius: 8px;
|
||||
--radius-lg: 12px;
|
||||
--radius-xl: 16px;
|
||||
--radius-full: 9999px;
|
||||
|
||||
/* Transitions */
|
||||
--transition-fast: all 0.15s ease;
|
||||
--transition: all 0.2s ease;
|
||||
--transition-slow: all 0.3s ease;
|
||||
|
||||
/* Spacing */
|
||||
--space-xxs: 4px;
|
||||
--space-xs: 8px;
|
||||
--space-sm: 12px;
|
||||
--space: 16px;
|
||||
--space-md: 20px;
|
||||
--space-lg: 24px;
|
||||
--space-xl: 32px;
|
||||
--space-xxl: 40px;
|
||||
|
||||
/* Typography */
|
||||
--font-size-xs: 12px;
|
||||
--font-size-sm: 14px;
|
||||
--font-size: 16px;
|
||||
--font-size-lg: 18px;
|
||||
--font-size-xl: 20px;
|
||||
--font-size-xxl: 24px;
|
||||
--font-size-xxxl: 32px;
|
||||
|
||||
--font-weight-normal: 400;
|
||||
--font-weight-medium: 500;
|
||||
--font-weight-semibold: 600;
|
||||
--font-weight-bold: 700;
|
||||
}
|
||||
|
||||
/* Dark mode support (optional) */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--bg-app: var(--neutral-900);
|
||||
--bg-panel: var(--neutral-800);
|
||||
--bg-hover: var(--neutral-700);
|
||||
--text-primary: var(--neutral-100);
|
||||
--text-secondary: var(--neutral-300);
|
||||
--text-muted: var(--neutral-400);
|
||||
--border-default: var(--neutral-700);
|
||||
--border-subtle: var(--neutral-600);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user