refactor: restructure landing page with component extraction and fix Server Component hooks

- Extract reusable components: EnterOrSignInButton, paragraphFormatFactory, getProviders
- Fix React hooks usage: remove useMemo from async Server Components
- Update landing page content for Croatian and English translations
- Reorganize terms/policy pages into locale-aware directories
- Update PageFooter to use locale-aware links and make component async

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Knee Cola
2025-12-24 21:26:09 +01:00
parent 5da00abd4d
commit 68b2591f40
9 changed files with 126 additions and 128 deletions

View File

@@ -2,10 +2,12 @@ import Image from "next/image";
import Link from "next/link";
import React from "react";
import { useTranslations } from "next-intl";
import { getLocale } from "next-intl/server";
export const PageFooter: React.FC = () => {
export const PageFooter: React.FC = async () => {
const t = useTranslations("PageFooter");
const locale = await getLocale();
return(
<div className="bg-base-100 text-base-content mt-10">
@@ -17,8 +19,8 @@ export const PageFooter: React.FC = () => {
</div>
<p className="text-base-content/70 mb-5">{t('app-description')}</p>
<Link href="/home" className="link link-hover">{t('links.home')}</Link>
<Link href="/policy/" className="link link-hover">{t('links.privacy-policy')}</Link>
<Link href="/terms/" className="link link-hover">{t('links.terms-of-service')}</Link>
<Link href={`/${locale}/privacy-policy/`} className="link link-hover">{t('links.privacy-policy')}</Link>
<Link href={`/${locale}/terms-of-service/`} className="link link-hover">{t('links.terms-of-service')}</Link>
</div>
<div>
<span className="footer-title opacity-70">documents</span>