From 5acaeccb70914c8ed783e2923e34ae9b852ad826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Markovi=C4=87?= Date: Sun, 9 Jul 2023 23:28:56 +0400 Subject: [PATCH] Meta titles and desc --- frontend/pages/[slug]/index.js | 6 ++++-- frontend/pages/_app.js | 11 ++++++++--- frontend/pages/vendors/[slug]/index.js | 12 +++++++++--- frontend/pages/vendors/index.js | 6 +++++- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/frontend/pages/[slug]/index.js b/frontend/pages/[slug]/index.js index 5635d98..2b3e243 100644 --- a/frontend/pages/[slug]/index.js +++ b/frontend/pages/[slug]/index.js @@ -1,4 +1,5 @@ import { Box, Heading } from '@chakra-ui/react' +import Head from 'next/head' export const getStaticPaths = async () => { const url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/pages`) @@ -26,12 +27,13 @@ export const getStaticProps = async ({ params: { slug } }) => { data: [page], } = await res.json() - return { props: page } + return { props: { page } } } -export default function Page(page) { +export default function Page({ globals, page }) { return ( + {page.title && {[page.title, globals.meta_title].join(' — ')}} {page.title}
diff --git a/frontend/pages/_app.js b/frontend/pages/_app.js index cddd76a..57e511e 100644 --- a/frontend/pages/_app.js +++ b/frontend/pages/_app.js @@ -1,14 +1,19 @@ -import App from 'next/app' import { ChakraProvider } from '@chakra-ui/react' +import App from 'next/app' +import Head from 'next/head' import Layout from '~/components/layout' -import theme from '~/src/theme' import '~/src/style.scss' +import theme from '~/src/theme' export default function MyApp({ Component, pageProps, globals, menus }) { return ( + + {globals.meta_title} + + - + ) diff --git a/frontend/pages/vendors/[slug]/index.js b/frontend/pages/vendors/[slug]/index.js index ef6ba82..26e48bf 100644 --- a/frontend/pages/vendors/[slug]/index.js +++ b/frontend/pages/vendors/[slug]/index.js @@ -1,8 +1,9 @@ import { Link } from '@chakra-ui/next-js' import { Box, Button, Flex, Heading, Image, List, ListIcon, ListItem, SimpleGrid, Text } from '@chakra-ui/react' +import { iso31661 } from 'iso-3166' +import Head from 'next/head' import { FaFacebookSquare, FaLinkedin, FaTwitterSquare } from 'react-icons/fa' import { TbWorldWww } from 'react-icons/tb' -import { iso31661 } from 'iso-3166' export const getStaticPaths = async () => { const url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/vendors`) @@ -35,12 +36,17 @@ export const getStaticProps = async ({ params: { slug } }) => { data: [vendor], } = await res.json() - return { props: { ...vendor, country: iso31661.find((iso) => iso.alpha3 === vendor.country)?.name || '' } } + return { + props: { vendor: { ...vendor, country: iso31661.find((iso) => iso.alpha3 === vendor.country)?.name || '' } }, + } } -export default function VendorPage(vendor) { +export default function VendorPage({ globals, vendor }) { return ( + + {[vendor.name, globals.meta_title].join(' — ')} + {vendor.name} { return { props: { categories } } } -export default function VendorsPage({ categories }) { +export default function VendorsPage({ globals, categories }) { const router = useRouter() const { query: { page = 1, category = '', q: search = '' }, @@ -135,6 +136,9 @@ export default function VendorsPage({ categories }) { return ( + + {['Vendors', globals.meta_title].join(' — ')} + Vendors {isValidating && }