diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index 5ac83a1..042eead 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -46,3 +46,7 @@ export default async function LocaleLayout({ ); } + + + + diff --git a/app/[locale]/market/page.tsx b/app/[locale]/market/page.tsx new file mode 100644 index 0000000..da8552f --- /dev/null +++ b/app/[locale]/market/page.tsx @@ -0,0 +1,39 @@ +import Header from "@/components/Header"; +import { UnderConstruction } from "@/components/under-construction"; +import { getTranslations } from "next-intl/server"; + +export async function generateMetadata({ + params, +}: { + params: Promise<{ locale: string }>; +}) { + const { locale } = await params; + const t = await getTranslations({ locale, namespace: "underConstruction" }); + return { + title: t("market.title"), + description: t("market.description"), + }; +} + +export default async function MarketPage({ + params, +}: { + params: Promise<{ locale: string }>; +}) { + const { locale } = await params; + const t = await getTranslations({ + locale, + namespace: "underConstruction.market", + }); + + return ( +
+
+ +
+ ); +} diff --git a/app/[locale]/precos/page.tsx b/app/[locale]/precos/page.tsx new file mode 100644 index 0000000..ed41a69 --- /dev/null +++ b/app/[locale]/precos/page.tsx @@ -0,0 +1,39 @@ +import Header from "@/components/Header"; +import { UnderConstruction } from "@/components/under-construction"; +import { getTranslations } from "next-intl/server"; + +export async function generateMetadata({ + params, +}: { + params: Promise<{ locale: string }>; +}) { + const { locale } = await params; + const t = await getTranslations({ locale, namespace: "underConstruction" }); + return { + title: t("prices.title"), + description: t("prices.description"), + }; +} + +export default async function PricesPage({ + params, +}: { + params: Promise<{ locale: string }>; +}) { + const { locale } = await params; + const t = await getTranslations({ + locale, + namespace: "underConstruction.prices", + }); + + return ( +
+
+ +
+ ); +} diff --git a/app/[locale]/sobre/page.tsx b/app/[locale]/sobre/page.tsx new file mode 100644 index 0000000..c0c4b47 --- /dev/null +++ b/app/[locale]/sobre/page.tsx @@ -0,0 +1,39 @@ +import Header from "@/components/Header"; +import { UnderConstruction } from "@/components/under-construction"; +import { getTranslations } from "next-intl/server"; + +export async function generateMetadata({ + params, +}: { + params: Promise<{ locale: string }>; +}) { + const { locale } = await params; + const t = await getTranslations({ locale, namespace: "underConstruction" }); + return { + title: t("about.title"), + description: t("about.description"), + }; +} + +export default async function AboutPage({ + params, +}: { + params: Promise<{ locale: string }>; +}) { + const { locale } = await params; + const t = await getTranslations({ + locale, + namespace: "underConstruction.about", + }); + + return ( +
+
+ +
+ ); +} diff --git a/components/Header.tsx b/components/Header.tsx index 9e9648d..cd12236 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -12,16 +12,17 @@ import { ThemeToggle } from "./theme-toggle"; import { LanguageSwitcher } from "./language-switcher"; import { MobileMenu } from "./mobile-menu"; import { cn } from "@/lib/utils"; -import { useTranslations } from "next-intl"; +import { useTranslations, useLocale } from "next-intl"; import Link from "next/link"; export default function Header() { const t = useTranslations("header.nav"); + const locale = useLocale(); const links = [ - { href: "/market", label: t("market") }, - { href: "/sobre", label: t("about") }, - { href: "/precos", label: t("prices") }, + { href: `/${locale}/market`, label: t("market") }, + { href: `/${locale}/sobre`, label: t("about") }, + { href: `/${locale}/precos`, label: t("prices") }, ]; return ( diff --git a/components/language-switcher.tsx b/components/language-switcher.tsx index 183fad3..ca2461c 100644 --- a/components/language-switcher.tsx +++ b/components/language-switcher.tsx @@ -56,3 +56,7 @@ export function LanguageSwitcher() { ); } + + + + diff --git a/components/marketplace-filters.tsx b/components/marketplace-filters.tsx index e81f3e6..68f7545 100644 --- a/components/marketplace-filters.tsx +++ b/components/marketplace-filters.tsx @@ -290,3 +290,7 @@ export function MarketplaceFilters({ ); } + + + + diff --git a/components/mobile-menu.tsx b/components/mobile-menu.tsx index e84b9eb..474d20e 100644 --- a/components/mobile-menu.tsx +++ b/components/mobile-menu.tsx @@ -62,3 +62,7 @@ export function MobileMenu({ links }: MobileMenuProps) { ); } + + + + diff --git a/components/sections/market-stats.tsx b/components/sections/market-stats.tsx index f1667b2..ce82537 100644 --- a/components/sections/market-stats.tsx +++ b/components/sections/market-stats.tsx @@ -35,13 +35,13 @@ function MiniSparkline({ data, color }: { data: number[]; color: string }) { })); return ( -
+
- + {/* Background Pattern */} + + + {/* Content */} +
+ +
+ {/* Icon */} +
+
+ +
+
+ + {/* Text */} +

+ {title} +

+

+ {description} +

+ + {/* Buttons */} +
+ + + + +
+
+
+
+
+ ); +} diff --git a/i18n/request.ts b/i18n/request.ts index 0727f1c..0612c92 100644 --- a/i18n/request.ts +++ b/i18n/request.ts @@ -12,3 +12,7 @@ export default getRequestConfig(async ({ requestLocale }) => { }; }); + + + + diff --git a/i18n/routing.ts b/i18n/routing.ts index aa119e3..1fe57a4 100644 --- a/i18n/routing.ts +++ b/i18n/routing.ts @@ -5,3 +5,7 @@ export const routing = defineRouting({ defaultLocale: "pt", }); + + + + diff --git a/messages/en.json b/messages/en.json index 492a67f..e496758 100644 --- a/messages/en.json +++ b/messages/en.json @@ -173,5 +173,19 @@ "viewDetails": "View Details", "buyNow": "Buy Now" } + }, + "underConstruction": { + "market": { + "title": "Market Page Under Construction", + "description": "We're preparing an amazing experience for you to explore all available items. Coming soon!" + }, + "about": { + "title": "About Page Under Construction", + "description": "Soon you'll learn all about Tibia Trade Pagodera's story and mission. Stay tuned!" + }, + "prices": { + "title": "Prices Page Under Construction", + "description": "We're finalizing our pricing structure and plans. Check back soon!" + } } } diff --git a/messages/pt.json b/messages/pt.json index 36bde26..5e51667 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -173,5 +173,19 @@ "viewDetails": "Ver Detalhes", "buyNow": "Comprar Agora" } + }, + "underConstruction": { + "market": { + "title": "Página do Mercado em Construção", + "description": "Estamos preparando uma experiência incrível para você explorar todos os itens disponíveis. Em breve!" + }, + "about": { + "title": "Página Sobre em Construção", + "description": "Em breve você conhecerá toda a história e missão do Tibia Trade Pagodera. Aguarde!" + }, + "prices": { + "title": "Página de Preços em Construção", + "description": "Estamos finalizando nossa estrutura de preços e planos. Volte em breve para conferir!" + } } }