Skip to content
Snippets Groups Projects
Commit 2d90ad6a authored by Gilgard's avatar Gilgard
Browse files

Merge branch 'main' into user-profile-view

parents 88e40928 77863299
No related branches found
No related tags found
1 merge request!13User profile view
Pipeline #175358 passed
<!--suppress HtmlDeprecatedAttribute -->
<template>
<div>
<v-col align="center" justify="space-around">
<v-col align="center" justify="space-around" class="mt-16">
<v-img
max-width="45%"
:src="require('../assets/logo3.svg')"
......@@ -12,8 +13,8 @@
<v-col>
<v-text-field
v-model="user.email"
:rules="emailRules"
label="E-mail"
:rules="[rules.email]"
label="Epost"
required
></v-text-field>
</v-col>
......@@ -25,7 +26,7 @@
:rules="[rules.required, rules.min]"
:type="showPassword ? 'text' : 'password'"
name="input-10-1"
label="Password"
label="Passord"
counter
@click:append="showPassword = !showPassword"
></v-text-field>
......@@ -75,19 +76,17 @@ export default {
showPassword: false,
valid: true,
emailRules: [
(v) => !!v || "E-mail is required",
(v) => /.+@.+\..+/.test(v) || "E-mail must be valid",
],
rules: {
required: (value) => !!value || "Required.",
min: (v) => v.length >= 8 || "Min 8 characters",
required: (value) => !!value || "Feltet er påkrevd",
min: (v) => v.length >= 8 || "Minimum 8 tegn",
email: (v) => /.+@.+\..+/.test(v) || "Epost adressen må være gyldig",
},
};
},
methods: {
async loginClicked() {
console.log(this.user.email + " " + this.user.password);
const loginRequest = {
email: this.user.email,
password: this.user.password,
......@@ -95,7 +94,7 @@ export default {
const loginResponse = await doLogin(loginRequest);
if (loginResponse === "Failed login") {
this.message = "kunne ikke logge inn";
this.message = "Feil brukernavn/passord";
this.$store.commit("logout");
return;
}
......
<template>
<div>
<v-col align="center" justify="space-around" class="mt-16">
<v-img
max-width="45%"
:src="require('../assets/logo3.svg')"
align="center"
/>
</v-col>
<v-form ref="form" v-model="valid" lazy-validation class="mt-8">
<v-text-field
v-model="user.password"
:rules="[rules.required, rules.min]"
:type="'password'"
name="input-10-1"
label="Passord"
counter
></v-text-field>
<v-text-field
v-model="user.rePassword"
:rules="[rules.required, rules.min, rules.passwordConfirmation]"
:type="'password'"
name="input-10-1"
label="Confirm Password"
counter
></v-text-field>
<v-col justify="space-around" align="center">
<v-btn
:disabled="!valid"
color="success"
class="mb-4 mt-4"
width="50%"
height="40px"
@click="setNewPassword"
>
Endre passord
</v-btn>
</v-col>
</v-form>
</div>
</template>
<script>
export default {
name: "NewPasswordForm.vue",
data() {
return {
user: {
password: "",
rePassword: "",
},
valid: true,
rules: {
required: (value) => !!value || "Feltet er påkrevd",
min: (v) => v.length >= 8 || "Minimum 8 tegn",
passwordConfirmation: (v) =>
v === this.user.password || "Passordene må være like",
},
};
},
methods: {
async setNewPassword() {},
validate() {
this.$refs.form.validate();
},
},
};
</script>
......@@ -3,8 +3,5 @@ import App from "./App.vue";
import router from "./router";
import store from "./store";
import "./index.css";
//import { loadFonts } from "webfontloader";
//loadFonts();
createApp(App).use(router).use(store).mount("#app");
......@@ -2,6 +2,7 @@ import store from "@/store";
import { createRouter, createWebHistory } from "vue-router";
import HomeView from "../views/HomeView.vue";
import LoginView from "../views/LoginView.vue";
import NewPasswordView from "../views/NewPasswordView";
const routes = [
{
......@@ -36,6 +37,11 @@ const routes = [
name: "login",
component: LoginView,
},
{
path: "/newPassword",
name: "newPassword",
component: NewPasswordView,
},
];
const router = createRouter({
......
<template>
<div class="newPasswordPage">
<NewPasswordForm></NewPasswordForm>
</div>
</template>
<script>
import NewPasswordForm from "@/components/NewPasswordForm";
export default {
name: "NewPasswordView.vue",
components: {
NewPasswordForm,
},
};
</script>
<style scoped>
.newPasswordPage {
background-color: white;
height: 100%;
overflow: auto;
}
</style>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment