This commit is contained in:
Vladimir Voronin
2024-10-31 09:21:10 +03:00
parent 992fe1402a
commit c2b8787ed4
4 changed files with 31 additions and 20 deletions

View File

@@ -7,12 +7,11 @@
<!-- Контентная часть заполняет оставшееся пространство -->
<div class="flex-grow ">
<Button label="Sub" :class="checkNotif ? 'flex' : '!hidden'" @click="checkSubscribe"/>
<router-view/>
</div>
<OverlayView class="w-full sticky invisible lg:visible top-0 z-10"/>
{{not}}
<Button label="Sub" @click="checkSubscribe"/>
</div>
</template>
@@ -22,13 +21,16 @@ import OverlayView from "@/components/OverlayView.vue";
import ToolBar from "@/components/ToolBar.vue";
import Button from "primevue/button";
import axiosSetup from "@/services/axiosSetup";
import {onMounted, ref} from "vue";
import {computed, onMounted, ref} from "vue";
import {subscribeUserToPush} from "@/services/pushManager";
import apiClient from '@/services/axiosSetup';
const checkNotif = computed(() => {
return 'Notification' in window && Notification.permission === 'default'
})
const not = ref(Notification.permission)
const checkSubscribe = async () => {
if ("Notification" in window) {
if (Notification.permission === 'default') {
await Notification.requestPermission().then(sendSubscribe)
} else if (Notification.permission === 'granted') {
@@ -36,6 +38,10 @@ const checkSubscribe = async () => {
} else {
// Пользователь ранее отклонил запрос
}
} else {
console.log("Notification API is not supported in this browser.");
// You may want to use an alternative method, like alerts or modals
}
}
const sendSubscribe = async () => {

View File

@@ -76,6 +76,7 @@
<!-- <i class="pi pi-check text-2xl" style="font-size: 1.5rem"></i>-->
<p>Настройки</p>
</router-link>
<button @click="refreshPage"><p class="text-left"><i class="pi pi-refresh"/>Обновить страницу</p></button>
</div>
</div>
</div>
@@ -101,7 +102,9 @@ const transactionType = ref<TransactionType>()
const categoryType = ref<CategoryType>()
const drawerOpened = ref(false);
const refreshPage = () => {
window.location.reload(true)
}
const openDrawer = (selectedTransactionType = null, selectedCategoryType = null) => {
if (selectedTransactionType && selectedCategoryType) {
transactionType.value = selectedTransactionType;

View File

@@ -71,7 +71,9 @@ watch(
<InputNumber v-else ref="inputRefs" type="text" v-model="props.category.currentLimit"
class="text-lg font-bold border-b-2 border-gray-300 outline-none focus:border-blue-500 w-32 text-right"
:min="props.category.categoryPlannedLimit" :max="900000" :invalid="currentLimit < props.category.categoryPlannedLimit" v-tooltip.top="'Сумма не должна быть ниже суммы запланированных!'"/>
:min="props.category.categoryPlannedLimit" :max="900000" :invalid="currentLimit < props.category.categoryPlannedLimit"
v-tooltip.top="'Сумма не должна быть ниже суммы запланированных!'"
unstyled />
<Button v-if="isEditing" @click="stopEditing" icon="pi pi-check" severity="success" rounded outlined
aria-label="Search"/>

View File

@@ -96,23 +96,23 @@
</div>
<div class="grid gap-5 items-center justify-items-center w-full">
<div class="w-full">
<button class="grid grid-cols-3 justify-between gap-5 items-center w-full"
<button class="grid grid-cols-3 justify-between gap-5 items-end w-full"
@click="detailedShowed = !detailedShowed">
<div class="flex flex-col items-center">
<h4 class="text-lg">💳 Долги</h4>
<h4 class="text-sm lg:text-base">Долги</h4>
<div class="font-light bg-gray-100 p-1 rounded-lg box-shadow-inner w-full text-center">
{{ loansRatio.toFixed(0) }} %
</div>
<!-- <p>Total Incomes</p>-->
</div>
<div class="flex flex-col items-center ">
<span class="text-base">💰Сбережения</span>
<span class="text-sm lg:text-base">Сбережения</span>
<div class="font-light bg-gray-100 p-1 rounded-lg box-shadow-inner w-full text-center">
{{ savingRatio.toFixed(0) }} %
</div>
</div>
<div class="flex flex-col items-center ">
<h4 class="text-sm">🍎 Ежедневные</h4>
<h4 class="text-sm lg:text-base">Ежедневные</h4>
<div class="font-light bg-gray-100 p-1 rounded-lg box-shadow-inner w-full text-center">
{{ dailyRatio.toFixed(0) }} %
</div>