|
|
@@ -1,10 +1,15 @@
|
|
|
<script>
|
|
|
+const { jwt } = require('./security')
|
|
|
import VueRouter from 'vue-router'
|
|
|
import Home from './home.vue'
|
|
|
+import Signup from './signup.vue'
|
|
|
+import Signin from './signin.vue'
|
|
|
+
|
|
|
const router = new VueRouter({
|
|
|
routes: [
|
|
|
{ path: '', component: Home },
|
|
|
- //{ path: '/signup', component: null }
|
|
|
+ { path: '/signup', component: Signup },
|
|
|
+ { path: '/signin', component: Signin }
|
|
|
]
|
|
|
})
|
|
|
|
|
|
@@ -18,68 +23,63 @@ export default {
|
|
|
router,
|
|
|
data() {
|
|
|
return {
|
|
|
- drawer: false
|
|
|
+ drawer: null,
|
|
|
+ jwt
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ signout() {
|
|
|
+ jwt.token = null
|
|
|
+ this.$router.push('/')
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <v-app>
|
|
|
- <v-content>
|
|
|
- <v-toolbar color="primary">
|
|
|
+ <v-app dark>
|
|
|
+ <v-navigation-drawer clipped fixed app v-model="drawer">
|
|
|
+ <!-- <v-toolbar flat>
|
|
|
<v-toolbar-side-icon v-on:click="drawer = !drawer" />
|
|
|
<v-toolbar-title>RSS Archive</v-toolbar-title>
|
|
|
- </v-toolbar>
|
|
|
- <v-navigation-drawer absolute temporary v-model="drawer">
|
|
|
- <v-toolbar flat>
|
|
|
- <v-toolbar-side-icon v-on:click="drawer = !drawer" />
|
|
|
- <v-toolbar-title>RSS Archive</v-toolbar-title>
|
|
|
- </v-toolbar>
|
|
|
- <v-list>
|
|
|
- <v-list-tile>
|
|
|
- <v-list-tile-action>
|
|
|
- <v-icon>home</v-icon>
|
|
|
- </v-list-tile-action>
|
|
|
- <v-list-tile-title>Home</v-list-tile-title>
|
|
|
- </v-list-tile>
|
|
|
+ </v-toolbar> -->
|
|
|
+ <v-list>
|
|
|
+ <v-list-tile v-if="!jwt.token" to="/signin">
|
|
|
+ <v-list-tile-action>
|
|
|
+ <v-icon>account_circle</v-icon>
|
|
|
+ </v-list-tile-action>
|
|
|
+ <v-list-tile-title>Sign in</v-list-tile-title>
|
|
|
+ </v-list-tile>
|
|
|
|
|
|
- <v-list-group
|
|
|
- prepend-icon="account_circle"
|
|
|
- value="true"
|
|
|
- >
|
|
|
- <template v-slot:activator>
|
|
|
- <v-list-tile>
|
|
|
- <v-list-tile-title>Users</v-list-tile-title>
|
|
|
- </v-list-tile>
|
|
|
- </template>
|
|
|
- <v-list-group
|
|
|
- no-action
|
|
|
- sub-group
|
|
|
- value="true"
|
|
|
- >
|
|
|
- <template v-slot:activator>
|
|
|
- <v-list-tile>
|
|
|
- <v-list-tile-title>Admin</v-list-tile-title>
|
|
|
- </v-list-tile>
|
|
|
- </template>
|
|
|
- </v-list-group>
|
|
|
+ <v-list-tile v-if="!jwt.token" to="/signup">
|
|
|
+ <v-list-tile-action>
|
|
|
+ <v-icon>person_add</v-icon>
|
|
|
+ </v-list-tile-action>
|
|
|
+ <v-list-tile-title>Sign up</v-list-tile-title>
|
|
|
+ </v-list-tile>
|
|
|
|
|
|
- <v-list-group
|
|
|
- sub-group
|
|
|
- no-action
|
|
|
- >
|
|
|
- <template v-slot:activator>
|
|
|
- <v-list-tile>
|
|
|
- <v-list-tile-title>Actions</v-list-tile-title>
|
|
|
- </v-list-tile>
|
|
|
- </template>
|
|
|
- </v-list-group>
|
|
|
- </v-list-group>
|
|
|
- </v-list>
|
|
|
- <v-divider></v-divider>
|
|
|
+ <v-list-tile v-if="jwt.token" @click="signout">
|
|
|
+ <v-list-tile-action>
|
|
|
+ <v-icon>account_circle</v-icon>
|
|
|
+ </v-list-tile-action>
|
|
|
+ <v-list-tile-title>Sign out</v-list-tile-title>
|
|
|
+ </v-list-tile>
|
|
|
|
|
|
- </v-navigation-drawer>
|
|
|
+ <v-list-tile to="/">
|
|
|
+ <v-list-tile-action>
|
|
|
+ <v-icon>home</v-icon>
|
|
|
+ </v-list-tile-action>
|
|
|
+ <v-list-tile-title>Home</v-list-tile-title>
|
|
|
+ </v-list-tile>
|
|
|
+ </v-list>
|
|
|
+ <v-divider></v-divider>
|
|
|
+
|
|
|
+ </v-navigation-drawer>
|
|
|
+ <v-toolbar app fixed clipped-left color="primary">
|
|
|
+ <v-toolbar-side-icon v-on:click="drawer = !drawer" />
|
|
|
+ <v-toolbar-title>RSS Archive</v-toolbar-title>
|
|
|
+ </v-toolbar>
|
|
|
+ <v-content>
|
|
|
<v-container>
|
|
|
<router-view />
|
|
|
</v-container>
|