import type { NextPage } from "next"; import type { AppProps } from "next/app"; import Head from "next/head"; import { useRouter } from "next/router"; import { type ComponentProps, type ReactElement, type ReactNode } from "react"; import { Toaster } from "react-hot-toast"; import "~/styles/globals.css"; import { api } from "~/utils/api"; import { ThemeProvider as NextThemesProvider } from "next-themes"; import { SessionProvider } from "~/providers/SessionProvider"; import { I18nProvider } from "~/providers/I18nProvider"; import { Layout } from "~/components/Layout"; import { inter } from "~/utils/fonts"; import "react-day-picker/dist/style.css"; import { NuqsAdapter } from "nuqs/adapters/next/pages"; import NextNProgress from "nextjs-progressbar"; type ThemeProviderProps = ComponentProps; export function ThemeProvider({ children, ...props }: ThemeProviderProps) { return {children}; } // eslint-disable-next-line @typescript-eslint/no-empty-object-type export type NextPageWithLayout

= NextPage & { // eslint-disable-next-line @typescript-eslint/no-explicit-any getLayout?: (page: ReactElement) => ReactNode; }; type AppPropsWithLayout

= AppProps

& { Component: NextPageWithLayout

; }; const MyApp = ({ Component, pageProps, }: AppPropsWithLayout<{ prop: null }>) => { const router = useRouter(); const { locale } = router; // Use the layout defined at the page level, if available const getLayout = Component.getLayout || ((page) => {page}); return ( Infoalloggi.it {/* eslint-disable-next-line react/no-unknown-property */} {getLayout()} ); }; export default api.withTRPC(MyApp);