From 5b56eb17fd52cd4506b3bf9f5149ee595af69786 Mon Sep 17 00:00:00 2001 From: xds Date: Fri, 31 Oct 2025 15:22:44 +0300 Subject: [PATCH] add network --- .env.development | 2 +- package.json | 1 + src/App.vue | 118 ++--- src/assets/theme.css | 6 +- src/components/ConfirmDialog.vue | 6 +- src/components/Toolbar.vue | 25 +- src/components/auth/LoginPage.vue | 52 ++- src/components/dashboard/DashboardView.vue | 2 +- src/components/settings/CategoriesList.vue | 60 ++- .../settings/CategoryCreateUpdate.vue | 16 +- .../settings/NotificationSettings.vue | 2 +- src/components/settings/RecurrentsList.vue | 19 +- .../settings/RecurrentyCreateUpdate.vue | 38 +- src/components/settings/SettingsList.vue | 9 +- src/components/settings/SpaceSettings.vue | 143 +++++- src/components/space-list/SpaceList.vue | 4 +- src/components/test.vue | 11 + .../transactions/TransactionCreateUpdate.vue | 409 ++++++++++++++++++ .../transactions/TransactionList.vue | 119 ++++- src/main.ts | 2 + src/models/enums.ts | 30 +- src/models/space.ts | 8 + src/models/transaction.ts | 41 ++ src/router/index.ts | 113 +++-- src/services/categories-service.ts | 69 ++- src/services/recurrents-service.ts | 73 ++-- src/services/space-service.ts | 122 +++--- src/services/transactions-service.ts | 68 +++ src/stores/spaceStore.ts | 9 +- src/stores/toolbar-store.ts | 68 +-- src/stores/transactions-store.ts | 31 ++ src/stores/userStore.ts | 10 +- src/utils/utils.ts | 91 ++++ 33 files changed, 1435 insertions(+), 342 deletions(-) create mode 100644 src/components/test.vue create mode 100644 src/components/transactions/TransactionCreateUpdate.vue create mode 100644 src/models/transaction.ts create mode 100644 src/services/transactions-service.ts create mode 100644 src/stores/transactions-store.ts create mode 100644 src/utils/utils.ts diff --git a/.env.development b/.env.development index 21abd47..3fceb99 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,2 @@ -VITE_API_URL=http://localhost:8086/api +VITE_API_URL=http://localhost:8082/api VITE_ENABLE_DEVTOOLS=true \ No newline at end of file diff --git a/package.json b/package.json index f4eb450..d26aa88 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@primevue/themes": "^4.4.1", "@tailwindcss/postcss": "^4.1.16", "@tailwindcss/vite": "^4.1.16", + "@wxperia/liquid-glass-vue": "^1.0.9", "axios": "^1.12.2", "dayjs": "^1.11.18", "emoji-regex": "^10.6.0", diff --git a/src/App.vue b/src/App.vue index d078928..d2c766a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,18 +2,23 @@ import SpaceList from "@/components/space-list/SpaceList.vue"; import Toolbar from "@/components/Toolbar.vue"; import Toast from "primevue/toast"; -import { useSpaceStore } from "@/stores/spaceStore"; -import { useToolbarStore } from "@/stores/toolbar-store"; +import ProgressSpinner from "primevue/progressspinner"; +import {useSpaceStore} from "@/stores/spaceStore"; +import {useToolbarStore} from "@/stores/toolbar-store"; import router from "@/router"; -import { useRoute, onBeforeRouteUpdate } from "vue-router"; -import { computed, onMounted, onBeforeUnmount, ref, watch } from "vue"; +import {useRoute} from "vue-router"; +import {computed, onBeforeUnmount, onMounted, ref, watch} from "vue"; import {useToast} from "primevue/usetoast"; +import {useUserStore} from "@/stores/userStore"; const spaceStore = useSpaceStore(); const toolbarStore = useToolbarStore(); const route = useRoute(); const platform = ref("unknown") const toast = useToast(); +const userStore = useUserStore(); + +const isLoading = ref(true); const tgApp = (window as any)?.Telegram?.WebApp; const isTelegram = computed(() => !!tgApp); @@ -24,9 +29,9 @@ const isSpaceSelected = computed( ); const menu = [ - { name: "Dashboard", icon: "pi pi-chart-bar", link: "/", navStack: 'dashboard' }, - { name: "Transactions", icon: "pi pi-cog", link: "/transactions", navStack: 'transactions' }, - { name: "Settings", icon: "pi pi-list", link: "/settings", navStack: 'settings' }, + {name: "Dashboard", icon: "pi pi-chart-bar", link: "/", navStack: 'dashboard'}, + {name: "Transactions", icon: "pi pi-cog", link: "/transactions", navStack: 'transactions'}, + {name: "Settings", icon: "pi pi-list", link: "/settings", navStack: 'settings'}, ]; function spaceSelected() { @@ -80,7 +85,17 @@ const blurAllInputs = () => { } } -onMounted(() => { +onMounted(async () => { + // setTimeout(async () => { + // if (!userStore.isAuthorized) await router.push(`/login?back=${route.path}`) + // }, 1000) + // + await userStore.fetchUserProfile() + await spaceStore.getSpace() + setTimeout(async () => { + if (!userStore.isAuthorized) await router.push(`/login?back=${route.path}`) + }, 100) + toolbarStore.registerHandler("openSpacePicker", () => { isSpaceSelectorVisible.value = true; }); @@ -103,6 +118,7 @@ onMounted(() => { console.warn("Telegram WebApp init error:", err); } } + isLoading.value = false; }); // 🔁 следим за изменением маршрута @@ -122,46 +138,54 @@ onBeforeUnmount(() => { @@ -169,10 +193,6 @@ onBeforeUnmount(() => { \ No newline at end of file diff --git a/src/assets/theme.css b/src/assets/theme.css index 2cae9bc..f425997 100644 --- a/src/assets/theme.css +++ b/src/assets/theme.css @@ -32,7 +32,7 @@ /* PrimeVue-specific */ --button-text-color: var(--primary-color-text); - --button-bg-color: var(--primary-color); + --button-bg-color: var(--color-green-300); --button-hover-bg-color: var(--primary-hover-color); --button-active-bg-color: var(--primary-active-color); @@ -199,9 +199,7 @@ body { .status-warning { color: var(--warning-color); } -div { - display: flex; -} + span, a, i { color: var(--text-color) !important; padding: 0 !important; diff --git a/src/components/ConfirmDialog.vue b/src/components/ConfirmDialog.vue index 7936555..7a6494c 100644 --- a/src/components/ConfirmDialog.vue +++ b/src/components/ConfirmDialog.vue @@ -10,10 +10,10 @@ const handleConfirm = (result: boolean) => {