diff --git a/docs/colors.md b/docs/colors.md new file mode 100644 index 0000000..ee81279 --- /dev/null +++ b/docs/colors.md @@ -0,0 +1,4 @@ +primary-color: #4da30d +primary-color-light: #5fc910 +primary-color-dark: #377508 +accent-color: #e7000b diff --git a/frontend/eslint.config.ts b/frontend/eslint.config.ts index 0a90260..b516c33 100644 --- a/frontend/eslint.config.ts +++ b/frontend/eslint.config.ts @@ -20,7 +20,15 @@ export default defineConfigWithVueTs( pluginVue.configs['flat/essential'], vueTsConfigs.recommended, - + + { + name: 'app/vue-rules', + rules: { + 'vue/block-lang': 'off', + 'vue/multi-word-component-names': 'off', + }, + }, + { ...pluginVitest.configs.recommended, files: ['src/**/__tests__/*'], diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 7905b05..d3dd1ab 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,85 +1,11 @@ - - - - - - - - Home - About - - - - diff --git a/frontend/src/assets/base.css b/frontend/src/assets/base.css index 8816868..f6b4bd2 100644 --- a/frontend/src/assets/base.css +++ b/frontend/src/assets/base.css @@ -1,73 +1,16 @@ -/* color palette from */ +/* 项目主题色 CSS 变量 */ :root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; + --primary-color: #4da30d; + --primary-color-light: #5fc910; + --primary-color-dark: #377508; + --accent-color: #e7000b; } +/* 基础样式 */ body { min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; + margin: 0; font-family: - Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', @@ -79,8 +22,6 @@ body { 'Droid Sans', 'Helvetica Neue', sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } diff --git a/frontend/src/assets/images/bg.jpeg b/frontend/src/assets/images/bg.jpeg new file mode 100644 index 0000000..6e5dc89 Binary files /dev/null and b/frontend/src/assets/images/bg.jpeg differ diff --git a/frontend/src/assets/logo.png b/frontend/src/assets/logo.png new file mode 100644 index 0000000..cd478b2 Binary files /dev/null and b/frontend/src/assets/logo.png differ diff --git a/frontend/src/assets/logo.svg b/frontend/src/assets/logo.svg deleted file mode 100644 index 7565660..0000000 --- a/frontend/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css index db82133..17bdeb6 100644 --- a/frontend/src/assets/main.css +++ b/frontend/src/assets/main.css @@ -1,36 +1,9 @@ @import './base.css'; @import 'tailwindcss'; +/* 应用全局样式 */ #app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; + width: 100%; + height: 100%; font-weight: normal; } - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; - padding: 3px; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/frontend/src/components/Brand.vue b/frontend/src/components/Brand.vue new file mode 100644 index 0000000..54dbf8f --- /dev/null +++ b/frontend/src/components/Brand.vue @@ -0,0 +1,59 @@ + + + + + + + + + DataFlow + + + 数据管理平台 + + + + diff --git a/frontend/src/pages/login.vue b/frontend/src/pages/login.vue index ef6ff3c..0dbda0b 100644 --- a/frontend/src/pages/login.vue +++ b/frontend/src/pages/login.vue @@ -1,4 +1,6 @@ - - - - 用户登录 - 欢迎回到 DataFlow - + + + + + + - - - - - - - - + + + + + + + - - - - - - - + + + 用户登录 + 欢迎回到 DataFlow + - - - - 记住我 - - - 忘记密码? + + + + + + + + + + + + + + + + + + + + + + 记住我 + + + 忘记密码? + + + + + + + 登录 + + + + + 还没有账户? + + 立即注册 - - - - - 登录 - - - - - + + - - diff --git a/frontend/src/pages/register.vue b/frontend/src/pages/register.vue index 2d3329d..df153c0 100644 --- a/frontend/src/pages/register.vue +++ b/frontend/src/pages/register.vue @@ -1,4 +1,6 @@ - - - - 用户注册 - 创建您的 DataFlow 账户 - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 注册 - - - - - -
欢迎回到 DataFlow
创建您的 DataFlow 账户