From a130fb9063eebf7d285f1aa18b9ceca67ccc805a Mon Sep 17 00:00:00 2001 From: opbnq-q Date: Tue, 11 Mar 2025 04:52:09 -0700 Subject: [PATCH] feat: calendar & router configs --- frontend/package-lock.json | 96 +++++++++++++++++- frontend/package.json | 10 +- frontend/pnpm-lock.yaml | 88 +++++++++++++--- frontend/src/App.vue | 8 +- frontend/src/components/calendar/Calendar.vue | 20 ++++ .../src/components/calendar/qalendar.d.ts | 4 + frontend/src/main.ts | 3 +- frontend/src/pages/Index.vue | 8 ++ frontend/src/router/router.ts | 13 +++ wails_windows_amd64.syso | Bin 24460 -> 0 bytes 10 files changed, 231 insertions(+), 19 deletions(-) create mode 100644 frontend/src/components/calendar/Calendar.vue create mode 100644 frontend/src/components/calendar/qalendar.d.ts create mode 100644 frontend/src/pages/Index.vue create mode 100644 frontend/src/router/router.ts delete mode 100644 wails_windows_amd64.syso diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 1499fd0..6e4ca1b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -14,7 +14,9 @@ "primeicons": "^7.0.0", "primelocale": "^2.0.3", "primevue": "^4.2.5", - "vue": "^3.5.13" + "qalendar": "^3.9.0", + "vue": "^3.5.13", + "vue-router": "^4.5.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", @@ -512,6 +514,61 @@ "node": ">=18" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz", + "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz", + "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.7.2.tgz", + "integrity": "sha512-7Z/ur0gvCMW8G93dXIQOkQqHo2M5HLhYrRVC0//fakJXxcF1VmMPsxnG6Ee8qEylA8b8Q3peQXWMNZ62lYF28g==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.2.tgz", + "integrity": "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/vue-fontawesome": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.8.tgz", + "integrity": "sha512-yyHHAj4G8pQIDfaIsMvQpwKMboIZtcHTUvPqXjOHyldh1O1vZfH4W03VDPv5RvI9P6DLTzJQlmVgj9wCf7c2Fw==", + "license": "MIT", + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "vue": ">= 3.0.0 < 4" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -2114,6 +2171,12 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/perfect-scrollbar": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.6.tgz", + "integrity": "sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==", + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -2356,6 +2419,22 @@ "node": ">=12.11.0" } }, + "node_modules/qalendar": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/qalendar/-/qalendar-3.9.0.tgz", + "integrity": "sha512-RYjE+a5q+hv3kPh/0GRurFK2J70S6mbR8Bz2+UcmYWW1btboP913k4RbqQy5KnxmLmWYwdBm5ct8cpHjVDfj4g==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.3.0", + "@fortawesome/free-regular-svg-icons": "^6.3.0", + "@fortawesome/free-solid-svg-icons": "^6.3.0", + "@fortawesome/vue-fontawesome": "^3.0.3", + "perfect-scrollbar": "^1.5.5" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -2939,6 +3018,21 @@ } } }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/vue-tsc": { "version": "2.2.8", "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.8.tgz", diff --git a/frontend/package.json b/frontend/package.json index e49cacd..3a031b3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,7 +15,9 @@ "primeicons": "^7.0.0", "primelocale": "^2.0.3", "primevue": "^4.2.5", - "vue": "^3.5.13" + "qalendar": "^3.9.0", + "vue": "^3.5.13", + "vue-router": "^4.5.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", @@ -27,5 +29,11 @@ "typescript": "~5.6.2", "vite": "^6.0.5", "vue-tsc": "^2.2.0" + }, + "pnpm": { + "onlyBuiltDependencies": [ + "esbuild", + "vue-demi" + ] } } diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 556f8a7..6231604 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -26,9 +26,15 @@ importers: primevue: specifier: ^4.2.5 version: 4.3.1(vue@3.5.13(typescript@5.6.3)) + qalendar: + specifier: ^3.9.0 + version: 3.9.0(vue@3.5.13(typescript@5.6.3)) vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.6.3) + vue-router: + specifier: ^4.5.0 + version: 4.5.0(vue@3.5.13(typescript@5.6.3)) devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 @@ -231,6 +237,28 @@ packages: cpu: [x64] os: [win32] + '@fortawesome/fontawesome-common-types@6.7.2': + resolution: {integrity: sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==} + engines: {node: '>=6'} + + '@fortawesome/fontawesome-svg-core@6.7.2': + resolution: {integrity: sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==} + engines: {node: '>=6'} + + '@fortawesome/free-regular-svg-icons@6.7.2': + resolution: {integrity: sha512-7Z/ur0gvCMW8G93dXIQOkQqHo2M5HLhYrRVC0//fakJXxcF1VmMPsxnG6Ee8qEylA8b8Q3peQXWMNZ62lYF28g==} + engines: {node: '>=6'} + + '@fortawesome/free-solid-svg-icons@6.7.2': + resolution: {integrity: sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==} + engines: {node: '>=6'} + + '@fortawesome/vue-fontawesome@3.0.8': + resolution: {integrity: sha512-yyHHAj4G8pQIDfaIsMvQpwKMboIZtcHTUvPqXjOHyldh1O1vZfH4W03VDPv5RvI9P6DLTzJQlmVgj9wCf7c2Fw==} + peerDependencies: + '@fortawesome/fontawesome-svg-core': ~1 || ~6 + vue: '>= 3.0.0 < 4' + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -466,12 +494,9 @@ packages: vue: optional: true -<<<<<<< HEAD '@wailsio/runtime@3.0.0-alpha.66': resolution: {integrity: sha512-ENLu8rn1griL1gFHJqkq1i+BVxrrA0JPJHYneUJYuf/s54kjuQViW0RKDEe/WTDo56ABpfykrd/T8OYpPUyXUw==} -======= ->>>>>>> 4ec5fd2 (fix: creating, updating) alien-signals@1.0.4: resolution: {integrity: sha512-DJqqQD3XcsaQcQ1s+iE2jDUZmmQpXwHiR6fCAim/w87luaW+vmLY8fMlrdkmRwzaFXhkxf3rqPCR59tKVv1MDw==} @@ -758,6 +783,9 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + perfect-scrollbar@1.5.6: + resolution: {integrity: sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -826,17 +854,18 @@ packages: primeicons@7.0.0: resolution: {integrity: sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==} -<<<<<<< HEAD primelocale@2.0.3: resolution: {integrity: sha512-/sMoTdLxDFJs2Bdns+F4lm33ph6m4j18Rho8y9dsz5DqgWliqXsfYu1We4tkHtviRWq8AzEj31TDLDA3NEYC0Q==} engines: {node: '>=18.0.0', npm: '>=8.6.0'} -======= ->>>>>>> 4ec5fd2 (fix: creating, updating) primevue@4.3.1: resolution: {integrity: sha512-NSUpcWf2WpXgqOvjgXu5zQM3E5UEXoA2iXLi6xV+h1SBZ1TmgNfrjme96KRzfUY2RBsI0rTSUuPv0I+fXvtcmA==} engines: {node: '>=12.11.0'} + qalendar@3.9.0: + resolution: {integrity: sha512-RYjE+a5q+hv3kPh/0GRurFK2J70S6mbR8Bz2+UcmYWW1btboP913k4RbqQy5KnxmLmWYwdBm5ct8cpHjVDfj4g==} + engines: {node: '>=16.0.0'} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -992,6 +1021,11 @@ packages: '@vue/composition-api': optional: true + vue-router@4.5.0: + resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==} + peerDependencies: + vue: ^3.2.0 + vue-tsc@2.2.8: resolution: {integrity: sha512-jBYKBNFADTN+L+MdesNX/TB3XuDSyaWynKMDgR+yCSln0GQ9Tfb7JS2lr46s2LiFUT1WsmfWsSvIElyxzOPqcQ==} hasBin: true @@ -1116,6 +1150,25 @@ snapshots: '@esbuild/win32-x64@0.25.0': optional: true + '@fortawesome/fontawesome-common-types@6.7.2': {} + + '@fortawesome/fontawesome-svg-core@6.7.2': + dependencies: + '@fortawesome/fontawesome-common-types': 6.7.2 + + '@fortawesome/free-regular-svg-icons@6.7.2': + dependencies: + '@fortawesome/fontawesome-common-types': 6.7.2 + + '@fortawesome/free-solid-svg-icons@6.7.2': + dependencies: + '@fortawesome/fontawesome-common-types': 6.7.2 + + '@fortawesome/vue-fontawesome@3.0.8(@fortawesome/fontawesome-svg-core@6.7.2)(vue@3.5.13(typescript@5.6.3))': + dependencies: + '@fortawesome/fontawesome-svg-core': 6.7.2 + vue: 3.5.13(typescript@5.6.3) + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -1344,11 +1397,8 @@ snapshots: typescript: 5.6.3 vue: 3.5.13(typescript@5.6.3) -<<<<<<< HEAD '@wailsio/runtime@3.0.0-alpha.66': {} -======= ->>>>>>> 4ec5fd2 (fix: creating, updating) alien-signals@1.0.4: {} ansi-regex@5.0.1: {} @@ -1618,6 +1668,8 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + perfect-scrollbar@1.5.6: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -1675,11 +1727,8 @@ snapshots: primeicons@7.0.0: {} -<<<<<<< HEAD primelocale@2.0.3: {} -======= ->>>>>>> 4ec5fd2 (fix: creating, updating) primevue@4.3.1(vue@3.5.13(typescript@5.6.3)): dependencies: '@primeuix/styled': 0.5.0 @@ -1690,6 +1739,16 @@ snapshots: transitivePeerDependencies: - vue + qalendar@3.9.0(vue@3.5.13(typescript@5.6.3)): + dependencies: + '@fortawesome/fontawesome-svg-core': 6.7.2 + '@fortawesome/free-regular-svg-icons': 6.7.2 + '@fortawesome/free-solid-svg-icons': 6.7.2 + '@fortawesome/vue-fontawesome': 3.0.8(@fortawesome/fontawesome-svg-core@6.7.2)(vue@3.5.13(typescript@5.6.3)) + perfect-scrollbar: 1.5.6 + transitivePeerDependencies: + - vue + queue-microtask@1.2.3: {} read-cache@1.0.0: @@ -1846,6 +1905,11 @@ snapshots: dependencies: vue: 3.5.13(typescript@5.6.3) + vue-router@4.5.0(vue@3.5.13(typescript@5.6.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.6.3) + vue-tsc@2.2.8(typescript@5.6.3): dependencies: '@volar/typescript': 2.4.12 diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 6cf7961..ac0e30f 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,11 +1,11 @@ diff --git a/frontend/src/components/calendar/Calendar.vue b/frontend/src/components/calendar/Calendar.vue new file mode 100644 index 0000000..3f763ea --- /dev/null +++ b/frontend/src/components/calendar/Calendar.vue @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/components/calendar/qalendar.d.ts b/frontend/src/components/calendar/qalendar.d.ts new file mode 100644 index 0000000..6642906 --- /dev/null +++ b/frontend/src/components/calendar/qalendar.d.ts @@ -0,0 +1,4 @@ +declare module 'qalendar' { + import { DefineComponent } from 'vue'; + export const Qalendar: DefineComponent<{}, {}, any>; + } \ No newline at end of file diff --git a/frontend/src/main.ts b/frontend/src/main.ts index 47e4827..0e7f47f 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -6,8 +6,9 @@ import Aura from '@primevue/themes/aura' import 'primeicons/primeicons.css' import { ru } from 'primelocale/js/ru.js' import { createPinia } from 'pinia' +import { router } from './router/router' -createApp(App).use(createPinia()).use(Config, { +createApp(App).use(router).use(createPinia()).use(Config, { theme: { preset: Aura, }, diff --git a/frontend/src/pages/Index.vue b/frontend/src/pages/Index.vue new file mode 100644 index 0000000..aa2332d --- /dev/null +++ b/frontend/src/pages/Index.vue @@ -0,0 +1,8 @@ + + + \ No newline at end of file diff --git a/frontend/src/router/router.ts b/frontend/src/router/router.ts new file mode 100644 index 0000000..3fc1501 --- /dev/null +++ b/frontend/src/router/router.ts @@ -0,0 +1,13 @@ +import { createRouter, createWebHistory, type RouteRecordRaw } from "vue-router"; +import Index from "../pages/Index.vue"; + +export const routes: RouteRecordRaw[] = [{ + path: "/", + component: Index, + name: 'Главная', +}] + +export const router = createRouter({ + history: createWebHistory(), + routes, +}); \ No newline at end of file diff --git a/wails_windows_amd64.syso b/wails_windows_amd64.syso deleted file mode 100644 index fca2145c0cbeb5dbfe4e10156856e427a614c2e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24460 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