doc: import supabase, useRouter, store, and computed and setup them up in the setup function
This commit is contained in:
@@ -11,28 +11,41 @@
|
|||||||
<router-link class="cursor-pointer" :to="{ name: 'Home' }">
|
<router-link class="cursor-pointer" :to="{ name: 'Home' }">
|
||||||
Home
|
Home
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link class="cursor-pointer" :to="{ name: '' }">
|
<router-link v-if="user" class="cursor-pointer" :to="{ name: '' }">
|
||||||
Create
|
Create
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link class="cursor-pointer" :to="{ name: 'Login' }">
|
<router-link
|
||||||
|
v-if="!user"
|
||||||
|
class="cursor-pointer"
|
||||||
|
:to="{ name: 'Login' }"
|
||||||
|
>
|
||||||
Login
|
Login
|
||||||
</router-link>
|
</router-link>
|
||||||
<li class="cursor-pointer">Logout</li>
|
<li v-if="user" @click="logout" class="cursor-pointer">Logout</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { supabase } from "../supabase/init";
|
||||||
|
import { useRouter } from "vue-router";
|
||||||
|
import store from "../store/index";
|
||||||
|
import { computed } from "vue";
|
||||||
export default {
|
export default {
|
||||||
setup() {
|
setup() {
|
||||||
// Get user from store
|
// Get user from store
|
||||||
|
const user = computed(() => store.state.user);
|
||||||
// Setup ref to router
|
// Setup ref to router
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
// Logout function
|
// Logout function
|
||||||
|
const logout = async () => {
|
||||||
|
await supabase.auth.signOut();
|
||||||
|
router.replace({ name: "Page" });
|
||||||
|
};
|
||||||
|
|
||||||
return {};
|
return { logout, user };
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user