import type {Metadata, Viewport} from "next"; import "./globals.scss"; import {IconDescriptor} from "next/dist/lib/metadata/types/metadata-types"; const generateIconDescriptor = (rel: string, sizes: string, url: string): IconDescriptor => { // */} return { rel, sizes, url }; } const generateAppleIcons = ( ): IconDescriptor[] => { const allSizes: string[] = [ "57x57", "60x60", "72x72", "76x76", "114x114", "120x120", "144x144", "152x152", "180x180", ]; const linkBase = "./assets/images/favicon/apple-icon-"; const rel ="apple-touch-icon"; // */} return allSizes.map((sizes) => { return generateIconDescriptor(rel,sizes,linkBase+sizes+".png"); }) ; } const generateAndroidIcons = (): IconDescriptor[] =>{ const allSizes = [ "192x192", ]; const linkBase = "./assets/images/favicon/android-icon-"; const rel ="icon"; {/* */} return allSizes.map((sizes) => { return generateIconDescriptor(rel,sizes,linkBase+sizes+".png"); }) ; } const generateFavIcons = (): IconDescriptor[] =>{ const allSizes = [ "32x32", "96x96", "16x16", ]; const linkBase = "./assets/images/favicon/favicon-"; const rel ="icon"; {/* */} return allSizes.map((sizes) => { return generateIconDescriptor(rel,sizes,linkBase+sizes+".png"); }) ; } const generateIcons = ( ): IconDescriptor[] => { return [ ...generateAppleIcons(), ...generateAndroidIcons(), ...generateFavIcons() ]; } export const metadata: Metadata = { title: "Reverseyoga", description: "Reverseyoga - Yoga mindenkinek", icons: generateIcons(), manifest: "./assets/images/favicon/manifest.json", other: { "msapplication-TileColor": "#ffffff", "msapplication-TileImage": "/ms-icon-144x144.png" } }; {/**/} export const viewport: Viewport = { initialScale: 1, maximumScale: 1, userScalable: false, width: "device-width", themeColor: "#ffffff", }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return ( {children} ); }