Changeset 17bf12d


Ignore:
Timestamp:
01/25/25 00:58:19 (3 months ago)
Author:
Ljubomir Ilievski <ilievski.ljubomir@…>
Branches:
master
Children:
4894099
Parents:
a520992
Message:

Zavrsen pogolem del Login/Register Logika

Location:
ReserveNGo-frontend/src
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • ReserveNGo-frontend/src/App.vue

    ra520992 r17bf12d  
    33import NavBar from './components/Project/Nav_bar_new.vue'
    44import Footer_ from '@/components/Project/Footer_.vue'
     5
     6
     7
     8
     9
    510
    611</script>
  • ReserveNGo-frontend/src/components/Project/Nav_bar_new.vue

    ra520992 r17bf12d  
    22
    33
     4import { userStore } from '@/PiniaStores/UserStore.js'
     5
     6export default {
     7  data() {
     8    return {
     9      userStore_: userStore()
     10    }
     11  }
     12}
    413
    514
     
    5766      <!-- navbar links -->
    5867      <div class="collapse navbar-collapse justify-content-end align-center" id="main-nav">
     68
    5969        <ul class="navbar-nav">
     70
    6071          <li class="nav-item">
    61             <router-link to="/favourite_locals" class="nav-link">Favourite locals </router-link>
     72            <router-link v-if="this.userStore_.data.role==='ROLE_CUSTOMER'" to="/favourite_locals" class="nav-link">Favourite locals </router-link>
    6273          </li>
    6374          <li class="nav-item">
    64             <router-link to="/my_reservations" class="nav-link">My reservations </router-link>
     75            <router-link v-if="this.userStore_.data.role==='ROLE_CUSTOMER'" to="/my_reservations" class="nav-link">My reservations </router-link>
    6576          </li>
     77
    6678          <li class="nav-item ms-2 d-none d-md-inline">
    6779            <router-link to="/login" >
  • ReserveNGo-frontend/src/components/Project/login_.vue

    ra520992 r17bf12d  
    1 <script setup>
     1<script>
     2
     3
     4import { userStore } from '@/PiniaStores/UserStore.js'
     5
     6export default {
     7  data() {
     8    return {
     9      form_info:{
     10        email: '',
     11        password: ''
     12      },
     13
     14      url: 'http://localhost:8080/api/auth/login',
     15
     16      userStore_: userStore(),
     17
     18    }
     19  },
     20  methods: {
     21   /*async makeLogin() {
     22
     23      await fetch(this.url, {
     24        method: 'POST',
     25        headers: { 'Content-Type': 'application/x-www-form-urlencoded'},
     26        body: new URLSearchParams({
     27            email: this.form_info.email,
     28            password: this.form_info.password
     29        })
     30      }).then((response) => response.json())
     31        .then(json => )
     32
     33    }*/
     34  }
     35}
    236
    337</script>
     
    1044    <div class="row justify-content-center  ">
    1145
     46<!--      <form action="http://localhost:8080/api/auth/login" method="POST">-->
    1247      <div class="col-3">
    13         <form action="http://localhost:8080/api/auth/login" method="POST">
     48        <form  v-on:submit.prevent="makeLogin">
    1449
    15       <label for="email" class="form-label">Email</label>
    16       <input name="email" id="email" class="form-control" type="email">
     50      <label  for="email" class="form-label">Email</label>
     51      <input v-model="this.form_info.email" name="email" id="email" class="form-control" type="email">
    1752
    1853      <label for="password" class="form-label">Password</label>
    19       <input name="password" id="password" type="password" class="form-control">
     54      <input v-model="this.form_info.password" name="password" id="password" type="password" class="form-control">
    2055
    2156        <button type="submit" class="btn btn-dark mt-2">Login</button>
  • ReserveNGo-frontend/src/components/Project/register_.vue

    ra520992 r17bf12d  
    11<script>
    22
     3
     4import { userStore } from '@/PiniaStores/UserStore.js'
    35
    46export default {
     
    79      path: '',
    810      url: 'http://localhost:8080/api/auth/register/',
     11
    912      form_info:{
    1013        firstName: '',
     
    1518
    1619      },
    17       data: {}
     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
    1832
    1933    }
     
    2135
    2236  methods: {
    23     register() {
    24       fetch(this.url+this.path, {
     37   async register() {
     38     await fetch(this.wholeUrl, {
    2539        method: 'POST',
    26         headers: { "Content-Type": "application/json" },
    27         body: JSON.stringify({firstName: this.firstName, lastName: this.lastName, email: this.email, password: this.password})
    28       }).then((response) => {response.json()})
    29         .then((json) => this.data = json)
     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)
    3052
     53     //console.log(this.userStore_.data)
    3154    }
    3255
    3356  },
    34   /*computed: {
    35     somevariabletest(){
     57  computed: {
     58    wholeUrl(){
    3659      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})
    3768    }
    38   }*/
     69  }
    3970
    4071
     
    4980    <div class="row justify-content-center">
    5081
     82<!--      <form @submit.prevent="register" method="POST">-->
     83<!--      <form v-bind:action="wholeUrl" method="POST">-->
    5184
    5285  <div class="col-3">
    53     <form @submit.prevent="register()" method="POST">
     86    <form @submit.prevent="register" method="POST">
    5487      <label for="name" class="form-label" >Name</label>
    55       <input v-model="form_info.firstName" type="text" id="name" name="firstName" class="form-control" placeholder="Name" required>
     88      <input v-model="this.form_info.firstName" type="text" id="name" name="firstName" class="form-control" placeholder="Name" required>
    5689
    5790      <label for="surname" class="form-label">Surname</label>
Note: See TracChangeset for help on using the changeset viewer.