From f2ac4745d4228bd73409e3d6155fac48e4a07600 Mon Sep 17 00:00:00 2001 From: openhands Date: Sat, 29 Aug 2026 21:56:52 +0200 Subject: [PATCH] feat: redesign home and register pages for cleaner overview Rebuild the home landing layout into a streamlined, more scannable design: a centered focused hero, feature cards, a compact stats row, and clearer news/users sections. Rework the register page into a balanced two-column layout with a tidier intro panel and sticky form. Add statsArticles translation key across locale files; verified with tsc and biome. --- src/app/(site)/page.tsx | 260 +++++++++++++++++-------------- src/app/(site)/register/page.tsx | 102 ++++++------ src/messages/bg.json | 1 + src/messages/cs.json | 1 + src/messages/da.json | 1 + src/messages/de.json | 1 + src/messages/el.json | 1 + src/messages/en.json | 1 + src/messages/es.json | 1 + src/messages/fr.json | 1 + src/messages/hr.json | 1 + src/messages/hu.json | 1 + src/messages/it.json | 1 + src/messages/nl.json | 1 + src/messages/no.json | 1 + src/messages/pl.json | 1 + src/messages/pt.json | 1 + src/messages/ro.json | 1 + src/messages/ru.json | 1 + src/messages/sk.json | 1 + src/messages/sr.json | 1 + src/messages/sv.json | 1 + src/messages/tr.json | 1 + src/messages/uk.json | 1 + 24 files changed, 220 insertions(+), 164 deletions(-) diff --git a/src/app/(site)/page.tsx b/src/app/(site)/page.tsx index f69f9cb95a..cef6a1acf4 100644 --- a/src/app/(site)/page.tsx +++ b/src/app/(site)/page.tsx @@ -99,6 +99,24 @@ export default async function Home() { const captcha = await captchaConfig(); const nonce = (await headers()).get("x-nonce") ?? undefined; + const features = [ + { + title: tp("featuresAvatar"), + desc: tp("featuresAvatarDesc"), + icon: "/assets/images/icons/friends.png", + }, + { + title: tp("featuresFurniture"), + desc: tp("featuresFurnitureDesc"), + icon: "/assets/images/icons/catalog.png", + }, + { + title: tp("featuresCommunity"), + desc: tp("featuresCommunityDesc"), + icon: "/assets/images/icons/navigation/goody.png", + }, + ]; + return (
{/* ── Top Bar ── */} @@ -196,98 +214,118 @@ export default async function Home() { />
-
-
- - - - - {th("online", { count: online, hotel: hotelName })} -
-

- -

-

- {th("tagline")} -

-
- - - {tp("register")} - - - {th("login")} - -
+
+ + + + + {th("online", { count: online, hotel: hotelName })}
-
-
- Frank +

+ +

+

+ {tp("welcomeBody")} +

+
+ + + {tp("register")} + + + {th("login")} +
- {/* ── Stats ── */} + {/* ── Features ── */} -
+
+ {features.map((f) => ( + +
+ +
+

+ {f.title} +

+

+ {f.desc} +

+
+ ))} +
+ + + {/* ── Stats + Login ── */} + +
{[ { value: users, @@ -299,52 +337,38 @@ export default async function Home() { label: tp("statsRooms"), icon: "/assets/images/icons/catalog.png", }, + { + value: online, + label: tp("statsOnline"), + icon: "/assets/images/icons/navigation/me.png", + }, + { + value: articles.length, + label: tp("statsArticles"), + icon: "/assets/images/icons/article.gif", + }, ].map((s) => ( +
+ +
-
-
- -
-
- -
-
- {s.label} -
+ className="text-xs font-bold uppercase tracking-widest flex items-center justify-center gap-1.5" + style={{ color: "var(--color-text-muted)" }} + > + + {s.label}
))}
- {/* ── Login + News ── */} + {/* ── Login + Online users ── */}
- {/* Left: Login & Online users */} - {/* Right: News */} + {/* News */} -
+
{recentPhotos.slice(0, 4).map((p) => ( -
- {/* Left panel */} -
+
+ {/* Left: intro panel */} +
+
- Frank -
- - {tpr("usersOnline", { count: online })} +
+
+ Frank +
+
+
+ + {tpr("usersOnline", { count: online })} +
+

+ {tpr("title")} — {hotelName} +

+

+ {tpr("subtitle")} +

+
-

- {tpr("title")} — {hotelName} -

-

- {th("tagline")} -

@@ -251,7 +261,7 @@ export default async function RegisterPage() { )}

{tpr("alreadyHaveAccountPre")}{" "} @@ -268,7 +278,7 @@ export default async function RegisterPage() {

{/* Right: form */} -
+