Add missing admin action files and navigation links

- Add 11 missing server action files: badges, bulk-users, catalog, catalog-bc, catalog-items, import-badges, import-furni, multi-account-detect, permissions, rooms, soundtracks
- Add missing admin navigation links: tickets, sounds, translations, import, radio sub-pages
- Add translation keys for all new navigation items
This commit is contained in:
openhands committed 2026-07-11 12:01:05 +02:00
1 parent 7e1ae17a3b
commit 41be6835bf
347 files changed
+28378 -6091

No files matched your search

+1 -3
View File
@@ -12,9 +12,7 @@ export default function CopyReferralButton({ value }: { value: string }) {
async function copy() {
const absolute =
typeof window !== "undefined" && value.startsWith("/")
? `${window.location.origin}${value}`
: value;
typeof window !== "undefined" && value.startsWith("/") ? `${window.location.origin}${value}` : value;
try {
await navigator.clipboard.writeText(absolute);
} catch {
+5 -12
View File
@@ -39,8 +39,7 @@ function feedbackStyle(tone: "success" | "error" | "warning"): CSSProperties {
const ERROR_MESSAGES: Record<string, string> = {
not_enough: "You do not have enough referrals to claim your reward yet.",
no_referrals: "You haven't referred anyone yet — share your link to get started.",
bad_config:
"The referral reward is not configured correctly. Please contact a staff member.",
bad_config: "The referral reward is not configured correctly. Please contact a staff member.",
error: "Something went wrong while claiming your reward. Please try again.",
};
@@ -159,11 +158,7 @@ export default async function MePage({ searchParams }: { searchParams: SearchPar
) : null}
{/* Header card -------------------------------------------------- */}
<ContentCard
icon="🏠"
title={user.username}
subtitle={user.motto || "Welcome back!"}
/>
<ContentCard icon="🏠" title={user.username} subtitle={user.motto || "Welcome back!"} />
{/* Stat tiles --------------------------------------------------- */}
<div className="card-grid sm-2 lg-3">
@@ -185,9 +180,7 @@ export default async function MePage({ searchParams }: { searchParams: SearchPar
padded={onlineFriends.length === 0}
>
{onlineFriends.length === 0 ? (
<EmptyState icon="💤">
No friends online right now. Check back later!
</EmptyState>
<EmptyState icon="💤">No friends online right now. Check back later!</EmptyState>
) : (
<div className="card-grid sm-2 lg-3" style={{ padding: "1rem" }}>
{onlineFriends.map((friend) => {
@@ -247,8 +240,8 @@ export default async function MePage({ searchParams }: { searchParams: SearchPar
</p>
<div role="note" style={feedbackStyle("warning")}>
⚠️ Boosting referrals by making your own accounts will lead to
removal of all progress, currency, inventory and a potential ban.
⚠️ Boosting referrals by making your own accounts will lead to removal of all progress,
currency, inventory and a potential ban.
</div>
<div>