Restructured the repository into a monorepo to better organize application code and maintenance scripts. ## Workspace Structure - web-app: Next.js application (all app code moved from root) - housekeeping: Database backup and maintenance scripts ## Key Changes - Moved all application code to web-app/ using git mv - Moved database scripts to housekeeping/ workspace - Updated Dockerfile for monorepo build process - Updated docker-compose files (volume paths: ./web-app/etc/hosts/) - Updated .gitignore for workspace-level node_modules - Updated documentation (README.md, CLAUDE.md, CHANGELOG.md) ## Migration Impact - Root package.json now manages workspaces - Build commands delegate to web-app workspace - All file history preserved via git mv - Docker build process updated for workspace structure 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import '@/app/ui/global.css';
|
|
import { inter } from '@/app/ui/fonts';
|
|
import { Metadata } from 'next';
|
|
import Script from 'next/script';
|
|
|
|
export const metadata:Metadata = {
|
|
title: 'rezije.app',
|
|
alternates: {
|
|
canonical: 'https://rezije.app',
|
|
languages: {
|
|
'en': 'https://rezije.app/en/',
|
|
'hr': 'https://rezije.app/hr/',
|
|
}
|
|
},
|
|
openGraph: {
|
|
title: 'Režije',
|
|
description: 'Preuzmite kontrolu nad svojim režijama',
|
|
url: 'https://rezije.app',
|
|
siteName: 'Režije',
|
|
images: [
|
|
{
|
|
url: 'https://rezije.app/opengraph-image.png', // Must be an absolute URL
|
|
width: 432,
|
|
height: 466,
|
|
alt: "Režije - Preuzmite kontrolu nad svojim režijama"
|
|
},
|
|
{
|
|
url: 'https://rezije.app/icon6.png', // Must be an absolute URL
|
|
width: 256,
|
|
height: 256,
|
|
alt: "Režije - Preuzmite kontrolu nad svojim režijama"
|
|
},
|
|
],
|
|
locale: 'hr',
|
|
type: 'website',
|
|
},
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
params: { locale },
|
|
}: {
|
|
children: React.ReactNode;
|
|
params: { locale:string };
|
|
}) {
|
|
return (
|
|
<html lang={locale}>
|
|
{process.env.NODE_ENV === 'production' && (
|
|
<Script
|
|
src="https://umami.rezije.app/script.js"
|
|
data-website-id="fcd97697-de4b-4a36-b40a-ddb22761cd06"
|
|
strategy="afterInteractive"
|
|
/>
|
|
)}
|
|
<body className={`${inter.className} antialiased`}>{children}</body>
|
|
</html>
|
|
);
|
|
}
|