This commit is contained in:
Nyavokevin 2025-10-03 14:58:54 +03:00
commit e8fe78577b
10 changed files with 1043 additions and 22 deletions

1
thanasoft-front/.env Normal file
View File

@ -0,0 +1 @@
NODE_ENV=

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,8 @@
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",
"build": "vue-cli-service build", "build": "vue-cli-service build",
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint",
"typecheck": "vue-tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-svg-core": "1.3.0", "@fortawesome/fontawesome-svg-core": "1.3.0",
@ -53,9 +54,12 @@
"vuex": "4.0.2" "vuex": "4.0.2"
}, },
"devDependencies": { "devDependencies": {
"@types/minimatch": "^6.0.0",
"@types/node": "^24.6.0",
"@vue/cli-plugin-babel": "4.5.15", "@vue/cli-plugin-babel": "4.5.15",
"@vue/cli-plugin-eslint": "4.5.15", "@vue/cli-plugin-eslint": "4.5.15",
"@vue/cli-plugin-router": "4.5.15", "@vue/cli-plugin-router": "4.5.15",
"@vue/cli-plugin-typescript": "^4.5.15",
"@vue/cli-service": "4.5.15", "@vue/cli-service": "4.5.15",
"@vue/compiler-sfc": "3.2.0", "@vue/compiler-sfc": "3.2.0",
"@vue/eslint-config-prettier": "6.0.0", "@vue/eslint-config-prettier": "6.0.0",
@ -65,6 +69,8 @@
"eslint-plugin-vue": "7.0.0", "eslint-plugin-vue": "7.0.0",
"prettier": "2.2.1", "prettier": "2.2.1",
"sass": "1.43.3", "sass": "1.43.3",
"sass-loader": "10.1.1" "sass-loader": "10.1.1",
"typescript": "^5.9.2",
"vue-tsc": "^3.1.0"
} }
} }

View File

@ -333,7 +333,8 @@ const routes = [
]; ];
const router = createRouter({ const router = createRouter({
history: createWebHistory(process.env.BASE_URL), // Use root base so the app works whether served at / or via /build/index.html
history: createWebHistory("/"),
routes, routes,
linkActiveClass: "active", linkActiveClass: "active",
}); });

35
thanasoft-front/src/shims-vue.d.ts vendored Normal file
View File

@ -0,0 +1,35 @@
declare module "*.vue" {
import type { DefineComponent } from "vue";
const component: DefineComponent<{}, {}, any>;
export default component;
}
declare module "*.png" {
const src: string;
export default src;
}
declare module "*.jpg" {
const src: string;
export default src;
}
declare module "*.jpeg" {
const src: string;
export default src;
}
declare module "*.gif" {
const src: string;
export default src;
}
declare module "*.webp" {
const src: string;
export default src;
}
declare module "*.svg" {
const src: string;
export default src;
}

View File

@ -2,13 +2,6 @@
<default-dashboard /> <default-dashboard />
</template> </template>
<script> <script setup lang="ts">
import DefaultDashboard from "@/views/dashboards/Default.vue"; import DefaultDashboard from "@/views/dashboards/Default.vue";
export default {
name: "Home",
components: {
DefaultDashboard,
},
};
</script> </script>

View File

@ -203,7 +203,7 @@
</div> </div>
</div> </div>
</template> </template>
<script> <script setupe lang="ts">
import MiniStatisticsCard from "../../examples/Cards/MiniStatisticsCard.vue"; import MiniStatisticsCard from "../../examples/Cards/MiniStatisticsCard.vue";
import ReportsBarChart from "../../examples/Charts/ReportsBarChart.vue"; import ReportsBarChart from "../../examples/Charts/ReportsBarChart.vue";
import GradientLineChart from "../../examples/Charts/GradientLineChart.vue"; import GradientLineChart from "../../examples/Charts/GradientLineChart.vue";

View File

@ -0,0 +1,30 @@
{
"compilerOptions": {
"target": "ES2018",
"module": "ESNext",
"moduleResolution": "Node",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"jsx": "preserve",
"allowJs": true,
"checkJs": false,
"noEmit": true,
"strict": false,
"skipLibCheck": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
},
"types": ["node"]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"src/shims-vue.d.ts"
],
"exclude": ["node_modules", "dist"]
}

View File

@ -7,6 +7,18 @@ module.exports = {
// Le index.html généré // Le index.html généré
indexPath: "index.html", indexPath: "index.html",
// Important : comme le build est servi depuis /build/ // En prod on sert les assets depuis /build/, en dev on reste sur la racine
publicPath: "/build/", publicPath: process.env.NODE_ENV === "production" ? "/build/" : "/",
// Dev server config to work locally alongside Laravel backend
devServer: {
historyApiFallback: true,
// proxy API calls to Laravel (adjust if your API prefix differs)
proxy: {
"^/api": {
target: "http://127.0.0.1:8000",
changeOrigin: true,
},
},
},
}; };