From a2c04393dbbe604c6903a9578af1d027ab0be004 Mon Sep 17 00:00:00 2001 From: Rama Priyanto Date: Fri, 14 Mar 2025 15:45:40 +0700 Subject: [PATCH] fix meta data --- app/layout.tsx | 32 ++++++------------------- app/page.tsx | 14 +---------- app/providers.tsx | 40 ++++++++++++++++++++++++------- components/landing/banner-new.tsx | 2 +- components/landing/drawer.tsx | 1 + components/landing/footer-new.tsx | 1 + components/navbar.tsx | 2 +- messages/en.json | 3 ++- messages/id.json | 3 ++- next.config.js | 3 +++ 10 files changed, 50 insertions(+), 51 deletions(-) diff --git a/app/layout.tsx b/app/layout.tsx index d23cc41..332c66c 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,5 +1,4 @@ // RootLayout.tsx -"use client"; import { fontSans } from "@/config/fonts"; import { siteConfig } from "@/config/site"; import { Inter } from "next/font/google"; @@ -10,7 +9,7 @@ import { Metadata } from "next"; import { Providers } from "./providers"; import LoadScript from "@/utils/global"; import { NextIntlClientProvider } from "next-intl"; -import { useEffect, useState, type ReactNode } from "react"; +import { type ReactNode } from "react"; import storedLanguage from "@/store/language-store"; const inter = Inter({ subsets: ["latin"] }); @@ -32,27 +31,12 @@ const inter = Inter({ subsets: ["latin"] }); // }; export default function RootLayout({ children }: { children: ReactNode }) { - const [localeNow, setLocaleNow] = useState("id"); - - const locale = storedLanguage((state) => state.locale); - - useEffect(() => { - if (locale) { - setLocaleNow(locale); - } - }, [locale]); - - const [messages, setMessages] = useState(null); - useEffect(() => { - (async () => { - const loadedMessages = (await import(`../messages/${locale}.json`)) - .default; - setMessages(loadedMessages); - })(); - }, [locale]); return ( + + DIVISI HUMAS POLRI - Pengelolaan Informasi & Dokumentasi Polri + - - -
{children}
-
-
+ +
{children}
+
); diff --git a/app/page.tsx b/app/page.tsx index 609fe6b..e887b9c 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,24 +1,12 @@ -"use client"; import BannerHumasNew from "@/components/landing/banner-new"; -import BannerHumas from "@/components/landing/BannerHumas"; import BodyLayout from "@/components/landing/BodyLayout"; import AnalyticDrawer from "@/components/landing/drawer"; import FooterNew from "@/components/landing/footer-new"; import HeaderNews from "@/components/landing/HeaderNews"; import NewsTicker from "@/components/landing/NewsTicker"; -import { HumasLayout } from "@/components/layout/humas-layout"; -import { Suspense, useEffect, useState } from "react"; +import { Suspense } from "react"; export default function Home() { - const [hasMounted, setHasMounted] = useState(false); - - useEffect(() => { - setHasMounted(true); - }, []); - - // Render - if (!hasMounted) return null; - return ( <>
diff --git a/app/providers.tsx b/app/providers.tsx index d5271db..ec08250 100644 --- a/app/providers.tsx +++ b/app/providers.tsx @@ -1,21 +1,43 @@ "use client"; import * as React from "react"; import { HeroUIProvider } from "@heroui/system"; -import { useRouter } from 'next/navigation' +import { useRouter } from "next/navigation"; import { ThemeProvider as NextThemesProvider } from "next-themes"; import { ThemeProviderProps } from "next-themes/dist/types"; +import { NextIntlClientProvider } from "next-intl"; +import storedLanguage from "@/store/language-store"; export interface ProvidersProps { - children: React.ReactNode; - themeProps?: ThemeProviderProps; + children: React.ReactNode; + themeProps?: ThemeProviderProps; } export function Providers({ children, themeProps }: ProvidersProps) { - const router = useRouter(); + const router = useRouter(); + const [localeNow, setLocaleNow] = React.useState("id"); + const [messages, setMessages] = React.useState(null); - return ( - - {children} - - ); + const locale = storedLanguage((state) => state.locale); + + React.useEffect(() => { + if (locale) { + setLocaleNow(locale); + } + }, [locale]); + + React.useEffect(() => { + (async () => { + const loadedMessages = (await import(`../messages/${locale}.json`)) + .default; + setMessages(loadedMessages); + })(); + }, [locale]); + + return ( + + + {children} + + + ); } diff --git a/components/landing/banner-new.tsx b/components/landing/banner-new.tsx index c65be66..3af14fd 100644 --- a/components/landing/banner-new.tsx +++ b/components/landing/banner-new.tsx @@ -233,7 +233,7 @@ export default function BannerHumasNew() {

- SELAMAT DATANG DI WEBSITE RESMI DIVISI HUMAS POLRI + {t("welcome")}

OBYEKTIF - DIPERCAYA - PARTISIPASI diff --git a/components/landing/drawer.tsx b/components/landing/drawer.tsx index c87be16..e305f9f 100644 --- a/components/landing/drawer.tsx +++ b/components/landing/drawer.tsx @@ -1,3 +1,4 @@ +"use client"; import { Button } from "@heroui/button"; import { Drawer, diff --git a/components/landing/footer-new.tsx b/components/landing/footer-new.tsx index 44aaef4..a5bd5b6 100644 --- a/components/landing/footer-new.tsx +++ b/components/landing/footer-new.tsx @@ -1,3 +1,4 @@ +"use client"; import { Button } from "@heroui/button"; import { Input } from "@heroui/input"; import { diff --git a/components/navbar.tsx b/components/navbar.tsx index 054d866..ae397fb 100644 --- a/components/navbar.tsx +++ b/components/navbar.tsx @@ -68,7 +68,7 @@ export const Navbar = () => { }} > - + humas-polri