feat: scaffold Vue 3 + Vuetify + Pinia frontend
This commit is contained in:
parent
4a4c9515f6
commit
8e7fe78b8b
1
src/AccountTracking.Web/dist/assets/DashboardView-C3LqhZPP.js
vendored
Normal file
1
src/AccountTracking.Web/dist/assets/DashboardView-C3LqhZPP.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{_ as e,c,o}from"./index-BQDVIWAB.js";const r={};function a(n,s){return o(),c("div",null,"Dashboard")}const _=e(r,[["render",a]]);export{_ as default};
|
||||||
1
src/AccountTracking.Web/dist/assets/LoginView-D99laBRt.js
vendored
Normal file
1
src/AccountTracking.Web/dist/assets/LoginView-D99laBRt.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{_ as e,c,o as n}from"./index-BQDVIWAB.js";const o={};function r(t,s){return n(),c("div",null,"Login")}const a=e(o,[["render",r]]);export{a as default};
|
||||||
1
src/AccountTracking.Web/dist/assets/TransactionsView-D0SorozP.js
vendored
Normal file
1
src/AccountTracking.Web/dist/assets/TransactionsView-D0SorozP.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{_ as c,c as e,o as n}from"./index-BQDVIWAB.js";const o={};function r(s,t){return n(),e("div",null,"Transactions")}const _=c(o,[["render",r]]);export{_ as default};
|
||||||
964
src/AccountTracking.Web/dist/assets/apexcharts.ssr.esm-fe46cd2d-CEIEYvuU.js
vendored
Normal file
964
src/AccountTracking.Web/dist/assets/apexcharts.ssr.esm-fe46cd2d-CEIEYvuU.js
vendored
Normal file
File diff suppressed because one or more lines are too long
852
src/AccountTracking.Web/dist/assets/index-BQDVIWAB.js
vendored
Normal file
852
src/AccountTracking.Web/dist/assets/index-BQDVIWAB.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
src/AccountTracking.Web/dist/assets/index-D22zsSwR.css
vendored
Normal file
5
src/AccountTracking.Web/dist/assets/index-D22zsSwR.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf
vendored
Normal file
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf
vendored
Normal file
Binary file not shown.
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot
vendored
Normal file
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot
vendored
Normal file
Binary file not shown.
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2
vendored
Normal file
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2
vendored
Normal file
Binary file not shown.
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff
vendored
Normal file
BIN
src/AccountTracking.Web/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff
vendored
Normal file
Binary file not shown.
14
src/AccountTracking.Web/dist/index.html
vendored
Normal file
14
src/AccountTracking.Web/dist/index.html
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="cs">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" href="/favicon.ico" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Finance Tracker</title>
|
||||||
|
<script type="module" crossorigin src="/assets/index-BQDVIWAB.js"></script>
|
||||||
|
<link rel="stylesheet" crossorigin href="/assets/index-D22zsSwR.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
1
src/AccountTracking.Web/env.d.ts
vendored
Normal file
1
src/AccountTracking.Web/env.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/// <reference types="vite/client" />
|
||||||
13
src/AccountTracking.Web/index.html
Normal file
13
src/AccountTracking.Web/index.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="cs">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" href="/favicon.ico" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Finance Tracker</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
1848
src/AccountTracking.Web/package-lock.json
generated
Normal file
1848
src/AccountTracking.Web/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
30
src/AccountTracking.Web/package.json
Normal file
30
src/AccountTracking.Web/package.json
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"name": "accounttracking-web",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vue-tsc -b && vite build",
|
||||||
|
"preview": "vite preview"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@mdi/font": "^7.4.47",
|
||||||
|
"apexcharts": "^3.54.0",
|
||||||
|
"pinia": "^2.3.1",
|
||||||
|
"vue": "^3.5.13",
|
||||||
|
"vue-router": "^4.5.0",
|
||||||
|
"vue3-apexcharts": "^1.8.0",
|
||||||
|
"vuetify": "^3.6.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@tsconfig/node22": "^22.0.5",
|
||||||
|
"@vitejs/plugin-vue": "^5.2.1",
|
||||||
|
"@vue/tsconfig": "^0.9.0",
|
||||||
|
"nswag": "^14.1.0",
|
||||||
|
"typescript": "~5.8.0",
|
||||||
|
"vite": "^6.2.2",
|
||||||
|
"vite-plugin-vuetify": "^2.0.4",
|
||||||
|
"vue-tsc": "^2.2.8"
|
||||||
|
}
|
||||||
|
}
|
||||||
5
src/AccountTracking.Web/src/App.vue
Normal file
5
src/AccountTracking.Web/src/App.vue
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<template>
|
||||||
|
<v-app>
|
||||||
|
<router-view />
|
||||||
|
</v-app>
|
||||||
|
</template>
|
||||||
28
src/AccountTracking.Web/src/main.ts
Normal file
28
src/AccountTracking.Web/src/main.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { createApp } from 'vue'
|
||||||
|
import { createPinia } from 'pinia'
|
||||||
|
import { createVuetify } from 'vuetify'
|
||||||
|
import { aliases, mdi } from 'vuetify/iconsets/mdi'
|
||||||
|
import * as components from 'vuetify/components'
|
||||||
|
import * as directives from 'vuetify/directives'
|
||||||
|
import VueApexCharts from 'vue3-apexcharts'
|
||||||
|
import router from './router'
|
||||||
|
import App from './App.vue'
|
||||||
|
|
||||||
|
import 'vuetify/styles'
|
||||||
|
import '@mdi/font/css/materialdesignicons.css'
|
||||||
|
|
||||||
|
const vuetify = createVuetify({
|
||||||
|
components,
|
||||||
|
directives,
|
||||||
|
icons: { defaultSet: 'mdi', aliases, sets: { mdi } },
|
||||||
|
theme: {
|
||||||
|
defaultTheme: 'dark',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
createApp(App)
|
||||||
|
.use(createPinia())
|
||||||
|
.use(router)
|
||||||
|
.use(vuetify)
|
||||||
|
.use(VueApexCharts)
|
||||||
|
.mount('#app')
|
||||||
12
src/AccountTracking.Web/src/router/index.ts
Normal file
12
src/AccountTracking.Web/src/router/index.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { createRouter, createWebHistory } from 'vue-router'
|
||||||
|
|
||||||
|
const router = createRouter({
|
||||||
|
history: createWebHistory(),
|
||||||
|
routes: [
|
||||||
|
{ path: '/login', component: () => import('../views/LoginView.vue'), meta: { public: true } },
|
||||||
|
{ path: '/', component: () => import('../views/DashboardView.vue') },
|
||||||
|
{ path: '/transactions', component: () => import('../views/TransactionsView.vue') },
|
||||||
|
],
|
||||||
|
})
|
||||||
|
|
||||||
|
export default router
|
||||||
1
src/AccountTracking.Web/src/views/DashboardView.vue
Normal file
1
src/AccountTracking.Web/src/views/DashboardView.vue
Normal file
@ -0,0 +1 @@
|
|||||||
|
<template><div>Dashboard</div></template>
|
||||||
1
src/AccountTracking.Web/src/views/LoginView.vue
Normal file
1
src/AccountTracking.Web/src/views/LoginView.vue
Normal file
@ -0,0 +1 @@
|
|||||||
|
<template><div>Login</div></template>
|
||||||
1
src/AccountTracking.Web/src/views/TransactionsView.vue
Normal file
1
src/AccountTracking.Web/src/views/TransactionsView.vue
Normal file
@ -0,0 +1 @@
|
|||||||
|
<template><div>Transactions</div></template>
|
||||||
11
src/AccountTracking.Web/tsconfig.app.json
Normal file
11
src/AccountTracking.Web/tsconfig.app.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"extends": "@vue/tsconfig/tsconfig.dom.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
||||||
|
"paths": {
|
||||||
|
"@/*": ["./src/*"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
|
||||||
|
"exclude": ["src/**/__tests__/*"]
|
||||||
|
}
|
||||||
7
src/AccountTracking.Web/tsconfig.json
Normal file
7
src/AccountTracking.Web/tsconfig.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"files": [],
|
||||||
|
"references": [
|
||||||
|
{ "path": "./tsconfig.node.json" },
|
||||||
|
{ "path": "./tsconfig.app.json" }
|
||||||
|
]
|
||||||
|
}
|
||||||
7
src/AccountTracking.Web/tsconfig.node.json
Normal file
7
src/AccountTracking.Web/tsconfig.node.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"extends": "@tsconfig/node22/tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo"
|
||||||
|
},
|
||||||
|
"include": ["vite.config.*"]
|
||||||
|
}
|
||||||
17
src/AccountTracking.Web/vite.config.js
Normal file
17
src/AccountTracking.Web/vite.config.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { defineConfig } from 'vite';
|
||||||
|
import vue from '@vitejs/plugin-vue';
|
||||||
|
import vuetify from 'vite-plugin-vuetify';
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [
|
||||||
|
vue(),
|
||||||
|
vuetify({ autoImport: true }),
|
||||||
|
],
|
||||||
|
server: {
|
||||||
|
proxy: {
|
||||||
|
'/api': {
|
||||||
|
target: 'http://localhost:5000',
|
||||||
|
changeOrigin: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
18
src/AccountTracking.Web/vite.config.ts
Normal file
18
src/AccountTracking.Web/vite.config.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { defineConfig } from 'vite'
|
||||||
|
import vue from '@vitejs/plugin-vue'
|
||||||
|
import vuetify from 'vite-plugin-vuetify'
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [
|
||||||
|
vue(),
|
||||||
|
vuetify({ autoImport: true }),
|
||||||
|
],
|
||||||
|
server: {
|
||||||
|
proxy: {
|
||||||
|
'/api': {
|
||||||
|
target: 'http://localhost:5000',
|
||||||
|
changeOrigin: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
Loading…
Reference in New Issue
Block a user