Prace s mapou, refresh tokenu (tak nejak), uprava vypisu POI, pridani breadcrumbs
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import {defineStore} from 'pinia'
|
||||
import {useMeta} from "quasar";
|
||||
|
||||
export const useAppStore = defineStore('App', {
|
||||
state: () => ({
|
||||
@@ -13,10 +12,6 @@ export const useAppStore = defineStore('App', {
|
||||
},
|
||||
setPageTitle(pageTitle) {
|
||||
this.pageTitle = pageTitle;
|
||||
useMeta({title: pageTitle !== '' ? `${pageTitle} - Polétání.cz` : 'Polétání.cz'});
|
||||
|
||||
|
||||
console.log("setPageTitle:", pageTitle);
|
||||
},
|
||||
setBreadcrumbs(breadcrumbs) {
|
||||
this.breadcrumbs = breadcrumbs;
|
||||
|
||||
+31
-30
@@ -4,31 +4,42 @@ import {api} from "boot/axios";
|
||||
export const useUserStore = defineStore('LoggedUser', {
|
||||
state: () => ({
|
||||
user: {},
|
||||
accessToken: null
|
||||
}),
|
||||
|
||||
actions: {
|
||||
|
||||
setAccessToken(token) {
|
||||
console.log(token);
|
||||
if (token) {
|
||||
localStorage.setItem("accessToken", token);
|
||||
}
|
||||
this.accessToken = localStorage.getItem("accessToken");
|
||||
setTokens({access_token, access_token_validity}) {
|
||||
const now = new Date().getTime() / 1000;
|
||||
localStorage.setItem("accessToken", access_token);
|
||||
localStorage.setItem("accessTokenValidity", now + access_token_validity);
|
||||
},
|
||||
|
||||
getAccessToken() {
|
||||
if (!this.accessToken) {
|
||||
this.setAccessToken();
|
||||
const tokenValidity = localStorage.getItem("accessTokenValidity");
|
||||
const now = new Date().getTime() / 1000;
|
||||
|
||||
if (tokenValidity < now) {
|
||||
localStorage.removeItem("accessToken");
|
||||
localStorage.removeItem("accessTokenValidity");
|
||||
}
|
||||
|
||||
return this.accessToken;
|
||||
return localStorage.getItem(`accessToken`);
|
||||
},
|
||||
|
||||
async setupCredentials() {
|
||||
// TODO: aktualne se vola s kazdym prechodem mezi routami, to je urcite zbytecne!
|
||||
await api.get("/me").then(({data}) => {
|
||||
setupCredentials() {
|
||||
return api.get("/me").then(({data}) => {
|
||||
this.user = data;
|
||||
}).catch(e => {
|
||||
console.log(e);
|
||||
return this.user;
|
||||
}).catch(async ({response}) => {
|
||||
console.log(response);
|
||||
|
||||
return response;
|
||||
});
|
||||
},
|
||||
|
||||
async refreshAccessToken() {
|
||||
return api.post("/refresh").then(({data}) => {
|
||||
this.setTokens(data);
|
||||
return data.access_token;
|
||||
});
|
||||
},
|
||||
|
||||
@@ -40,25 +51,15 @@ export const useUserStore = defineStore('LoggedUser', {
|
||||
},
|
||||
|
||||
async login(formData) {
|
||||
|
||||
return api.post("/login", formData).then(response => {
|
||||
const data = response.data;
|
||||
console.log("data", data);
|
||||
this.setAccessToken(data.access_token);
|
||||
return api.post("/login", formData).then(({data}) => {
|
||||
this.setTokens(data);
|
||||
this.user = data.user;
|
||||
})
|
||||
|
||||
// console.log("login", username, password);
|
||||
// Object.assign(this.user, {
|
||||
// id: 1,
|
||||
// email: "michal@kvacek.cz",
|
||||
// name: "Michal K.",
|
||||
// accessToken: "abcdef",
|
||||
// avatarImageUrl: "https://via.placeholder.com/50x50"
|
||||
// });
|
||||
},
|
||||
logout() {
|
||||
Object.assign(this.user, {});
|
||||
localStorage.removeItem("accessToken");
|
||||
localStorage.removeItem("accessTokenValidity");
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user