diff --git a/package-lock.json b/package-lock.json index 8dcbf8e..4c48747 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "chartjs-plugin-datalabels": "^2.2.0", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", + "pinia": "^2.2.6", "platform": "^1.3.6", "primeicons": "^7.0.0", "primevue": "^4.1.0", @@ -6391,6 +6392,56 @@ "node": ">=0.10.0" } }, + "node_modules/pinia": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.2.6.tgz", + "integrity": "sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.5.11" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", @@ -14173,6 +14224,23 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" }, + "pinia": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.2.6.tgz", + "integrity": "sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==", + "requires": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "requires": {} + } + } + }, "pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", diff --git a/package.json b/package.json index 5c76a6f..7c6bd84 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "chartjs-plugin-datalabels": "^2.2.0", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", + "pinia": "^2.2.6", "platform": "^1.3.6", "primeicons": "^7.0.0", "primevue": "^4.1.0", diff --git a/src/App.vue b/src/App.vue index 22dc09b..c05cb35 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,17 +1,21 @@ @@ -23,6 +27,16 @@ import Button from "primevue/button"; import {computed, onMounted} from "vue"; import {subscribeUserToPush} from "@/services/pushManager"; import apiClient from '@/services/axiosSetup'; +import {useUserStore} from "@/stores/userStore"; +import {useDrawerStore} from '@/stores/drawerStore' +import TransactionForm from "@/components/TransactionForm.vue"; + + +const drawerStore = useDrawerStore(); +const visible = computed(() => drawerStore.visible); +const closeDrawer = () => { + drawerStore.setVisible(false); +}; const checkNotif = computed(() => { @@ -65,11 +79,20 @@ const sendSubscribe = async () => { } } +console.log('vyzyvaem app') +const userStore = useUserStore(); +const user = computed(() => userStore.user); +console.log('vyzvali app') + onMounted(async () => { - await checkSubscribe() - - -}) + console.log("Загружаем данные при монтировании..."); + if (!userStore.user) { + console.log('vyzyvaem app2') + await userStore.fetchUserProfile(); + console.log('vyzvali app2') + } + await checkSubscribe(); +}); // @Options({ diff --git a/src/components/DrawerForm.vue b/src/components/DrawerForm.vue new file mode 100644 index 0000000..bedda34 --- /dev/null +++ b/src/components/DrawerForm.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/components/MenuBar.vue b/src/components/MenuBar.vue index d00bb29..cc5f9e8 100644 --- a/src/components/MenuBar.vue +++ b/src/components/MenuBar.vue @@ -1,6 +1,6 @@ @@ -299,7 +306,7 @@ import LoadingView from "@/components/LoadingView.vue"; import ChartDataLabels from 'chartjs-plugin-datalabels'; import {Chart as ChartJS} from 'chart.js/auto'; import SelectButton from "primevue/selectbutton"; -import TransactionEditDrawer from "@/components/budgets/TransactionEditDrawer.vue"; +import TransactionForm from "@/components/TransactionForm.vue"; // Зарегистрируем плагин ChartJS.register(ChartDataLabels); @@ -529,9 +536,9 @@ const incomesByPeriod = computed(() => { let incomesUntil25 = 0 let incomesFrom25 = 0 plannedIncomes.value.forEach((i) => { - console.log(i.date) + if (i.date >= budget.value?.dateFrom && i.date <= twentyFour.value) { - console.log(i.date) + incomesUntil25 += i.amount } else { incomesFrom25 += i.amount diff --git a/src/components/budgets/TransactionEditDrawer.vue b/src/components/budgets/TransactionEditDrawer.vue index b935e43..c37dc95 100644 --- a/src/components/budgets/TransactionEditDrawer.vue +++ b/src/components/budgets/TransactionEditDrawer.vue @@ -1,5 +1,4 @@