From 9b38abd0dec877913a3f38c2b9da9cfd6585f589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Sun, 10 Dec 2023 22:10:26 +0100 Subject: [PATCH] Cookies v SSR --- quasar.config.js | 2 + src/boot/apollo.js | 2 + src/boot/cookies.js | 9 + src/layouts/ProfileLayout.vue | 38 +++-- src/layouts/PublicLayout.vue | 23 ++- src/pages/public/AircraftDetailPage.vue | 35 ++-- .../public/PointOfInterestDetailPage.vue | 19 +-- .../public/pilotProfile/CopilotDetailPage.vue | 31 ++-- src/stores/Copilots.js | 9 +- src/stores/User.js | 160 +++++++++--------- 10 files changed, 173 insertions(+), 155 deletions(-) create mode 100644 src/boot/cookies.js diff --git a/quasar.config.js b/quasar.config.js index b7d3f55..cebc930 100644 --- a/quasar.config.js +++ b/quasar.config.js @@ -29,6 +29,7 @@ module.exports = configure(function (ctx) { // --> boot files are part of "main.js" // https://v2.quasar.dev/quasar-cli/boot-files boot: [ + "cookies", "axios", "apollo", "chartJs" @@ -109,6 +110,7 @@ module.exports = configure(function (ctx) { // Quasar plugins plugins: [ + 'Cookies', 'Dialog', 'Meta', 'Notify' diff --git a/src/boot/apollo.js b/src/boot/apollo.js index f32c893..e64d38d 100644 --- a/src/boot/apollo.js +++ b/src/boot/apollo.js @@ -10,6 +10,7 @@ import {createUploadLink} from "apollo-upload-client"; const handleRefreshToken = (store, router, forward, operation) => { if (!operation.query?._refreshUnauthorizedUser) return; + console.log("refreshing token, ", operation.query); return fromPromise(useUserStore(store).refreshAccessToken() .catch((error) => { Notify.create(warningObject("Tvoje přihlášení vypřešlo. Přihlaš se prosím znovu.")); @@ -34,6 +35,7 @@ export const apolloWrapper = {}; export default (({store, router}) => { const uploadLink = createUploadLink({ uri: process.env.API_URL + '/graphql', + credentials: 'include' }) const authLink = new ApolloLink((operation, forward) => { diff --git a/src/boot/cookies.js b/src/boot/cookies.js new file mode 100644 index 0000000..bda4ef9 --- /dev/null +++ b/src/boot/cookies.js @@ -0,0 +1,9 @@ +import {Cookies} from 'quasar' +import {boot} from "quasar/wrappers"; + +let cookies = Cookies; +export default boot(({ssrContext}) => { + cookies = process.env.SERVER ? Cookies.parseSSR(ssrContext) : Cookies +}); + +export {cookies} diff --git a/src/layouts/ProfileLayout.vue b/src/layouts/ProfileLayout.vue index b914aa1..28e0d9a 100644 --- a/src/layouts/ProfileLayout.vue +++ b/src/layouts/ProfileLayout.vue @@ -3,12 +3,12 @@ @@ -21,9 +21,9 @@ @@ -34,18 +34,24 @@ - - +
- - + diff --git a/src/pages/public/AircraftDetailPage.vue b/src/pages/public/AircraftDetailPage.vue index eb98497..ee647a6 100644 --- a/src/pages/public/AircraftDetailPage.vue +++ b/src/pages/public/AircraftDetailPage.vue @@ -1,22 +1,11 @@ - -