diff --git a/app/layout.tsx b/app/layout.tsx index 7256fb488..6dc05ea08 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,4 +1,5 @@ import Navbar from 'components/layout/navbar'; +import { ensureStartsWith } from 'lib/utils'; import { Inter } from 'next/font/google'; import { ReactNode, Suspense } from 'react'; import './globals.css'; @@ -7,6 +8,8 @@ const { TWITTER_CREATOR, TWITTER_SITE, SITE_NAME } = process.env; const baseUrl = process.env.NEXT_PUBLIC_VERCEL_URL ? `https://${process.env.NEXT_PUBLIC_VERCEL_URL}` : 'http://localhost:3000'; +const twitterCreator = TWITTER_CREATOR ? ensureStartsWith(TWITTER_CREATOR, '@') : undefined; +const twitterSite = TWITTER_SITE ? ensureStartsWith(TWITTER_SITE, 'https://') : undefined; export const metadata = { metadataBase: new URL(baseUrl), @@ -18,12 +21,12 @@ export const metadata = { follow: true, index: true }, - ...(TWITTER_CREATOR && - TWITTER_SITE && { + ...(twitterCreator && + twitterSite && { twitter: { card: 'summary_large_image', - creator: TWITTER_CREATOR, - site: TWITTER_SITE + creator: twitterCreator, + site: twitterSite } }) }; diff --git a/components/layout/navbar/index.tsx b/components/layout/navbar/index.tsx index d618cc5de..2685ab798 100644 --- a/components/layout/navbar/index.tsx +++ b/components/layout/navbar/index.tsx @@ -18,11 +18,7 @@ export default async function Navbar() {
- + {menu.length ? ( diff --git a/lib/shopware/helpers.ts b/lib/shopware/helpers.ts index 38ea90fb4..ae0dd90c2 100644 --- a/lib/shopware/helpers.ts +++ b/lib/shopware/helpers.ts @@ -1,3 +1,5 @@ +import { ensureStartsWith } from 'lib/utils'; + export function getAccessToken(): string { return `${process.env.SHOPWARE_ACCESS_TOKEN}`; } @@ -6,10 +8,10 @@ export function getStoreDomainWithApiType(): string { return getStoreDomain() + '/' + getApiType(); } -export function getStoreDomain(protocol: boolean = true): string { - return protocol - ? `https://${process.env.SHOPWARE_STORE_DOMAIN!}` - : `${process.env.SHOPWARE_STORE_DOMAIN!}`; +export function getStoreDomain(): string { + return process.env.SHOPWARE_STORE_DOMAIN + ? ensureStartsWith(process.env.SHOPWARE_STORE_DOMAIN, 'https://') + : ''; } export function getApiType(): 'store-api' | 'admin-api' { diff --git a/lib/utils.ts b/lib/utils.ts index 3fa32280b..02ff6fe1b 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -6,3 +6,6 @@ export const createUrl = (pathname: string, params: URLSearchParams | ReadonlyUR return `${pathname}${queryString}`; }; + +export const ensureStartsWith = (stringToCheck: string, startsWith: string) => + stringToCheck.startsWith(startsWith) ? stringToCheck : `${startsWith}${stringToCheck}`;