diff --git a/serv_nginx/bbvue/src/main.js b/serv_nginx/bbvue/src/main.js index b56d04c..355cb3e 100644 --- a/serv_nginx/bbvue/src/main.js +++ b/serv_nginx/bbvue/src/main.js @@ -9,90 +9,6 @@ import WriteLogo from './components/writeLogo.vue' const app = createApp(App) -// Функция для загрузки Яндекс.Метрики -function loadYandexMetrika() { - return new Promise((resolve) => { - if (window.ym) { - resolve(); - return; - } - - // Создаем скрипт Яндекс.Метрики - const script = document.createElement('script'); - script.type = 'text/javascript'; - script.innerHTML = ` - (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; - m[i].l=1*new Date(); - k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) - (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); - - ym(104775055, "init", { - clickmap:true, - trackLinks:true, - accurateTrackBounce:true, - webvisor:true - }); - `; - document.head.appendChild(script); - - // Даем время на загрузку - setTimeout(resolve, 500); - }); -} - - -// Функция для загрузки Google Analytics -function loadGoogleAnalytics() { - return new Promise((resolve) => { - if (window.gtag) { - resolve(); - return; - } - - // Первый скрипт GA - const script1 = document.createElement('script'); - script1.async = true; - script1.src = 'https://www.googletagmanager.com/gtag/js?id=G-r4bMCbf4zEwF7CJQu2XDn_9_G86ZL248xgWHavTY8iY'; - document.head.appendChild(script1); - - // Второй скрипт GA - const script2 = document.createElement('script'); - script2.innerHTML = ` - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('js', new Date()); - gtag('config', 'G-r4bMCbf4zEwF7CJQu2XDn_9_G86ZL248xgWHavTY8iY'); - `; - document.head.appendChild(script2); - - setTimeout(resolve, 500); - }); -} -// Загружаем метрики и монтируем приложение -Promise.all([loadYandexMetrika(), loadGoogleAnalytics()]).then(() => { - // Отслеживание переходов по маршрутам - router.afterEach((to) => { - // Яндекс.Метрика - if (window.ym && typeof window.ym === 'function') { - setTimeout(() => { - window.ym(104775055, 'hit', to.fullPath); - }, 100); - } - - // Google Analytics - if (window.gtag && typeof window.gtag === 'function') { - setTimeout(() => { - window.gtag('config', 'G-r4bMCbf4zEwF7CJQu2XDn_9_G86ZL248xgWHavTY8iY', { - page_path: to.fullPath - }); - }, 100); - } - }); - - app.use(router); - app.mount('#app'); -}); - // Регистрируем компоненты глобально app.component('WriteLogo', WriteLogo) diff --git a/serv_nginx/bbvue/src/router/index.js b/serv_nginx/bbvue/src/router/index.js index b07e0ed..b87eafa 100644 --- a/serv_nginx/bbvue/src/router/index.js +++ b/serv_nginx/bbvue/src/router/index.js @@ -5,6 +5,24 @@ import { useAuthStore } from '../stores/auth' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ + { + path: '/verify-email', + name: 'VerifyEmail', + component: () => import('../views/VerifayEmail.vue'), + meta: { guestOnly: true } // Только для неавторизованных + }, + { + path: '/reset-password', + name: 'ResetPassword', + component: () => import('../views/PasswordReset.vue'), + meta: { guestOnly: true } // Только для неавторизованных + }, + { + path: '/forgot-password', + name: 'ForgotPassword', + component: () => import('../views/ForgotPassword.vue'), + meta: { guestOnly: true } + }, { path: '/', name: 'Home', diff --git a/serv_nginx/bbvue/src/views/ForgotPassword.vue b/serv_nginx/bbvue/src/views/ForgotPassword.vue new file mode 100644 index 0000000..e2b6636 --- /dev/null +++ b/serv_nginx/bbvue/src/views/ForgotPassword.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/serv_nginx/bbvue/src/views/Home.vue b/serv_nginx/bbvue/src/views/Home.vue index a901aaf..3dcccf3 100644 --- a/serv_nginx/bbvue/src/views/Home.vue +++ b/serv_nginx/bbvue/src/views/Home.vue @@ -322,7 +322,7 @@ export default { .title-main { display: block; font-size: 3rem; - font-weight: 800; + font-weight: 800; text-shadow: 2px 2px 4px #8bbb939f; line-height: 1.1; @@ -372,7 +372,7 @@ export default { transition: all 0.3s ease; border: 2px solid transparent; gap: 0.5rem; - min-width: 120px; + min-width: 120px; } .btn-large { @@ -827,12 +827,12 @@ export default { .hero-actions { gap: 0.5rem; } - + .btn { font-size: 0.85rem; padding: 12px 14px; } - + .btn-large { padding: 14px 14px; font-size: 0.9rem; diff --git a/serv_nginx/bbvue/src/views/Login.vue b/serv_nginx/bbvue/src/views/Login.vue index 54aaa02..963711d 100644 --- a/serv_nginx/bbvue/src/views/Login.vue +++ b/serv_nginx/bbvue/src/views/Login.vue @@ -26,7 +26,7 @@ -

Забыли пароль?

+

Забыли пароль?

diff --git a/serv_nginx/bbvue/src/views/PasswordReset.vue b/serv_nginx/bbvue/src/views/PasswordReset.vue new file mode 100644 index 0000000..85c71de --- /dev/null +++ b/serv_nginx/bbvue/src/views/PasswordReset.vue @@ -0,0 +1,224 @@ + + + + + \ No newline at end of file diff --git a/serv_nginx/bbvue/src/views/Profile.vue b/serv_nginx/bbvue/src/views/Profile.vue index 930bbef..ff6cdea 100644 --- a/serv_nginx/bbvue/src/views/Profile.vue +++ b/serv_nginx/bbvue/src/views/Profile.vue @@ -100,6 +100,7 @@ +
diff --git a/serv_nginx/bbvue/src/views/ProfileEdit.vue b/serv_nginx/bbvue/src/views/ProfileEdit.vue index f24d969..4861037 100644 --- a/serv_nginx/bbvue/src/views/ProfileEdit.vue +++ b/serv_nginx/bbvue/src/views/ProfileEdit.vue @@ -39,6 +39,13 @@
+
+

Ваш email не подтвержден

+ +
+