Tidy up project
This commit is contained in:
parent
37b3f75f36
commit
ca0605a0b2
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"cSpell.words": ["Vitesse", "Vite", "unocss", "vitest", "vueuse", "pinia", "demi", "antfu", "iconify", "intlify", "vitejs", "unplugin", "pnpm"],
|
"cSpell.words": ["Vitesse", "Vite", "unocss", "vitest", "vueuse", "pinia", "demi", "antfu", "iconify", "intlify", "vitejs", "unplugin", "pnpm"],
|
||||||
"i18n-ally.sourceLanguage": "en",
|
"i18n-ally.sourceLanguage": "zh-CN",
|
||||||
"i18n-ally.keystyle": "nested",
|
"i18n-ally.keystyle": "nested",
|
||||||
"i18n-ally.localesPaths": "locales",
|
"i18n-ally.localesPaths": "locales",
|
||||||
"i18n-ally.sortKeys": true,
|
"i18n-ally.sortKeys": true,
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
## i18n
|
|
||||||
|
|
||||||
This directory is to serve your locale translation files. YAML under this folder would be loaded automatically and register with their filenames as locale code.
|
|
||||||
|
|
||||||
Check out [`vue-i18n`](https://github.com/intlify/vue-i18n-next) for more details.
|
|
||||||
|
|
||||||
If you are using VS Code, [`i18n Ally`](https://github.com/lokalise/i18n-ally) is recommended to make the i18n experience better.
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: حول
|
|
||||||
back: رجوع
|
|
||||||
go: تجربة
|
|
||||||
home: الرئيسية
|
|
||||||
toggle_dark: التغيير إلى الوضع المظلم
|
|
||||||
toggle_langs: تغيير اللغة
|
|
||||||
intro:
|
|
||||||
desc: vite مثال لتطبيق
|
|
||||||
dynamic-route: عرض لتوجيهات ديناميكية
|
|
||||||
hi: مرحبا {name}
|
|
||||||
aka: معروف أيضا تحت مسمى
|
|
||||||
whats-your-name: ما إسمك؟
|
|
||||||
not-found: صفحة غير موجودة
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Über
|
|
||||||
back: Zurück
|
|
||||||
go: Los
|
|
||||||
home: Startseite
|
|
||||||
toggle_dark: Dunkelmodus umschalten
|
|
||||||
toggle_langs: Sprachen ändern
|
|
||||||
intro:
|
|
||||||
desc: Vite Startvorlage mit Vorlieben
|
|
||||||
dynamic-route: Demo einer dynamischen Route
|
|
||||||
hi: Hi, {name}!
|
|
||||||
aka: Auch bekannt als
|
|
||||||
whats-your-name: Wie heißt du?
|
|
||||||
not-found: Nicht gefunden
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Acerca de
|
|
||||||
back: Atrás
|
|
||||||
go: Ir
|
|
||||||
home: Inicio
|
|
||||||
toggle_dark: Alternar modo oscuro
|
|
||||||
toggle_langs: Cambiar idiomas
|
|
||||||
intro:
|
|
||||||
desc: Plantilla de Inicio de Vite Dogmática
|
|
||||||
dynamic-route: Demo de ruta dinámica
|
|
||||||
hi: ¡Hola, {name}!
|
|
||||||
aka: También conocido como
|
|
||||||
whats-your-name: ¿Cómo te llamas?
|
|
||||||
not-found: No se ha encontrado
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: À propos
|
|
||||||
back: Retour
|
|
||||||
go: Essayer
|
|
||||||
home: Accueil
|
|
||||||
toggle_dark: Basculer en mode sombre
|
|
||||||
toggle_langs: Changer de langue
|
|
||||||
intro:
|
|
||||||
desc: Exemple d'application Vite
|
|
||||||
dynamic-route: Démo de route dynamique
|
|
||||||
hi: Salut, {name}!
|
|
||||||
aka: Aussi connu sous le nom de
|
|
||||||
whats-your-name: Comment t'appelles-tu ?
|
|
||||||
not-found: Page non trouvée
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Tentang
|
|
||||||
back: Kembali
|
|
||||||
go: Pergi
|
|
||||||
home: Beranda
|
|
||||||
toggle_dark: Ubah ke mode gelap
|
|
||||||
toggle_langs: Ubah bahasa
|
|
||||||
intro:
|
|
||||||
desc: Template awal vite
|
|
||||||
dynamic-route: Contoh rute dinamik
|
|
||||||
hi: Halo, {name}!
|
|
||||||
aka: Juga diketahui sebagai
|
|
||||||
whats-your-name: Siapa nama anda?
|
|
||||||
not-found: Tidak ditemukan
|
|
@ -1,13 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Su di me
|
|
||||||
back: Indietro
|
|
||||||
go: Vai
|
|
||||||
home: Home
|
|
||||||
toggle_dark: Attiva/disattiva modalità scura
|
|
||||||
toggle_langs: Cambia lingua
|
|
||||||
intro:
|
|
||||||
desc: Modello per una Applicazione Vite
|
|
||||||
dynamic-route: Demo di rotta dinamica
|
|
||||||
hi: Ciao, {name}!
|
|
||||||
whats-your-name: Come ti chiami?
|
|
||||||
not-found: Non trovato
|
|
@ -1,13 +0,0 @@
|
|||||||
button:
|
|
||||||
about: これは?
|
|
||||||
back: 戻る
|
|
||||||
go: 進む
|
|
||||||
home: ホーム
|
|
||||||
toggle_dark: ダークモード切り替え
|
|
||||||
toggle_langs: 言語切り替え
|
|
||||||
intro:
|
|
||||||
desc: 固執された Vite スターターテンプレート
|
|
||||||
dynamic-route: 動的ルートのデモ
|
|
||||||
hi: こんにちは、{name}!
|
|
||||||
whats-your-name: 君の名は。
|
|
||||||
not-found: 見つかりませんでした
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: შესახებ
|
|
||||||
back: უკან
|
|
||||||
go: დაწყება
|
|
||||||
home: მთავარი
|
|
||||||
toggle_dark: გადართე მუქი რეჟიმი
|
|
||||||
toggle_langs: ენის შეცვლა
|
|
||||||
intro:
|
|
||||||
desc: Opinionated Vite Starter Template
|
|
||||||
dynamic-route: დინამიური როუტინგის დემო
|
|
||||||
hi: გამარჯობა, {name}!
|
|
||||||
aka: ასევე ცნობილი როგორც
|
|
||||||
whats-your-name: რა გქვია?
|
|
||||||
not-found: ვერ მოიძებნა
|
|
@ -1,13 +0,0 @@
|
|||||||
button:
|
|
||||||
about: 소개
|
|
||||||
back: 뒤로가기
|
|
||||||
go: 이동
|
|
||||||
home: 홈
|
|
||||||
toggle_dark: 다크모드 토글
|
|
||||||
toggle_langs: 언어 변경
|
|
||||||
intro:
|
|
||||||
desc: Vite 애플리케이션 템플릿
|
|
||||||
dynamic-route: 다이나믹 라우트 데모
|
|
||||||
hi: 안녕, {name}!
|
|
||||||
whats-your-name: 이름이 뭐예요?
|
|
||||||
not-found: 찾을 수 없습니다
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: O nas
|
|
||||||
back: Wróć
|
|
||||||
go: WEJDŹ
|
|
||||||
home: Strona główna
|
|
||||||
toggle_dark: Ustaw tryb nocny
|
|
||||||
toggle_langs: Zmień język
|
|
||||||
intro:
|
|
||||||
desc: Opiniowany szablon startowy Vite
|
|
||||||
dynamic-route: Demonstracja dynamicznego route
|
|
||||||
hi: Cześć, {name}!
|
|
||||||
aka: Znany też jako
|
|
||||||
whats-your-name: Jak masz na imię?
|
|
||||||
not-found: Nie znaleziono
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Sobre
|
|
||||||
back: Voltar
|
|
||||||
go: Ir
|
|
||||||
home: Início
|
|
||||||
toggle_dark: Alternar modo escuro
|
|
||||||
toggle_langs: Mudar de idioma
|
|
||||||
intro:
|
|
||||||
desc: Modelo Opinativo de Partida de Vite
|
|
||||||
dynamic-route: Demonstração de rota dinâmica
|
|
||||||
hi: Olá, {name}!
|
|
||||||
aka: Também conhecido como
|
|
||||||
whats-your-name: Qual é o seu nome?
|
|
||||||
not-found: Não encontrado
|
|
@ -1,13 +0,0 @@
|
|||||||
button:
|
|
||||||
about: О шаблоне
|
|
||||||
back: Назад
|
|
||||||
go: Перейти
|
|
||||||
home: Главная
|
|
||||||
toggle_dark: Включить темный режим
|
|
||||||
toggle_langs: Сменить язык
|
|
||||||
intro:
|
|
||||||
desc: Самостоятельный начальный шаблон Vite
|
|
||||||
dynamic-route: Демо динамического маршрута
|
|
||||||
hi: Привет, {name}!
|
|
||||||
whats-your-name: Как тебя зовут?
|
|
||||||
not-found: Не найден
|
|
@ -1,14 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Hakkımda
|
|
||||||
back: Geri
|
|
||||||
go: İLERİ
|
|
||||||
home: Anasayfa
|
|
||||||
toggle_dark: Karanlık modu değiştir
|
|
||||||
toggle_langs: Dilleri değiştir
|
|
||||||
intro:
|
|
||||||
desc: Görüşlü Vite Başlangıç Şablonu
|
|
||||||
dynamic-route: Dinamik rota demosu
|
|
||||||
hi: Merhaba, {name}!
|
|
||||||
aka: Ayrıca şöyle bilinir
|
|
||||||
whats-your-name: Adınız nedir?
|
|
||||||
not-found: Bulunamadı
|
|
@ -1,13 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Про шаблон
|
|
||||||
back: Назад
|
|
||||||
go: Перейти
|
|
||||||
home: Головна
|
|
||||||
toggle_dark: Переключити темний режим
|
|
||||||
toggle_langs: Змінити мову
|
|
||||||
intro:
|
|
||||||
desc: Самостійний початковий шаблон Vite
|
|
||||||
dynamic-route: Демо динамічного маршруту
|
|
||||||
hi: Привіт, {name}!
|
|
||||||
whats-your-name: Як тебе звати?
|
|
||||||
not-found: Не знайдено
|
|
@ -1,13 +0,0 @@
|
|||||||
button:
|
|
||||||
about: Về
|
|
||||||
back: Quay lại
|
|
||||||
go: Đi
|
|
||||||
home: Khởi đầu
|
|
||||||
toggle_dark: Chuyển đổi chế độ tối
|
|
||||||
toggle_langs: Thay đổi ngôn ngữ
|
|
||||||
intro:
|
|
||||||
desc: Ý kiến cá nhân Vite Template để bắt đầu
|
|
||||||
dynamic-route: Bản giới thiệu về dynamic route
|
|
||||||
hi: Hi, {name}!
|
|
||||||
whats-your-name: Tên bạn là gì?
|
|
||||||
not-found: Không tìm thấy
|
|
@ -19,7 +19,6 @@
|
|||||||
"@vueuse/core": "^9.11.0",
|
"@vueuse/core": "^9.11.0",
|
||||||
"@vueuse/head": "^1.0.22",
|
"@vueuse/head": "^1.0.22",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^2.0.29",
|
|
||||||
"vue": "^3.2.45",
|
"vue": "^3.2.45",
|
||||||
"vue-demi": "^0.13.11",
|
"vue-demi": "^0.13.11",
|
||||||
"vue-i18n": "^9.2.2",
|
"vue-i18n": "^9.2.2",
|
||||||
|
@ -21,7 +21,6 @@ specifiers:
|
|||||||
markdown-it-link-attributes: ^4.0.1
|
markdown-it-link-attributes: ^4.0.1
|
||||||
markdown-it-shiki: ^0.7.2
|
markdown-it-shiki: ^0.7.2
|
||||||
nprogress: ^0.2.0
|
nprogress: ^0.2.0
|
||||||
pinia: ^2.0.29
|
|
||||||
pnpm: ^7.25.1
|
pnpm: ^7.25.1
|
||||||
shiki: ^0.12.1
|
shiki: ^0.12.1
|
||||||
taze: ^0.8.5
|
taze: ^0.8.5
|
||||||
@ -52,7 +51,6 @@ dependencies:
|
|||||||
'@vueuse/core': 9.11.0_vue@3.2.45
|
'@vueuse/core': 9.11.0_vue@3.2.45
|
||||||
'@vueuse/head': 1.0.22_vue@3.2.45
|
'@vueuse/head': 1.0.22_vue@3.2.45
|
||||||
nprogress: 0.2.0
|
nprogress: 0.2.0
|
||||||
pinia: 2.0.29_prq2uz4lho2pwp6irk4cfkrxwu
|
|
||||||
vue: 3.2.45
|
vue: 3.2.45
|
||||||
vue-demi: 0.13.11_vue@3.2.45
|
vue-demi: 0.13.11_vue@3.2.45
|
||||||
vue-i18n: 9.2.2_vue@3.2.45
|
vue-i18n: 9.2.2_vue@3.2.45
|
||||||
@ -7345,24 +7343,6 @@ packages:
|
|||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/pinia/2.0.29_prq2uz4lho2pwp6irk4cfkrxwu:
|
|
||||||
resolution: {integrity: sha512-5z/KpFecq/cIgfeTnulJXldiLcTITRkTe3N58RKYSj0Pc1EdR6oyCdnf5A9jLoVwBqX5LtHhd0kGlpzWvk9oiQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@vue/composition-api': ^1.4.0
|
|
||||||
typescript: '>=4.4.4'
|
|
||||||
vue: ^2.6.14 || ^3.2.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@vue/composition-api':
|
|
||||||
optional: true
|
|
||||||
typescript:
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@vue/devtools-api': 6.4.5
|
|
||||||
typescript: 4.9.4
|
|
||||||
vue: 3.2.45
|
|
||||||
vue-demi: 0.13.11_vue@3.2.45
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/pkg-types/1.0.1:
|
/pkg-types/1.0.1:
|
||||||
resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==}
|
resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -8542,6 +8522,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
|
resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
|
||||||
engines: {node: '>=4.2.0'}
|
engines: {node: '>=4.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
/uc.micro/1.0.6:
|
/uc.micro/1.0.6:
|
||||||
resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
|
resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
// you can use this to manipulate the document head in any components,
|
// you can use this to manipulate the document head in any components,
|
||||||
// they will be rendered correctly in the html results with vite-ssg
|
// they will be rendered correctly in the html results with vite-ssg
|
||||||
useHead({
|
useHead({
|
||||||
title: 'Vitesse',
|
title: '合肥市南园学校19预科2班',
|
||||||
meta: [
|
meta: [
|
||||||
{ name: 'description', content: 'Opinionated Vite Starter Template' },
|
{ name: 'description', content: '合肥市南园学校19预科2班非官方页面。' },
|
||||||
{
|
{
|
||||||
name: 'theme-color',
|
name: 'theme-color',
|
||||||
content: computed(() => isDark.value ? '#00aba9' : '#ffffff'),
|
content: computed(() => isDark.value ? '#00aba9' : '#ffffff'),
|
||||||
|
6
src/auto-imports.d.ts
vendored
6
src/auto-imports.d.ts
vendored
@ -117,6 +117,7 @@ declare global {
|
|||||||
const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
|
const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
|
||||||
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
|
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
|
||||||
const useArraySome: typeof import('@vueuse/core')['useArraySome']
|
const useArraySome: typeof import('@vueuse/core')['useArraySome']
|
||||||
|
const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique']
|
||||||
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
|
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
|
||||||
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
|
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
|
||||||
const useAttrs: typeof import('vue')['useAttrs']
|
const useAttrs: typeof import('vue')['useAttrs']
|
||||||
@ -202,6 +203,7 @@ declare global {
|
|||||||
const useParallax: typeof import('@vueuse/core')['useParallax']
|
const useParallax: typeof import('@vueuse/core')['useParallax']
|
||||||
const usePermission: typeof import('@vueuse/core')['usePermission']
|
const usePermission: typeof import('@vueuse/core')['usePermission']
|
||||||
const usePointer: typeof import('@vueuse/core')['usePointer']
|
const usePointer: typeof import('@vueuse/core')['usePointer']
|
||||||
|
const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
|
||||||
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
||||||
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
|
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
|
||||||
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
|
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
|
||||||
@ -249,7 +251,6 @@ declare global {
|
|||||||
const useTransition: typeof import('@vueuse/core')['useTransition']
|
const useTransition: typeof import('@vueuse/core')['useTransition']
|
||||||
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
|
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
|
||||||
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
|
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
|
||||||
const useUserStore: typeof import('./stores/user')['useUserStore']
|
|
||||||
const useVModel: typeof import('@vueuse/core')['useVModel']
|
const useVModel: typeof import('@vueuse/core')['useVModel']
|
||||||
const useVModels: typeof import('@vueuse/core')['useVModels']
|
const useVModels: typeof import('@vueuse/core')['useVModels']
|
||||||
const useVibrate: typeof import('@vueuse/core')['useVibrate']
|
const useVibrate: typeof import('@vueuse/core')['useVibrate']
|
||||||
@ -397,6 +398,7 @@ declare module 'vue' {
|
|||||||
readonly useArrayMap: UnwrapRef<typeof import('@vueuse/core')['useArrayMap']>
|
readonly useArrayMap: UnwrapRef<typeof import('@vueuse/core')['useArrayMap']>
|
||||||
readonly useArrayReduce: UnwrapRef<typeof import('@vueuse/core')['useArrayReduce']>
|
readonly useArrayReduce: UnwrapRef<typeof import('@vueuse/core')['useArrayReduce']>
|
||||||
readonly useArraySome: UnwrapRef<typeof import('@vueuse/core')['useArraySome']>
|
readonly useArraySome: UnwrapRef<typeof import('@vueuse/core')['useArraySome']>
|
||||||
|
readonly useArrayUnique: UnwrapRef<typeof import('@vueuse/core')['useArrayUnique']>
|
||||||
readonly useAsyncQueue: UnwrapRef<typeof import('@vueuse/core')['useAsyncQueue']>
|
readonly useAsyncQueue: UnwrapRef<typeof import('@vueuse/core')['useAsyncQueue']>
|
||||||
readonly useAsyncState: UnwrapRef<typeof import('@vueuse/core')['useAsyncState']>
|
readonly useAsyncState: UnwrapRef<typeof import('@vueuse/core')['useAsyncState']>
|
||||||
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
||||||
@ -482,6 +484,7 @@ declare module 'vue' {
|
|||||||
readonly useParallax: UnwrapRef<typeof import('@vueuse/core')['useParallax']>
|
readonly useParallax: UnwrapRef<typeof import('@vueuse/core')['useParallax']>
|
||||||
readonly usePermission: UnwrapRef<typeof import('@vueuse/core')['usePermission']>
|
readonly usePermission: UnwrapRef<typeof import('@vueuse/core')['usePermission']>
|
||||||
readonly usePointer: UnwrapRef<typeof import('@vueuse/core')['usePointer']>
|
readonly usePointer: UnwrapRef<typeof import('@vueuse/core')['usePointer']>
|
||||||
|
readonly usePointerLock: UnwrapRef<typeof import('@vueuse/core')['usePointerLock']>
|
||||||
readonly usePointerSwipe: UnwrapRef<typeof import('@vueuse/core')['usePointerSwipe']>
|
readonly usePointerSwipe: UnwrapRef<typeof import('@vueuse/core')['usePointerSwipe']>
|
||||||
readonly usePreferredColorScheme: UnwrapRef<typeof import('@vueuse/core')['usePreferredColorScheme']>
|
readonly usePreferredColorScheme: UnwrapRef<typeof import('@vueuse/core')['usePreferredColorScheme']>
|
||||||
readonly usePreferredContrast: UnwrapRef<typeof import('@vueuse/core')['usePreferredContrast']>
|
readonly usePreferredContrast: UnwrapRef<typeof import('@vueuse/core')['usePreferredContrast']>
|
||||||
@ -529,7 +532,6 @@ declare module 'vue' {
|
|||||||
readonly useTransition: UnwrapRef<typeof import('@vueuse/core')['useTransition']>
|
readonly useTransition: UnwrapRef<typeof import('@vueuse/core')['useTransition']>
|
||||||
readonly useUrlSearchParams: UnwrapRef<typeof import('@vueuse/core')['useUrlSearchParams']>
|
readonly useUrlSearchParams: UnwrapRef<typeof import('@vueuse/core')['useUrlSearchParams']>
|
||||||
readonly useUserMedia: UnwrapRef<typeof import('@vueuse/core')['useUserMedia']>
|
readonly useUserMedia: UnwrapRef<typeof import('@vueuse/core')['useUserMedia']>
|
||||||
readonly useUserStore: UnwrapRef<typeof import('./stores/user')['useUserStore']>
|
|
||||||
readonly useVModel: UnwrapRef<typeof import('@vueuse/core')['useVModel']>
|
readonly useVModel: UnwrapRef<typeof import('@vueuse/core')['useVModel']>
|
||||||
readonly useVModels: UnwrapRef<typeof import('@vueuse/core')['useVModels']>
|
readonly useVModels: UnwrapRef<typeof import('@vueuse/core')['useVModels']>
|
||||||
readonly useVibrate: UnwrapRef<typeof import('@vueuse/core')['useVibrate']>
|
readonly useVibrate: UnwrapRef<typeof import('@vueuse/core')['useVibrate']>
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
const props = defineProps<{
|
|
||||||
initial: number
|
|
||||||
}>()
|
|
||||||
|
|
||||||
const { count, inc, dec } = useCounter(props.initial)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
{{ count }}
|
|
||||||
<button class="inc" @click="inc()">
|
|
||||||
+
|
|
||||||
</button>
|
|
||||||
<button class="dec" @click="dec()">
|
|
||||||
-
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
@ -1,20 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
const { modelValue } = defineModel<{
|
|
||||||
modelValue: string
|
|
||||||
}>()
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<input
|
|
||||||
id="input"
|
|
||||||
v-model="modelValue"
|
|
||||||
type="text"
|
|
||||||
v-bind="$attrs"
|
|
||||||
p="x-4 y-2"
|
|
||||||
w="250px"
|
|
||||||
text="center"
|
|
||||||
bg="transparent"
|
|
||||||
border="~ rounded gray-200 dark:gray-700"
|
|
||||||
outline="none active:none"
|
|
||||||
>
|
|
||||||
</template>
|
|
@ -1,9 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<main class="px-4 py-10 text-center text-gray-700 dark:text-gray-200">
|
<main class="px-4 py-10 text-center text-gray-700 dark:text-gray-200 min-h-screen flex flex-col items-center ">
|
||||||
<RouterView />
|
<RouterView />
|
||||||
<TheFooter />
|
<TheFooter />
|
||||||
<div class="mt-5 mx-auto text-center opacity-75 dark:opacity-50 text-sm">
|
|
||||||
[Default Layout]
|
|
||||||
</div>
|
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
<template>
|
|
||||||
<main class="px-4 py-10 text-center text-gray-700 dark:text-gray-200">
|
|
||||||
<RouterView />
|
|
||||||
<TheFooter />
|
|
||||||
<div class="mt-5 mx-auto text-center opacity-75 dark:opacity-50 text-sm">
|
|
||||||
[Home Layout]
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
</template>
|
|
@ -17,7 +17,7 @@ const messages = Object.fromEntries(
|
|||||||
export const install: UserModule = ({ app }) => {
|
export const install: UserModule = ({ app }) => {
|
||||||
const i18n = createI18n({
|
const i18n = createI18n({
|
||||||
legacy: false,
|
legacy: false,
|
||||||
locale: 'en',
|
locale: 'zh-CN',
|
||||||
messages,
|
messages,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
import { createPinia } from 'pinia'
|
|
||||||
import { type UserModule } from '~/types'
|
|
||||||
|
|
||||||
// Setup Pinia
|
|
||||||
// https://pinia.vuejs.org/
|
|
||||||
export const install: UserModule = ({ isClient, initialState, app }) => {
|
|
||||||
const pinia = createPinia()
|
|
||||||
app.use(pinia)
|
|
||||||
// Refer to
|
|
||||||
// https://github.com/antfu/vite-ssg/blob/main/README.md#state-serialization
|
|
||||||
// for other serialization strategies.
|
|
||||||
if (isClient)
|
|
||||||
pinia.state.value = (initialState.pinia) || {}
|
|
||||||
|
|
||||||
else
|
|
||||||
initialState.pinia = pinia.state.value
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
const { t } = useI18n()
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
{{ t('not-found') }}
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<route lang="yaml">
|
|
||||||
meta:
|
|
||||||
layout: 404
|
|
||||||
</route>
|
|
@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<!-- <script setup lang="ts">
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'IndexPage',
|
name: 'IndexPage',
|
||||||
})
|
})
|
||||||
const user = useUserStore()
|
|
||||||
const name = $ref(user.savedName)
|
const name = $ref(user.savedName)
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@ -53,4 +52,4 @@ const { t } = useI18n()
|
|||||||
<route lang="yaml">
|
<route lang="yaml">
|
||||||
meta:
|
meta:
|
||||||
layout: home
|
layout: home
|
||||||
</route>
|
</route> -->
|
@ -1,47 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
const props = defineProps<{ name: string }>()
|
|
||||||
const router = useRouter()
|
|
||||||
const user = useUserStore()
|
|
||||||
const { t } = useI18n()
|
|
||||||
|
|
||||||
watchEffect(() => {
|
|
||||||
user.setNewName(props.name)
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<div text-4xl>
|
|
||||||
<div i-carbon-pedestrian inline-block />
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
{{ t('intro.hi', { name: props.name }) }}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p text-sm opacity-75>
|
|
||||||
<em>{{ t('intro.dynamic-route') }}</em>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<template v-if="user.otherNames.length">
|
|
||||||
<p text-sm mt-4>
|
|
||||||
<span opacity-75>{{ t('intro.aka') }}:</span>
|
|
||||||
<ul>
|
|
||||||
<li v-for="otherName in user.otherNames" :key="otherName">
|
|
||||||
<RouterLink :to="`/hi/${otherName}`" replace>
|
|
||||||
{{ otherName }}
|
|
||||||
</RouterLink>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</p>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<button
|
|
||||||
btn m="3 t6" text-sm
|
|
||||||
@click="router.back()"
|
|
||||||
>
|
|
||||||
{{ t('button.back') }}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
7
src/pages/index.md
Normal file
7
src/pages/index.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<!-- ---
|
||||||
|
title: About
|
||||||
|
--- -->
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h3>属于19预科2班的故事还未完结</h3>
|
||||||
|
</div>
|
@ -1,34 +0,0 @@
|
|||||||
import { acceptHMRUpdate, defineStore } from 'pinia'
|
|
||||||
|
|
||||||
export const useUserStore = defineStore('user', () => {
|
|
||||||
/**
|
|
||||||
* Current name of the user.
|
|
||||||
*/
|
|
||||||
const savedName = ref('')
|
|
||||||
const previousNames = ref(new Set<string>())
|
|
||||||
|
|
||||||
const usedNames = computed(() => Array.from(previousNames.value))
|
|
||||||
const otherNames = computed(() => usedNames.value.filter(name => name !== savedName.value))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Changes the current name of the user and saves the one that was used
|
|
||||||
* before.
|
|
||||||
*
|
|
||||||
* @param name - new name to set
|
|
||||||
*/
|
|
||||||
function setNewName(name: string) {
|
|
||||||
if (savedName.value)
|
|
||||||
previousNames.value.add(savedName.value)
|
|
||||||
|
|
||||||
savedName.value = name
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
setNewName,
|
|
||||||
otherNames,
|
|
||||||
savedName,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
if (import.meta.hot)
|
|
||||||
import.meta.hot.accept(acceptHMRUpdate(useUserStore, import.meta.hot))
|
|
@ -57,7 +57,6 @@ export default defineConfig({
|
|||||||
dts: 'src/auto-imports.d.ts',
|
dts: 'src/auto-imports.d.ts',
|
||||||
dirs: [
|
dirs: [
|
||||||
'src/composables',
|
'src/composables',
|
||||||
'src/stores',
|
|
||||||
],
|
],
|
||||||
vueTemplate: true,
|
vueTemplate: true,
|
||||||
}),
|
}),
|
||||||
|
Loading…
Reference in New Issue
Block a user