import type { Metadata } from 'next';
import * as Sentry from '@sentry/nextjs';

export const generateMetadata = (): Metadata => {
  return {
    title: {
      template: '%s | Tech Tracker',
      default: 'Tech Tracker',
    },
    description:
      'App used by COG IT employees to \
			update their status throughout the day.',
    applicationName: 'Tech Tracker',
    keywords:
      'Tech Tracker, City of Gulfport, Information Technology, T3 Template, ' +
      'Next.js, Supabase, Tailwind, TypeScript, React, T3, Gib',
    authors: [{ name: 'Gib', url: 'https://gbrown.org' }],
    creator: 'Gib Brown',
    publisher: 'Gib Brown',
    formatDetection: {
      email: false,
      address: false,
      telephone: false,
    },
    robots: {
      index: true,
      follow: true,
      nocache: false,
      googleBot: {
        index: true,
        follow: true,
        noimageindex: false,
        'max-video-preview': -1,
        'max-image-preview': 'large',
        'max-snippet': -1,
      },
    },
    icons: {
      icon: [
        { url: '/favicon.ico', type: 'image/x-icon', sizes: 'any' },
        {
          url: '/favicon-16.png',
          type: 'image/png',
          sizes: '16x16',
        },
        {
          url: '/favicon-32.png',
          type: 'image/png',
          sizes: '32x32',
        },
        { url: '/favicon.png', type: 'image/png', sizes: '96x96' },
        {
          url: '/favicon.ico',
          type: 'image/x-icon',
          sizes: 'any',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/favicon-16.png',
          type: 'image/png',
          sizes: '16x16',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/favicon-32.png',
          type: 'image/png',
          sizes: '32x32',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/favicon.png',
          type: 'image/png',
          sizes: '96x96',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-36.png',
          type: 'image/png',
          sizes: '36x36',
        },
        {
          url: '/appicon/icon-48.png',
          type: 'image/png',
          sizes: '48x48',
        },
        {
          url: '/appicon/icon-72.png',
          type: 'image/png',
          sizes: '72x72',
        },
        {
          url: '/appicon/icon-96.png',
          type: 'image/png',
          sizes: '96x96',
        },
        {
          url: '/appicon/icon-144.png',
          type: 'image/png',
          sizes: '144x144',
        },
        {
          url: '/appicon/icon.png',
          type: 'image/png',
          sizes: '192x192',
        },
        {
          url: '/appicon/icon-36.png',
          type: 'image/png',
          sizes: '36x36',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-48.png',
          type: 'image/png',
          sizes: '48x48',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-72.png',
          type: 'image/png',
          sizes: '72x72',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-96.png',
          type: 'image/png',
          sizes: '96x96',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-144.png',
          type: 'image/png',
          sizes: '144x144',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon.png',
          type: 'image/png',
          sizes: '192x192',
          media: '(prefers-color-scheme: dark)',
        },
      ],
      shortcut: [
        {
          url: '/appicon/icon-36.png',
          type: 'image/png',
          sizes: '36x36',
        },
        {
          url: '/appicon/icon-48.png',
          type: 'image/png',
          sizes: '48x48',
        },
        {
          url: '/appicon/icon-72.png',
          type: 'image/png',
          sizes: '72x72',
        },
        {
          url: '/appicon/icon-96.png',
          type: 'image/png',
          sizes: '96x96',
        },
        {
          url: '/appicon/icon-144.png',
          type: 'image/png',
          sizes: '144x144',
        },
        {
          url: '/appicon/icon.png',
          type: 'image/png',
          sizes: '192x192',
        },
        {
          url: '/appicon/icon-36.png',
          type: 'image/png',
          sizes: '36x36',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-48.png',
          type: 'image/png',
          sizes: '48x48',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-72.png',
          type: 'image/png',
          sizes: '72x72',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-96.png',
          type: 'image/png',
          sizes: '96x96',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon-144.png',
          type: 'image/png',
          sizes: '144x144',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: '/appicon/icon.png',
          type: 'image/png',
          sizes: '192x192',
          media: '(prefers-color-scheme: dark)',
        },
      ],
      apple: [
        {
          url: 'appicon/icon-57.png',
          type: 'image/png',
          sizes: '57x57',
        },
        {
          url: 'appicon/icon-60.png',
          type: 'image/png',
          sizes: '60x60',
        },
        {
          url: 'appicon/icon-72.png',
          type: 'image/png',
          sizes: '72x72',
        },
        {
          url: 'appicon/icon-76.png',
          type: 'image/png',
          sizes: '76x76',
        },
        {
          url: 'appicon/icon-114.png',
          type: 'image/png',
          sizes: '114x114',
        },
        {
          url: 'appicon/icon-120.png',
          type: 'image/png',
          sizes: '120x120',
        },
        {
          url: 'appicon/icon-144.png',
          type: 'image/png',
          sizes: '144x144',
        },
        {
          url: 'appicon/icon-152.png',
          type: 'image/png',
          sizes: '152x152',
        },
        {
          url: 'appicon/icon-180.png',
          type: 'image/png',
          sizes: '180x180',
        },
        {
          url: 'appicon/icon.png',
          type: 'image/png',
          sizes: '192x192',
        },
        {
          url: 'appicon/icon-57.png',
          type: 'image/png',
          sizes: '57x57',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-60.png',
          type: 'image/png',
          sizes: '60x60',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-72.png',
          type: 'image/png',
          sizes: '72x72',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-76.png',
          type: 'image/png',
          sizes: '76x76',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-114.png',
          type: 'image/png',
          sizes: '114x114',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-120.png',
          type: 'image/png',
          sizes: '120x120',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-144.png',
          type: 'image/png',
          sizes: '144x144',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-152.png',
          type: 'image/png',
          sizes: '152x152',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon-180.png',
          type: 'image/png',
          sizes: '180x180',
          media: '(prefers-color-scheme: dark)',
        },
        {
          url: 'appicon/icon.png',
          type: 'image/png',
          sizes: '192x192',
          media: '(prefers-color-scheme: dark)',
        },
      ],
      other: [
        {
          rel: 'apple-touch-icon-precomposed',
          url: '/appicon/icon-precomposed.png',
          type: 'image/png',
          sizes: '180x180',
        },
      ],
    },
    other: {
      ...Sentry.getTraceData(),
    },
    appleWebApp: {
      title: 'Tech Tracker',
      statusBarStyle: 'black-translucent',
      startupImage: [
        '/icons/apple/splash-768x1004.png',
        {
          url: '/icons/apple/splash-1536x2008.png',
          media: '(device-width: 768px) and (device-height: 1024px)',
        },
      ],
    },
    verification: {
      google: 'google',
      yandex: 'yandex',
      yahoo: 'yahoo',
    },
    category: 'technology',
    /*
		appLinks: {
			ios: {
				url: 'https://techtracker.gbrown.org/ios',
				app_store_id: 'com.gbrown.techtracker',
			},
			android: {
				package: 'https://techtracker.gbrown.org/android',
				app_name: 'app_t3_template',
			},
			web: {
				url: 'https://techtracker.gbrown.org',
				should_fallback: true,
			},
		},
		 */
  };
};
