udpate
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-08-27 09:50:32 +03:00
parent 3b628cbfb3
commit 83d2666f22
55 changed files with 560 additions and 486 deletions

View File

@@ -0,0 +1,122 @@
<template>
<pn-page-card>
<template #title>
{{$t('agreements__title')}}
</template>
<pn-scroll-list>
<div class="flex column w100 q-pa-md q-gutter-y-md">
<div>
<div v-if="route.query.type === 'update'">{{ $t('agreements__description_update') }}</div>
<div>{{ $t('agreements__description') }}</div>
</div>
<div class="flex items-center no-wrap text-caption">
<q-checkbox v-model="agreement" val="1" class="q-pr-sm"/>
<span>
{{ $t('agreements__checkbox_agreement_terms') + ' ' }}
<span
@click="router.push({ name: 'terms' })"
class="cursor-pointer text-primary"
>
{{ $t('agreements__checkbox_agreement_terms_doc') }}
</span>
</span>
</div>
<div class="flex items-center no-wrap text-caption">
<q-checkbox v-model="agreement" val="2" class="q-pr-sm"/>
<span>
{{ $t('agreements__checkbox_agreement_consent') + ' ' }}
<span
@click="router.push({ name: 'consent' })"
class="cursor-pointer text-primary"
>
{{ $t('agreements__checkbox_agreement_consent_doc') }}
</span>
{{ ' ' + $t('agreements__checkbox_agreement_privacy') + ' ' }}
<span
@click="router.push({ name: 'privacy' })"
class="cursor-pointer text-primary"
>
{{ $t('agreements__checkbox_agreement_privacy_doc') }}
</span>
</span>
</div>
</div>
</pn-scroll-list>
<template #footer>
<div class="flex no-wrap justify-center w100 q-gutter-x-md q-pb-md">
<q-btn
flat
color="negative"
no-caps
style="opacity: 0.6"
@click="onDecline"
class="col"
>
<div class="flex column items-center">
{{ $t('agreements__btn_decline') }}
<span class="text-caption">
{{ $t('agreements__btn_decline_description') }}
</span>
</div>
</q-btn>
<q-btn
color="primary"
no-caps
:disable="agreement.length !== 2"
@click="onSubmit"
class="fix-disabled-btn col"
>
{{$t('agreements__btn_agree')}}
</q-btn>
</div>
</template>
</pn-page-card>
</template>
<script setup lang="ts">
import { ref, inject } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import { useAuthStore } from 'stores/auth'
import type { WebApp } from '@twa-dev/types'
const tg = inject('tg') as WebApp
function onDecline () {
tg.close()
}
const route = useRoute()
const authStore = useAuthStore()
const router = useRouter()
async function onSubmit () {
if (!route.query.method || !route.query.type) {
await authStore.logout()
await router.push({ name: 'login' })
return
}
if (route.query.method === 'telegram' && route.query.type === 'register') {
await authStore.registerWithTelegram(tg.initData)
await authStore.loginWithTelegram(tg.initData)
await router.push({ name: 'projects' })
}
if (route.query.method === 'email' && route.query.type === 'register') {
await router.push({ name: 'create_account' })
}
if (route.query.type === 'update') {
await authStore.termsAccepted()
await router.push({ name: 'projects' })
}
}
const agreement = ref([])
</script>
<style>
</style>