mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-05-08 03:37:28 +08:00
Add login and signup pages with hidden menu
This commit is contained in:
@@ -1,9 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<HeaderComponent @toggle-menu="menuVisible = !menuVisible" />
|
<HeaderComponent
|
||||||
|
@toggle-menu="menuVisible = !menuVisible"
|
||||||
|
:show-menu-btn="!hideMenu"
|
||||||
|
/>
|
||||||
|
|
||||||
<div class="main-container">
|
<div class="main-container">
|
||||||
<MenuComponent :visible="menuVisible" />
|
<MenuComponent :visible="!hideMenu && menuVisible" />
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<router-view />
|
<router-view />
|
||||||
</div>
|
</div>
|
||||||
@@ -20,6 +23,11 @@ export default {
|
|||||||
components: { HeaderComponent, MenuComponent },
|
components: { HeaderComponent, MenuComponent },
|
||||||
data() {
|
data() {
|
||||||
return { menuVisible: true }
|
return { menuVisible: true }
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
hideMenu() {
|
||||||
|
return ['/login', '/signup'].includes(this.$route.path)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<header class="header">
|
<header class="header">
|
||||||
<div class="header-content">
|
<div class="header-content">
|
||||||
<button class="menu-btn" @click="$emit('toggle-menu')">
|
<button v-if="showMenuBtn" class="menu-btn" @click="$emit('toggle-menu')">
|
||||||
<i class="fas fa-bars"></i>
|
<i class="fas fa-bars"></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="logo-container" @click="goToHome">
|
<div class="logo-container" @click="goToHome">
|
||||||
<img alt="OpenIsle" src="https://openisle-1307107697.cos.ap-guangzhou.myqcloud.com/assert/image.png" width="60" height="60">
|
<img alt="OpenIsle" src="https://openisle-1307107697.cos.ap-guangzhou.myqcloud.com/assert/image.png" width="60" height="60">
|
||||||
@@ -15,6 +15,12 @@
|
|||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'HeaderComponent',
|
name: 'HeaderComponent',
|
||||||
|
props: {
|
||||||
|
showMenuBtn: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
goToHome() {
|
goToHome() {
|
||||||
this.$router.push('/')
|
this.$router.push('/')
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ import HomePageView from '../views/HomePageView.vue'
|
|||||||
import MessagePageView from '../views/MessagePageView.vue'
|
import MessagePageView from '../views/MessagePageView.vue'
|
||||||
import AboutPageView from '../views/AboutPageView.vue'
|
import AboutPageView from '../views/AboutPageView.vue'
|
||||||
import PostPageView from '../views/PostPageView.vue'
|
import PostPageView from '../views/PostPageView.vue'
|
||||||
|
import LoginPageView from '../views/LoginPageView.vue'
|
||||||
|
import SignupPageView from '../views/SignupPageView.vue'
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
@@ -24,6 +26,16 @@ const routes = [
|
|||||||
path: '/posts/:id',
|
path: '/posts/:id',
|
||||||
name: 'post',
|
name: 'post',
|
||||||
component: PostPageView
|
component: PostPageView
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/login',
|
||||||
|
name: 'login',
|
||||||
|
component: LoginPageView
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/signup',
|
||||||
|
name: 'signup',
|
||||||
|
component: SignupPageView
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
17
open-isle-cli/src/views/LoginPageView.vue
Normal file
17
open-isle-cli/src/views/LoginPageView.vue
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<template>
|
||||||
|
<div class="login-page">
|
||||||
|
<h1>Login</h1>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'LoginPageView'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.login-page {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
17
open-isle-cli/src/views/SignupPageView.vue
Normal file
17
open-isle-cli/src/views/SignupPageView.vue
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<template>
|
||||||
|
<div class="signup-page">
|
||||||
|
<h1>Sign Up</h1>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'SignupPageView'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.signup-page {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user