frontend/src/views/LoginView.vue

67 lines
1.7 KiB
Vue
Raw Normal View History

<script setup>
2025-09-12 23:50:21 +03:00
import { ref } from 'vue'
import { useAuthStore} from '@/stores/authStore.js'
2025-09-09 23:19:17 +03:00
2025-09-12 23:50:21 +03:00
const store = useAuthStore()
2025-09-09 23:19:17 +03:00
2025-09-12 23:50:21 +03:00
const email = ref('')
const password = ref('')
2025-09-09 23:19:17 +03:00
2025-09-12 23:50:21 +03:00
const onSubmit = () => {
store.login(email.value, password.value)
}
2025-09-09 23:19:17 +03:00
</script>
<template>
2025-09-12 23:50:21 +03:00
<n-card class="my-card">
<n-tabs
class="card-tabs"
default-value="signin"
size="large"
animated
pane-wrapper-style="margin: 0 -4px"
pane-style="padding-left: 4px; padding-right: 4px; box-sizing: border-box;"
>
<n-tab-pane name="signin" tab="Sign in">
<n-form @submit.prevent="onSubmit">
<n-form-item-row label="Email">
<n-input v-model:value="email"/>
</n-form-item-row>
<n-form-item-row label="Password">
<n-input v-model:value="password" type="password" show-password-on="click" />
</n-form-item-row>
</n-form>
<n-button type="primary" block secondary strong @click="onSubmit"> Sign In </n-button>
</n-tab-pane>
<n-tab-pane name="signup" tab="Sign up">
<n-form>
<n-form-item-row label="Email">
<n-input />
</n-form-item-row>
<n-form-item-row label="Password">
<n-input type="password" show-password-on="click" />
</n-form-item-row>
<n-form-item-row label="Reenter Password">
<n-input type="password" show-password-on="click" />
</n-form-item-row>
</n-form>
<n-button type="primary" block secondary strong> Sign up </n-button>
</n-tab-pane>
</n-tabs>
</n-card>
2025-09-09 23:19:17 +03:00
</template>
<style scoped>
2025-09-12 23:50:21 +03:00
.card-tabs .n-tabs-nav--bar-type {
padding-left: 4px;
}
.my-card {
max-width: 500px;
width: 90%;
margin: 10px auto 0;
}
2025-09-09 23:19:17 +03:00
</style>