import type { Metadata } from 'next';
import React from 'react';

import { Footer } from '@/Footer/Component';
import { Header } from '@/Header/Component';
import { Providers } from '@/providers';
import { InitTheme } from '@/providers/Theme/InitTheme';
import { mergeOpenGraph } from '@/utilities/mergeOpenGraph';

import './globals.css';

export default async function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html
      lang='en'
      suppressHydrationWarning
      style={{ fontFamily: 'Roobert, Inter, Helvetica Neue, Helvetica, Arial, sans-serif' }}
    >
      <head>
        <InitTheme />
        <link
          href='https://cdn-o.suno.com/favicon.ico'
          rel='icon'
          type='image/x-icon'
          sizes='any'
        />
        <link
          href='https://cdn-o.suno.com/favicon-192x192.png'
          rel='icon'
          type='image/png'
          sizes='192x192'
        />
        <link
          href='https://cdn-o.suno.com/favicon-512x512.png'
          rel='icon'
          type='image/png'
          sizes='512x512'
        />
        <link href='https://cdn-o.suno.com/apple-touch-icon.png' rel='apple-touch-icon' />
        <meta name='apple-itunes-app' content='app-id=6480136315' />
        <script type='application/ld+json'>
          {JSON.stringify({
            '@context': 'https://schema.org',
            '@type': 'WebSite',
            name: 'Suno',
            url: 'https://suno.com/',
            potentialAction: {
              '@type': 'SearchAction',
              target: 'https://suno.com/search?q=Suno',
              'query-input': 'required name=search_term_string',
            },
          })}
        </script>
        <script type='application/ld+json'>
          {JSON.stringify({
            '@context': 'https://schema.org',
            '@type': 'Organization',
            name: 'Suno',
            url: 'https://suno.com/',
            description:
              'Suno is building a future where anyone can make great music. From shower singers to chart-topping artists, we empower imagination and creativity.',
            address: {
              '@type': 'PostalAddress',
              addressLocality: 'Cambridge',
              addressRegion: 'MA',
              addressCountry: 'US',
            },
            sameAs: [
              'https://twitter.com/sunomusic',
              'https://www.instagram.com/sunomusic/',
              'https://www.tiktok.com/@sunomusic',
              'https://discord.com/invite/suno',
            ],
          })}
        </script>
      </head>
      <body>
        <Providers>
          <Header />
          {children}
          <Footer />
        </Providers>
      </body>
    </html>
  );
}

export const metadata: Metadata = {
  metadataBase: new URL('https://cdn1.suno.ai'),
  openGraph: mergeOpenGraph(),
  twitter: {
    card: 'summary_large_image',
    creator: '@sunomusic',
    site: '@sunomusic',
  },
  itunes: {
    appId: '6480136315',
  },
  appleWebApp: {
    capable: true,
    title: 'Suno',
    statusBarStyle: 'black-translucent',
  },
  applicationName: 'Suno',
  other: {
    'google-play-app': 'app-id=com.suno.android',
  },
};
