feature: header, login page

This commit is contained in:
Aleksei Tsybin 2022-02-25 21:54:32 +03:00
parent 0cc01e8149
commit 9f75dccfd0
3 changed files with 125 additions and 8 deletions

View File

@ -1,7 +1,11 @@
@import "~bulma/sass/utilities/_all"; @import "~bulma/sass/utilities/_all";
$navbar-item-hover-color: orange; $navbar-item-hover-color: orange;
$navbar-height: 4rem; $navbar-height: 4.5rem;
$navbar-item-img-max-height: 4rem;
$input-focus-border-color: orange;
$button-focus-border-color: orange;
$button-hover-border-color: orange;
@import "~bulma"; @import "~bulma";
@import "~buefy/src/scss/buefy"; @import "~buefy/src/scss/buefy";

View File

@ -6,18 +6,59 @@
</b-navbar-item> </b-navbar-item>
</template> </template>
<template #start> <template #start>
<b-navbar-item class="is-link" tag="router-link" :to="{ name: 'home' }"> <b-navbar-item
class="is-link"
exact-active-class="home-active"
tag="router-link"
:to="{ name: 'home' }"
onclick="this.blur()"
>
Home Home
</b-navbar-item> </b-navbar-item>
<b-navbar-item href="#"> Docs</b-navbar-item> <b-navbar-item
<b-navbar-item href="#"> Source</b-navbar-item> href="https://github.com/ZorgCC/psina-avatar-server/wiki"
rel="noopener noreferrer"
target="_blank"
onclick="this.blur()"
>
Docs
</b-navbar-item>
<b-navbar-item
href="https://github.com/ZorgCC/psina-avatar-server"
rel="noopener noreferrer"
target="_blank"
onclick="this.blur()"
>
Source</b-navbar-item
>
</template> </template>
<template #end> <template #end>
<b-navbar-item tag="div"> <b-navbar-item tag="div">
<div class="buttons"> <div class="buttons">
<router-link <router-link
class="button is-light has-background-white is-rounded"
:to="{ name: 'settings' }"
>
<!-- TODO create route setting -->
<b-icon
:class="{ 'home-active': isAuth }"
class="settings-hover"
icon="cog"
></b-icon>
</router-link>
<b-button
v-if="isAuth"
class="button is-light is-rounded" class="button is-light is-rounded"
active-class="login-active"
@click="isAuth = false"
>
Log out
</b-button>
<router-link
v-else
class="button is-light is-rounded"
active-class="login-active"
:to="{ name: 'login' }" :to="{ name: 'login' }"
> >
Log in Log in
@ -30,6 +71,21 @@
<script> <script>
export default { export default {
name: 'HeaderComponent', name: 'HeaderComponent',
data() {
return {
isAuth: false,
}
},
} }
</script> </script>
<style lang="scss"></style> <style lang="scss" scoped>
.home-active {
color: orange;
}
.login-active {
border-color: orange !important;
}
.settings-hover:hover {
color: orange;
}
</style>

View File

@ -1,13 +1,70 @@
<template> <template>
<div class="container"> <div class="columns is-centered">
<h1>LOGIN</h1> <div class="column is-two-fifths">
<div class="hero is-fullheight-with-navbar">
<div class="hero-body">
<form
class="content"
style="width: 100%; transform: translateY(-50%)"
>
<p v-if="!isValid" class="has-text-danger has-text-centered">
Incorrect username or password! Please try again!
</p>
<b-field
label-position="on-border"
:type="{ 'is-danger': !isValid }"
>
<template #label>
<span class="has-text-grey">Username</span>
</template>
<b-input
rounded
icon="account"
value="johnsilver"
@focus="isValid = true"
></b-input>
</b-field>
<b-field
label-position="on-border"
:type="{ 'is-danger': !isValid }"
>
<template #label>
<span class="has-text-grey">Password</span>
</template>
<b-input
rounded
icon="lock"
value="123"
type="password"
@focus="isValid = true"
></b-input>
</b-field>
<div class="buttons is-right">
<b-button
class="m-0"
rounded
onclick="this.blur()"
@click.prevent="isValid = !isValid"
>
Log in
</b-button>
</div>
</form>
</div>
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'LoginView', name: 'LoginView',
data() {
return {
isValid: true,
}
},
} }
</script> </script>
<style scoped></style> <style scoped lang="scss"></style>