layout.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import type { Metadata } from 'next'
  2. import '@/styles/globals.css'
  3. import { AuthProvider } from '@/hooks/useAuth'
  4. import Header from '@/components/Header'
  5. import { ErrorBoundary } from '@/components/ErrorBoundary'
  6. import { ErrorReporter } from '@/components/ErrorReporter'
  7. export const metadata: Metadata = {
  8. title: 'PhotoPlaces — карта мест и студий для фотографии',
  9. description: 'Находите лучшие места и студии для фотосъемок, бронируйте студии и общайтесь с фотографами',
  10. }
  11. const version = process.env.NEXT_PUBLIC_GIT_HASH || process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA || 'dev'
  12. const year = new Date().getFullYear()
  13. export default function RootLayout({ children }: { children: React.ReactNode }) {
  14. return (
  15. <html lang="ru">
  16. <body className="h-screen overflow-hidden bg-[#060606]">
  17. <ErrorBoundary>
  18. <AuthProvider>
  19. <Header />
  20. <ErrorReporter />
  21. {children}
  22. </AuthProvider>
  23. </ErrorBoundary>
  24. <div className="absolute bottom-0 left-0 right-0 z-40 pb-3">
  25. <div className="flex items-center justify-center">
  26. <p className="text-xs text-white/20">&copy; {year} PhotoPlaces</p>
  27. </div>
  28. <p className="absolute right-4 bottom-3 text-xs text-white/20">{version}</p>
  29. </div>
  30. </body>
  31. </html>
  32. )
  33. }