pleroma-fe/src/components/login_form/login_form.vue

80 lines
2.4 KiB
Vue
Raw Normal View History

2016-10-28 03:02:41 +11:00
<template>
<div class="login panel panel-default">
2016-10-28 03:02:41 +11:00
<!-- Default panel contents -->
<div class="panel-heading">
{{$t('login.login')}}
2016-10-28 03:02:41 +11:00
</div>
<div class="panel-body">
2018-11-08 02:56:12 +11:00
<form v-if="loginMethod == 'password'" v-on:submit.prevent='submit(user)' class='login-form'>
<div class='form-group'>
<label for='username'>{{$t('login.username')}}</label>
<input :disabled="loggingIn" v-model='user.username' class='form-control' id='username' v-bind:placeholder="$t('login.placeholder')">
</div>
<div class='form-group'>
<label for='password'>{{$t('login.password')}}</label>
<input :disabled="loggingIn" v-model='user.password' class='form-control' id='password' type='password'>
</div>
<div class='form-group'>
<div class='login-bottom'>
<div><router-link :to="{name: 'registration'}" v-if='registrationOpen' class='register'>{{$t('login.register')}}</router-link></div>
<button :disabled="loggingIn" type='submit' class='btn btn-default'>{{$t('login.login')}}</button>
</div>
</div>
</form>
<form v-if="loginMethod == 'token'" v-on:submit.prevent='oAuthLogin' class="login-form">
2018-11-09 05:27:19 +11:00
<div class="form-group">
<p>{{$t('login.description')}}</p>
</div>
2016-10-28 03:02:41 +11:00
<div class='form-group'>
<div class='login-bottom'>
<div><router-link :to="{name: 'registration'}" v-if='registrationOpen' class='register'>{{$t('login.register')}}</router-link></div>
2018-11-09 05:27:19 +11:00
<button :disabled="loggingIn" type='submit' class='btn btn-default'>{{$t('login.login')}}</button>
</div>
</div>
2016-10-28 03:02:41 +11:00
</form>
<div v-if="authError" class='form-group'>
<div class='alert error'>
{{authError}}
<i class="button-icon icon-cancel" @click="clearError"></i>
</div>
</div>
2016-10-28 03:02:41 +11:00
</div>
</div>
</template>
<script src="./login_form.js" ></script>
<style lang="scss">
@import '../../_variables.scss';
.login-form {
.btn {
min-height: 28px;
width: 10em;
}
2018-04-08 02:30:27 +10:00
.register {
flex: 1 1;
}
2018-04-08 02:30:27 +10:00
.login-bottom {
margin-top: 1.0em;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
}
.login {
.error {
text-align: center;
animation-name: shakeError;
animation-duration: 0.4s;
animation-timing-function: ease-in-out;
}
}
</style>