source: ReserveNGo-frontend/src/components/Project/register_.vue@ 17bf12d

Last change on this file since 17bf12d was 17bf12d, checked in by Ljubomir Ilievski <ilievski.ljubomir@…>, 3 months ago

Zavrsen pogolem del Login/Register Logika

  • Property mode set to 100644
File size: 3.4 KB
Line 
1<script>
2
3
4import { userStore } from '@/PiniaStores/UserStore.js'
5
6export default {
7 data() {
8 return {
9 path: '',
10 url: 'http://localhost:8080/api/auth/register/',
11
12 form_info:{
13 firstName: '',
14 lastName: '',
15 email: '',
16 password: '',
17 phoneNumber: '',
18
19 },
20 /* data: {
21 id: 0,
22 firstName: "",
23 lastName: "",
24 email: "",
25 phoneNumber: "",
26 role: "",
27 token: ""
28 },*/
29 userStore_: userStore(),
30
31 //NE ZABORAVAJ TREBA DA SREDIS VCITUVANJE NA data od userStore na pocetok na stranicata
32
33 }
34 },
35
36 methods: {
37 async register() {
38 await fetch(this.wholeUrl, {
39 method: 'POST',
40 headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
41 body: new URLSearchParams({
42 firstName: this.form_info.firstName,
43 lastName: this.form_info.lastName,
44 email: this.form_info.email,
45 password: this.form_info.password,
46 phoneNumber: this.form_info.phoneNumber})
47 }).then((response) => response.json())
48 .then((json) => {this.userStore_.setLocalStorage(json)})
49 //console.log("Data received:", this.data);
50 //this.userStore_.setLocalStorage(json)
51 //console.log(json)
52
53 //console.log(this.userStore_.data)
54 }
55
56 },
57 computed: {
58 wholeUrl(){
59 return this.url+this.path;
60 },
61 testJson(){
62 return JSON.stringify({
63 firstName: this.form_info.firstName,
64 lastName: this.form_info.lastName,
65 email: this.form_info.email,
66 password: this.form_info.password,
67 phoneNumber: this.form_info.phoneNumber})
68 }
69 }
70
71
72}
73
74
75
76</script>
77
78<template>
79 <div class="container-xxl">
80 <div class="row justify-content-center">
81
82<!-- <form @submit.prevent="register" method="POST">-->
83<!-- <form v-bind:action="wholeUrl" method="POST">-->
84
85 <div class="col-3">
86 <form @submit.prevent="register" method="POST">
87 <label for="name" class="form-label" >Name</label>
88 <input v-model="this.form_info.firstName" type="text" id="name" name="firstName" class="form-control" placeholder="Name" required>
89
90 <label for="surname" class="form-label">Surname</label>
91 <input v-model="form_info.lastName" type="text" id="surname" name="lastName" class="form-control" placeholder="Surname" required>
92
93 <label for="phone_number" class="form-label">Phone Number</label>
94 <input v-model="form_info.phoneNumber" type="text" id="phone_number" name="phoneNumber" class="form-control" required>
95
96 <label for="email" class="form-label">Email Address</label>
97 <input v-model="form_info.email" type="email" id="email" name="email" class="form-control" placeholder="someone@example.com" required>
98
99 <label for="password" class="form-label">Password</label>
100 <input v-model="form_info.password" type="password" id="password" name="password" class="form-control">
101
102 <label for="role" class="form-label">Role</label>
103 <select class="form-control" id="role" v-model="path">
104
105 <option value="customer">Customer</option>
106
107 <option value="local-worker">Local Worker</option>
108
109 <option value="local-manager">Local Manager</option>
110
111 </select>
112
113 <button type="submit" class="btn btn-dark">Register</button>
114 </form>
115 </div>
116
117 </div>
118
119
120 </div>
121
122</template>
123
124<style scoped>
125
126</style>
Note: See TracBrowser for help on using the repository browser.