From 1a5c8f09bf7e762e11c966c750cf659ebeb0052a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 13 Feb 2024 23:00:37 +0100 Subject: [PATCH] Napoveda, fix filtru pro nacitani letu u objektu --- src/components/flights/FlightTrackMap.vue | 23 ++--- .../flights/slider/LatestFlightsSlider.vue | 9 +- src/composables/meta.js | 58 ++++++------- src/layouts/ProfileLayout.vue | 2 +- .../profile/aircraft/AircraftDetailPage.vue | 6 +- src/pages/profile/aircraft/AircraftsPage.vue | 3 +- .../profile/copilot/CopilotDetailPage.vue | 23 +++-- src/pages/profile/event/EventDetailPage.vue | 22 ++--- .../profile/poi/PointOfInterestDetailPage.vue | 21 +++-- src/pages/public/HelpPage.vue | 83 +++++++++++++++++++ .../public/aircraft/AircraftDetailPage.vue | 15 ++-- .../public/pilotProfile/CopilotDetailPage.vue | 8 +- .../public/pilotProfile/EventDetailPage.vue | 8 +- .../public/pilotProfile/FlightDetailPage.vue | 2 +- .../public/pilotProfile/FlightsListPage.vue | 4 +- .../public/poi/PointOfInterestDetailPage.vue | 5 +- src/router/routes.js | 1 + 17 files changed, 189 insertions(+), 104 deletions(-) create mode 100644 src/pages/public/HelpPage.vue diff --git a/src/components/flights/FlightTrackMap.vue b/src/components/flights/FlightTrackMap.vue index d2676f5..46a1d1f 100644 --- a/src/components/flights/FlightTrackMap.vue +++ b/src/components/flights/FlightTrackMap.vue @@ -101,16 +101,17 @@ const chartOptions = { diff --git a/src/components/flights/slider/LatestFlightsSlider.vue b/src/components/flights/slider/LatestFlightsSlider.vue index e8062a8..02107a0 100644 --- a/src/components/flights/slider/LatestFlightsSlider.vue +++ b/src/components/flights/slider/LatestFlightsSlider.vue @@ -29,7 +29,14 @@ const slide = ref(0); class="bg-blue-1 text-white" > - +
diff --git a/src/composables/meta.js b/src/composables/meta.js index 286b744..5ee5976 100644 --- a/src/composables/meta.js +++ b/src/composables/meta.js @@ -1,45 +1,45 @@ const stripHtml = (str) => { - if (!str) - return ''; - else - str = str.toString(); + if (!str) + return ''; + else + str = str.toString(); - return str.replace(/<[^>]+>/ig, ''); + return str.replace(/<[^>]+>/ig, ''); } export const commonKeywords = [ - "zápisník", "létání", "ultralight", "letectví", "fotogalerie", "výlet", "vyhlídkový let", "navigační let" + "zápisník", "létání", "ultralight", "letectví", "fotogalerie", "výlet", "vyhlídkový let", "navigační let" ]; export const aircraftKeywords = (aircraft) => { - return [aircraft.callSign, aircraft.manufacturer, aircraft.model] + return [aircraft.organization?.name, aircraft.callSign, aircraft.manufacturer, aircraft.model] }; export const metaData = ({title, description, keywords, image, index = true}) => { - const filteredKeywords = (keywords || []).filter(kw => !!kw); - const filteredDescription = stripHtml(description); + const filteredKeywords = (keywords || []).filter(kw => !!kw); + const filteredDescription = stripHtml(description); - return { - title: title, - titleTemplate(title) { - return title !== '' ? `${title} - Polétání.cz: fotogalerie ze vzduchu` : 'Polétání.cz' - }, - meta: { - description: {name: "description", content: filteredDescription || ""}, - keywords: {name: "keywords", content: (filteredKeywords || commonKeywords).join(", ")}, - ogImage: image ? {property: "og:image", content: image} : undefined, - ogTitle: { - property: "og:title", - content: title, - template(ogTitle) { - return (!ogTitle || ogTitle === '') ? "Polétání.cz" : `${ogTitle} - Polétání.cz` - } - }, - ogDescription: { - property: "og:description", content: filteredDescription, - }, - robots: {name: "robots", content: index ? "index" : "noindex"}, + return { + title: title, + titleTemplate(title) { + return title !== '' ? `${title} - Polétání.cz: fotogalerie ze vzduchu` : 'Polétání.cz' + }, + meta: { + description: {name: "description", content: filteredDescription || ""}, + keywords: {name: "keywords", content: (filteredKeywords || commonKeywords).join(", ")}, + ogImage: image ? {property: "og:image", content: image} : undefined, + ogTitle: { + property: "og:title", + content: title, + template(ogTitle) { + return (!ogTitle || ogTitle === '') ? "Polétání.cz" : `${ogTitle} - Polétání.cz` } + }, + ogDescription: { + property: "og:description", content: filteredDescription, + }, + robots: {name: "robots", content: index ? "index" : "noindex"}, } + } } diff --git a/src/layouts/ProfileLayout.vue b/src/layouts/ProfileLayout.vue index e3d55ac..4a0db6d 100644 --- a/src/layouts/ProfileLayout.vue +++ b/src/layouts/ProfileLayout.vue @@ -31,7 +31,7 @@ :src="user.titleImageUrl" style="height: 150px" > -
+
toggleVisibility({ $q, store: useAircraftsStore(), object: aircraft.value, variables }); +filters.value = {aircraftId: aircraftId}; const loadNextFlightsPage = (appendItems) => loadPage({ fetchFunc: useFlightsStore().fetch, - filters: {aircraftId: aircraftId}, appendItems }); const {isQueryRunning: areFlightsLoading, totalItemsCount, flights} = storeToRefs(useFlightsStore()); @@ -88,12 +88,14 @@ const loggedUser = storeToRefs(useLoggedUserStore()).user; diff --git a/src/pages/profile/aircraft/AircraftsPage.vue b/src/pages/profile/aircraft/AircraftsPage.vue index 4d87e7d..da064e4 100644 --- a/src/pages/profile/aircraft/AircraftsPage.vue +++ b/src/pages/profile/aircraft/AircraftsPage.vue @@ -14,8 +14,7 @@ import {loadPage, paginationLimit} from "src/composables/pagination"; useAppStore().setPageTitle("Letadla"); const loadNextAircraftsPage = (appendItems) => loadPage({ - fetchFunc: useAircraftsStore().fetch, - appendItems + fetchFunc: useAircraftsStore().fetch, appendItems }); loadNextAircraftsPage(false); diff --git a/src/pages/profile/copilot/CopilotDetailPage.vue b/src/pages/profile/copilot/CopilotDetailPage.vue index 8e0b898..3655668 100644 --- a/src/pages/profile/copilot/CopilotDetailPage.vue +++ b/src/pages/profile/copilot/CopilotDetailPage.vue @@ -8,7 +8,7 @@ import {useCopilotsStore} from "stores/Copilots"; import {storeToRefs} from "pinia"; import PhotoGallery from "components/photos/PhotoGallery.vue"; import ContentCard from "components/ContentCard.vue"; -import {loadPage, paginationLimit} from "src/composables/pagination"; +import {filters, loadPage, paginationLimit} from "src/composables/pagination"; import {useFlightsStore} from "stores/Flights"; import FlightsListSkeleton from "components/flights/skeletons/FlightsListSkeleton.vue"; import {useMeta, useQuasar} from "quasar"; @@ -27,21 +27,20 @@ useCopilotsStore().fetchDetail(copilotId).then(() => { ]) }); - -const loadNextFlightsPage = (appendItems) => loadPage({ - fetchFunc: useFlightsStore().fetch, - filters: {copilotId: copilotId}, - appendItems -}); -loadNextFlightsPage(false); -const {isQueryRunning: areFlightsLoading, totalItemsCount, flights} = storeToRefs(useFlightsStore()); -const {isQueryRunning, copilot} = storeToRefs(useCopilotsStore()); -const loggedUser = storeToRefs(useLoggedUserStore()).user; - const $q = useQuasar(); const togglePublicVisibility = (variables) => toggleVisibility({ $q, store: useCopilotsStore(), object: copilot.value, variables }); + +filters.value = {copilotId: copilotId}; +const loadNextFlightsPage = (appendItems) => loadPage({ + fetchFunc: useFlightsStore().fetch, appendItems +}); +loadNextFlightsPage(false); + +const {isQueryRunning: areFlightsLoading, totalItemsCount, flights} = storeToRefs(useFlightsStore()); +const {isQueryRunning, copilot} = storeToRefs(useCopilotsStore()); +const loggedUser = storeToRefs(useLoggedUserStore()).user;