+ {[
+ { 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}
@@ -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) => (
+
+
+
+ ))}
+
+
+ )}