Skip to content

Commit 8c33ab3

Browse files
committed
更新/修复 前端
1 parent e18980d commit 8c33ab3

13 files changed

Lines changed: 2510 additions & 567 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ jobs:
3636
- name: Build
3737
run: npm run build
3838
working-directory: web
39+
env:
40+
VITE_LXNS_DEVELOPER_TOKEN: ${{ vars.VITE_LXNS_DEVELOPER_TOKEN }}
41+
VITE_SHUIYU_DEVELOPER_TOKEN: ${{ vars.VITE_SHUIYU_DEVELOPER_TOKEN }}
3942

4043
- uses: actions/upload-pages-artifact@v3
4144
with:

web/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ node_modules
1111
dist
1212
dist-ssr
1313
*.local
14+
.env
15+
.env.*
16+
!.env.example
1417

1518
# Editor directories and files
1619
.vscode/*

web/package-lock.json

Lines changed: 2159 additions & 137 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web/package.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,18 @@
99
"preview": "vite preview"
1010
},
1111
"dependencies": {
12+
"@chenfengyuan/vue-qrcode": "^2.0.0",
13+
"@iconify/json": "^2.2.453",
14+
"@munet/ui": "^1.0.12",
15+
"@types/lodash-es": "^4.17.12",
16+
"@unocss/preset-icons": "^66.6.7",
17+
"@unocss/reset": "^66.6.7",
18+
"@vueuse/core": "^14.2.1",
1219
"chart.js": "^4.5.1",
20+
"lodash-es": "^4.17.23",
1321
"papaparse": "^5.5.3",
22+
"qrcode": "^1.5.4",
23+
"unocss": "^66.6.7",
1424
"vue": "^3.5.30",
1525
"vue-chartjs": "^5.3.3",
1626
"vue-router": "^4.6.4"
@@ -20,6 +30,8 @@
2030
"@types/papaparse": "^5.5.2",
2131
"@vitejs/plugin-vue": "^6.0.5",
2232
"@vue/tsconfig": "^0.9.0",
33+
"sass": "^1.98.0",
34+
"tinyglobby": "^0.2.15",
2335
"typescript": "~5.9.3",
2436
"vite": "^8.0.1",
2537
"vue-tsc": "^3.2.5"

web/src/App.vue

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
<script setup lang="ts">
2+
import { GlobalElementsContainer, themeClasses } from '@munet/ui'
23
</script>
34

45
<template>
5-
<header>
6-
<div class="nav-container">
7-
<router-link to="/" class="brand">Chunithm → MuNET</router-link>
8-
<nav class="nav-links">
9-
<router-link to="/" class="nav-link">转换器</router-link>
10-
<router-link to="/visualizer" class="nav-link">可视化</router-link>
11-
</nav>
12-
</div>
13-
</header>
6+
<GlobalElementsContainer />
7+
<div :class="themeClasses" class="flex-1 flex flex-col">
8+
<header>
9+
<div class="nav-container">
10+
<router-link to="/" class="brand">Chunithm → MuNET</router-link>
11+
<nav class="nav-links">
12+
<router-link to="/" class="nav-link">转换器</router-link>
13+
<router-link to="/visualizer" class="nav-link">可视化</router-link>
14+
</nav>
15+
</div>
16+
</header>
1417

15-
<main class="container">
16-
<router-view />
17-
</main>
18+
<main class="container">
19+
<router-view />
20+
</main>
1821

19-
<footer>
20-
<p>Powered by MuNET-OSS · <a href="https://github.com/MuNET-OSS/chunithm-data-converter" target="_blank" rel="noopener noreferrer">GitHub</a></p>
21-
</footer>
22+
<footer>
23+
<p>Powered by MuNET-OSS · <a href="https://github.com/MuNET-OSS/chunithm-data-converter" target="_blank" rel="noopener noreferrer">GitHub</a></p>
24+
</footer>
25+
</div>
2226
</template>
2327

2428
<style>

web/src/main.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1+
import '@unocss/reset/tailwind-compat.css'
2+
import 'virtual:uno.css'
13
import { createApp } from 'vue'
24
import App from './App.vue'
35
import router from './router'
46
import './style.css'
7+
import { initThemeDefaults, selectedThemeName, UIThemes } from '@munet/ui'
8+
import '@munet/ui/uno.css'
9+
10+
initThemeDefaults({ hue: 260 })
11+
selectedThemeName.value = UIThemes.Auto
512

613
createApp(App).use(router).mount('#app')

web/src/style.css

Lines changed: 0 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -161,139 +161,6 @@ p {
161161
margin-bottom: var(--spacing-4);
162162
}
163163

164-
/* Components */
165-
.card {
166-
background-color: var(--card-bg);
167-
border-radius: var(--radius-md);
168-
border: 1px solid var(--border-color);
169-
padding: var(--spacing-6);
170-
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
171-
transition: transform 0.2s ease, box-shadow 0.2s ease;
172-
}
173-
174-
.card:hover {
175-
box-shadow: 0 10px 15px -3px var(--accent-glow), 0 4px 6px -2px var(--accent-glow);
176-
border-color: rgba(139, 92, 246, 0.3);
177-
}
178-
179-
.btn {
180-
display: inline-flex;
181-
align-items: center;
182-
justify-content: center;
183-
padding: var(--spacing-2) var(--spacing-4);
184-
border-radius: var(--radius-sm);
185-
font-weight: 600;
186-
font-size: 0.875rem;
187-
cursor: pointer;
188-
transition: all 0.2s ease;
189-
border: none;
190-
font-family: inherit;
191-
outline: none;
192-
}
193-
194-
.btn:disabled {
195-
opacity: 0.5;
196-
cursor: not-allowed;
197-
}
198-
199-
.btn-primary {
200-
background: var(--primary-gradient);
201-
color: white;
202-
box-shadow: 0 4px 14px 0 var(--accent-glow);
203-
}
204-
205-
.btn-primary:hover:not(:disabled) {
206-
background: var(--primary-gradient-hover);
207-
transform: translateY(-1px);
208-
box-shadow: 0 6px 20px var(--accent-glow);
209-
}
210-
211-
.btn-secondary {
212-
background-color: transparent;
213-
color: var(--text-primary);
214-
border: 1px solid var(--border-color);
215-
}
216-
217-
.btn-secondary:hover:not(:disabled) {
218-
background-color: var(--border-color);
219-
}
220-
221-
.btn-block {
222-
width: 100%;
223-
}
224-
225-
.form-group {
226-
margin-bottom: var(--spacing-4);
227-
}
228-
229-
.form-label {
230-
display: block;
231-
font-weight: 500;
232-
margin-bottom: var(--spacing-2);
233-
color: var(--text-primary);
234-
font-size: 0.875rem;
235-
}
236-
237-
.input, .select {
238-
width: 100%;
239-
padding: var(--spacing-2) var(--spacing-3);
240-
border-radius: var(--radius-sm);
241-
border: 1px solid var(--border-color);
242-
background-color: var(--bg-color);
243-
color: var(--text-primary);
244-
font-family: inherit;
245-
font-size: 1rem;
246-
transition: all 0.2s ease;
247-
}
248-
249-
.input:focus, .select:focus {
250-
outline: none;
251-
border-color: var(--primary-color);
252-
box-shadow: 0 0 0 3px var(--accent-glow);
253-
}
254-
255-
.input::placeholder {
256-
color: var(--text-muted);
257-
}
258-
259-
.tabs {
260-
display: flex;
261-
border-bottom: 1px solid var(--border-color);
262-
margin-bottom: var(--spacing-6);
263-
gap: var(--spacing-6);
264-
}
265-
266-
.tab {
267-
background: none;
268-
border: none;
269-
padding: var(--spacing-2) 0;
270-
color: var(--text-secondary);
271-
font-weight: 600;
272-
font-size: 1rem;
273-
cursor: pointer;
274-
position: relative;
275-
transition: color 0.2s ease;
276-
}
277-
278-
.tab:hover {
279-
color: var(--text-primary);
280-
}
281-
282-
.tab.active {
283-
color: var(--primary-color);
284-
}
285-
286-
.tab.active::after {
287-
content: '';
288-
position: absolute;
289-
bottom: -1px;
290-
left: 0;
291-
right: 0;
292-
height: 2px;
293-
background: var(--primary-gradient);
294-
border-radius: 2px 2px 0 0;
295-
}
296-
297164
/* Utilities */
298165
.text-center { text-align: center; }
299166
.mt-2 { margin-top: var(--spacing-2); }

0 commit comments

Comments
 (0)