diff --git a/src/app/(site)/page.tsx b/src/app/(site)/page.tsx index f9de0534..02088a73 100644 --- a/src/app/(site)/page.tsx +++ b/src/app/(site)/page.tsx @@ -13,7 +13,7 @@ export const revalidate = 120; async function getHotelData() { const [hotelName, imagerRaw] = await Promise.all([ - siteSettings.get("hotel_name", "Hotel"), + siteSettings.get("hotel_name", "Atom"), siteSettings.get( "habbo_imaging_url", "https://www.habbo.com/habbo-imaging/avatarimage", @@ -73,203 +73,233 @@ export default async function Home() { } = await getHotelData(); return ( -
- - {/* ── 1. Welcome section ── */} -
-
-
- - {th("online", { count: online, hotel: hotelName ?? "Hotel" })} -
-

- {tp("welcome", { hotelName: hotelName ?? "Hotel" })} -

-

- {th("tagline")} -

-
- - - {tp("enterHotel", { hotelName: hotelName ?? "Hotel" })} - - - {th("nitroClient")} - -
-
-
-
+
+ {/* ── 1. Hero ── */} +
+
+
+
+ + + + + {th("online", { count: online, hotel: hotelName ?? "Atom" })} +
+

+ {tp("welcome", { hotelName: hotelName ?? "Atom" })} +

+

+ {th("tagline")} +

+
+ + + {tp("enterHotel", { hotelName: hotelName ?? "Atom" })} + + + {th("nitroClient")} + +
+
+
+
Frank
-
- {recentUsers.slice(0, 5).map((u) => ( -
- -
-

- {u.username} -

-

- {tp("statsOnline")} -

-
-
- ))} -
{/* ── 2. Stats ── */}
{[ - { value: online.toLocaleString(), label: tp("statsOnline"), icon: "🟢" }, - { value: users.toLocaleString(), label: tp("statsCitizens"), icon: "👤" }, - { value: rooms.toLocaleString(), label: tp("statsRooms"), icon: "🏠" }, + { value: online.toLocaleString(), label: tp("statsOnline"), icon: "/assets/images/icons/navigation/home.png" }, + { value: users.toLocaleString(), label: tp("statsCitizens"), icon: "/assets/images/icons/navigation/me.png" }, + { value: rooms.toLocaleString(), label: tp("statsRooms"), icon: "/assets/images/icons/catalog.png" }, ].map((s) => (
- {s.value} -
-
- {s.label} + className="absolute -top-6 -right-6 w-20 h-20 rounded-full opacity-[0.06]" + style={{ background: "var(--color-primary)" }} + /> +
+ +
+ {s.value} +
+
+ {s.label} +
))}
- {/* ── 3. User train ── */} - {recentUsers.length > 0 && ( -
-
- {[...recentUsers, ...recentUsers].map((u, i) => ( -
+ {[ + { img: "/assets/images/icons/star.gif", title: tp("featuresAvatar"), desc: tp("featuresAvatarDesc") }, + { img: "/assets/images/icons/catalog.png", title: tp("featuresFurniture"), desc: tp("featuresFurnitureDesc") }, + { img: "/assets/images/icons/navigation/community.png", title: tp("featuresCommunity"), desc: tp("featuresCommunityDesc") }, + { img: "/assets/images/icons/navigation/bb.png", title: tp("featuresGames"), desc: tp("featuresGamesDesc") }, + ].map((f) => ( +
+
+ +
+

+ {f.title} +

+

+ {f.desc} +

+
+ ))} +
+ + {/* ── 4. News ── */} +
+
+

+ {tp("latestNews")} +

+ + {tp("allNews")} + +
+ {articles.length > 0 ? ( +
+ {articles.slice(0, 4).map((a) => ( + +
+ {a.image ? ( + + ) : ( +
+ )} +
+
+

+ {a.title} +

+

+ {formatDate(a.createdAt, "date", "")} +

+
+ + ))} +
+ ) : ( +

{tp("noArticles")}

+ )} +
+ + {/* ── 5. Online users row ── */} + {recentUsers.length > 0 && ( +
+

+ + {tp("recentUsers")} +

+
+ {recentUsers.slice(0, 10).map((u) => ( +
{u.username} - + {u.username}
@@ -278,270 +308,18 @@ export default async function Home() {
)} - {/* ── 4. Features ── */} -
- {[ - { - img: "/assets/images/icons/star.gif", - title: tp("featuresAvatar"), - desc: tp("featuresAvatarDesc"), - }, - { - img: "/assets/images/icons/catalog.png", - title: tp("featuresFurniture"), - desc: tp("featuresFurnitureDesc"), - }, - { - img: "/assets/images/icons/navigation/community.png", - title: tp("featuresCommunity"), - desc: tp("featuresCommunityDesc"), - }, - { - img: "/assets/images/icons/navigation/bb.png", - title: tp("featuresGames"), - desc: tp("featuresGamesDesc"), - }, - ].map((f) => ( -
-
- -
-

- {f.title} -

-

- {f.desc} -

-
- ))} -
- - {/* ── 5. News + Sidebar ── */} -
-
-
-

- {tp("latestNews")} -

- - {tp("allNews")} - -
- {articles.length > 0 ? ( -
- {articles.slice(0, 4).map((a) => ( - -
- {a.image ? ( - - ) : ( -
- )} -
-
-

- {a.title} -

-

- {formatDate(a.createdAt, "date", "")} -

-
- - ))} -
- ) : ( -

- {tp("noArticles")} -

- )} -
- - -
- - {/* ── 6. CTA ── */} + {/* ── 6. Bottom CTA ── */}
-

- {tp("joinNow", { hotelName: hotelName ?? "Hotel" })} +

+ {tp("joinNow", { hotelName: hotelName ?? "Atom" })}

-

+

{tp("welcomeBody")}

- + {tp("register")}
+ + {/* ── 7. Recent photos (compact) ── */} + {recentPhotos.length > 0 && ( +
+

+ {tp("recentPhotos")} +

+
+ {recentPhotos.slice(0, 4).map((p) => ( + + + + ))} +
+
+ )}
); }