роуты для авторизованных пользователей больше не доступы без авторизации

This commit is contained in:
Norbaev 2024-07-03 17:50:21 +05:00
parent 24b41d9036
commit 838c14a4ff
3 changed files with 27 additions and 13 deletions

View File

@ -35,7 +35,7 @@
</template> </template>
</span> </span>
</div> </div>
<template v-if="user?.id"> <div @click="handleAuthRequired">
<q-skeleton v-if="loaderPlay" class="player__favorites m--skeleton" /> <q-skeleton v-if="loaderPlay" class="player__favorites m--skeleton" />
<div <div
v-else v-else
@ -43,10 +43,10 @@
:class="[isFavorites && 'm--active']" :class="[isFavorites && 'm--active']"
@click="handlerFavorites" @click="handlerFavorites"
></div> ></div>
</template> </div>
<div class="player__tools"> <div class="player__tools">
<q-skeleton v-if="loaderPlay" class="player__tools m--skeleton" /> <q-skeleton v-if="loaderPlay" class="player__tools m--skeleton" />
<div v-else @click="toggleMyMusic"> <div v-else @click="handleAuthRequired">
<FormKit <FormKit
v-model="isUserMusic" v-model="isUserMusic"
type="toggle" type="toggle"
@ -365,14 +365,14 @@ export default {
} }
}, },
changeVolume() { changeVolume() {
console.log(this.songVolume); // console.log(this.songVolume);
this.$store.dispatch('handlerPlayer', { volume: this.songVolume }); this.$store.dispatch('handlerPlayer', { volume: this.songVolume });
}, },
toggleVolume() { toggleVolume() {
if (this.songVolume === 0) { if (this.songVolume === 0) {
this.songVolume = this.preToggleVol; this.songVolume = this.preToggleVol;
// console.log(this.songVolume); // console.log(this.songVolume);
this.$store.dispatch('handlerPlayer', { volume: this.songVolume }); this.$store.dispatch('handlerPlayer', { volume: this.preToggleVol });
} else { } else {
this.preToggleVol = this.songVolume; this.preToggleVol = this.songVolume;
this.songVolume = 0.0; this.songVolume = 0.0;
@ -380,7 +380,7 @@ export default {
this.$store.dispatch('handlerPlayer', { volume: this.songVolume }); this.$store.dispatch('handlerPlayer', { volume: this.songVolume });
} }
}, },
toggleMyMusic(e) { handleAuthRequired(e) {
if (this.user?.id) return; if (this.user?.id) return;
this.$store.dispatch('setModal', { auth: true }); this.$store.dispatch('setModal', { auth: true });
}, },

View File

@ -49,15 +49,29 @@ export default route(function (/* { store, ssrContext } */) {
}); });
Router.beforeEach((to, from, next) => { Router.beforeEach((to, from, next) => {
if ( // console.log(to);
to.matched.some((record) => record.meta.requiresAuth) && // console.log(process.env.SERVER);
!process.env.SERVER // if (
) { // to.matched.some((record) => record.meta.requiresAuth) &&
if (store.state.user && store.state.user?.id) { // !process.env.SERVER
// ) {
// if (store.state.user && store.state.user?.id) {
// next();
// } else {
// next({ name: 'home' });
// this.$store.dispatch('setShowAuthModal', true);
// }
// } else {
// next();
// }
// console.log(to);
// console.log(from);
if (to.meta.isAuth) {
if (store.state.user) {
next(); next();
} else { } else {
next({ name: 'home' }); next({ name: 'home' });
this.$store.dispatch('setShowAuthModal', true);
} }
} else { } else {
next(); next();

View File

@ -79,7 +79,7 @@ const routes = [
component: profile, component: profile,
meta: { meta: {
title: 'Личный кабинет', title: 'Личный кабинет',
isAuth: false, isAuth: true,
}, },
children: [ children: [
{ {