diff --git a/src/app/(site)/me/page.tsx b/src/app/(site)/me/page.tsx
index 7863254e..7aea5294 100644
--- a/src/app/(site)/me/page.tsx
+++ b/src/app/(site)/me/page.tsx
@@ -69,7 +69,7 @@ export default async function MePage({
let content: ReactNode;
try {
- const [user, imagerBase, hotelName, neededRaw, amountRaw, currencyRaw] =
+ const [user, imagerBase, hotelName, neededRaw, amountRaw, currencyRaw, alertRaw, recentRooms] =
await Promise.all([
prisma.user.findUnique({
where: { id: userId },
@@ -81,6 +81,8 @@ export default async function MePage({
rank: true,
credits: true,
accountCreated: true,
+ lastLogin: true,
+ lastOnline: true,
},
}),
siteSettings.get(
@@ -113,6 +115,14 @@ export default async function MePage({
select: { value: true },
})
.catch(() => null),
+ siteSettings.get("hotel_alert_banner", ""),
+ prisma.rooms
+ .findMany({
+ orderBy: { id: "desc" },
+ select: { id: true, name: true, ownerName: true, users: true, usersMax: true },
+ take: 6,
+ })
+ .catch(() => []),
]);
if (!user) throw new Error("user-not-found");
@@ -169,6 +179,12 @@ export default async function MePage({
const registered = new Date(user.accountCreated * 1000)
.toISOString()
.slice(0, 10);
+ const lastLoginDate = user.lastLogin
+ ? new Date(user.lastLogin * 1000).toISOString().slice(0, 10)
+ : "Never";
+ const lastOnlineDate = user.lastOnline
+ ? new Date(user.lastOnline * 1000).toISOString().slice(0, 10)
+ : "Never";
const referralLink = `/register?ref=${encodeURIComponent(user.username)}`;
const imager = imagerBase ?? "https://www.habbo.com/habbo-imaging/avatarimage";
@@ -256,6 +272,23 @@ export default async function MePage({
+ {/* ── Hotel alert banner ── */}
+ {alertRaw ? (
+
+ {alertRaw}
+
+ Newest rooms in the hotel
+
+ {room.name}
+
+ {room.ownerName} · {room.users}/{room.usersMax}
+
+ Recent rooms
+
+
+ Enter a search term to find users. +
++ Results for "{query}" — {users.length} user{users.length !== 1 ? "s" : ""} + {rooms.length > 0 && `, ${rooms.length} room${rooms.length !== 1 ? "s" : ""}`} +
+ + {users.length > 0 && ( ++ {room.name} +
++ {room.ownerName} · {room.users}/{room.usersMax} +
+ + ))} ++ No users or rooms found for "{query}". +
+