diff --git a/src/app/admin/achievements/page.tsx b/src/app/admin/achievements/page.tsx index e6d5ca80..d12a4e0a 100644 --- a/src/app/admin/achievements/page.tsx +++ b/src/app/admin/achievements/page.tsx @@ -48,12 +48,12 @@ export default async function AdminAchievements() { return (
-
- +
+
-

{t("title")}

-

+

{t("title")}

+

{t("subtitle", { rows: achievements.length, categories: groups.size })}

@@ -72,7 +72,7 @@ export default async function AdminAchievements() {

{category}{" "} - + {rows.length}

diff --git a/src/app/admin/ads/[id]/page.tsx b/src/app/admin/ads/[id]/page.tsx index 2d917203..0e17800c 100644 --- a/src/app/admin/ads/[id]/page.tsx +++ b/src/app/admin/ads/[id]/page.tsx @@ -19,12 +19,12 @@ export default async function EditAd({ params }: { params: Promise<{ id: string return (
-
- +
+
-

Edit advertisement

-

+

Edit advertisement

+

← Advertisements

diff --git a/src/app/admin/ads/new/page.tsx b/src/app/admin/ads/new/page.tsx index 5414466f..d95edcd9 100644 --- a/src/app/admin/ads/new/page.tsx +++ b/src/app/admin/ads/new/page.tsx @@ -6,12 +6,12 @@ export default function NewAd() { return (
-
- +
+
-

New advertisement

-

+

New advertisement

+

← Advertisements

diff --git a/src/app/admin/ads/page.tsx b/src/app/admin/ads/page.tsx index 288c3063..4fa7ffea 100644 --- a/src/app/admin/ads/page.tsx +++ b/src/app/admin/ads/page.tsx @@ -23,12 +23,12 @@ export default async function AdminAds() { return (
-
- +
+
-

{t("title")}

-

{t("subtitle")}

+

{t("title")}

+

{t("subtitle")}

+ {t("newAd")} diff --git a/src/app/admin/alerts/page.tsx b/src/app/admin/alerts/page.tsx index 3efc0bd1..02dbbd61 100644 --- a/src/app/admin/alerts/page.tsx +++ b/src/app/admin/alerts/page.tsx @@ -21,14 +21,14 @@ function severityColor(severity: string): string { return "var(--color-danger)"; case "warning": case "warn": - return "var(--color-primary)"; + return "var(--admin-accent)"; case "success": return "var(--color-secondary)"; case "info": case "notice": return "var(--color-accent)"; default: - return "var(--color-text-muted)"; + return "var(--admin-text-muted)"; } } @@ -73,12 +73,12 @@ export default async function AdminAlerts() { return (
-
- +
+
-

{t("title")}

-

{t("subtitle")}

+

{t("title")}

+

{t("subtitle")}

@@ -141,7 +141,7 @@ export default async function AdminAlerts() { - + {a.message} diff --git a/src/app/admin/applications/page.tsx b/src/app/admin/applications/page.tsx index d071ddd3..912362a1 100644 --- a/src/app/admin/applications/page.tsx +++ b/src/app/admin/applications/page.tsx @@ -49,12 +49,12 @@ export default async function AdminApplications() { return (
-
- +
+
-

{t("title")}

-

{t("subtitle")}

+

{t("title")}

+

{t("subtitle")}

@@ -78,21 +78,21 @@ export default async function AdminApplications() { return (
-

+

{username ? ( {username} ) : ( <>{t("userNumber", { id: a.userId })} )}

- + {t("rankLabel", { rank: a.rankId })}

{formatDate(a.createdAt)}

-

{a.content}

+

{a.content}

{missingItems.length > 0 && ( -
+
{missingItems.length} item(s) missing from FurnitureData.json — will be @@ -399,9 +399,9 @@ export function CatalogTranslateTab({ key={item.id} className={ isChanged - ? 'bg-[var(--color-warning-subtle)] dark:bg-[var(--color-warning-subtle)]' + ? 'bg-[var(--admin-warning-subtle)] dark:bg-[var(--admin-warning-subtle)]' : isMissing - ? 'bg-[var(--color-warning-subtle)] dark:bg-[var(--color-warning-subtle)]' + ? 'bg-[var(--admin-warning-subtle)] dark:bg-[var(--admin-warning-subtle)]' : undefined } > @@ -442,7 +442,7 @@ export function CatalogTranslateTab({ value={editedNames[item.id] || ''} onChange={(e) => handleNameChange(item.id, e.target.value)} disabled={!canEdit} - className={`h-8 text-sm ${nameChanged ? 'border-[var(--color-warning-border)] dark:border-[var(--color-warning-border)]' : ''}`} + className={`h-8 text-sm ${nameChanged ? 'border-[var(--admin-warning-border)] dark:border-[var(--admin-warning-border)]' : ''}`} /> {currentCatalogName && currentCatalogName !== item.publicName && (

@@ -456,7 +456,7 @@ export function CatalogTranslateTab({ onChange={(e) => handleDescChange(item.id, e.target.value)} disabled={!canEdit} placeholder="No description" - className={`h-8 text-sm ${descChanged ? 'border-[var(--color-warning-border)] dark:border-[var(--color-warning-border)]' : ''}`} + className={`h-8 text-sm ${descChanged ? 'border-[var(--admin-warning-border)] dark:border-[var(--admin-warning-border)]' : ''}`} /> @@ -464,7 +464,7 @@ export function CatalogTranslateTab({ {isChanged ? ( Modified @@ -474,7 +474,7 @@ export function CatalogTranslateTab({ {isMissing ? ( - +

Missing from FurnitureData.json

@@ -486,7 +486,7 @@ export function CatalogTranslateTab({ ) : ( - + In FurnitureData.json diff --git a/src/app/admin/catalog/builder-club/bc-manager.tsx b/src/app/admin/catalog/builder-club/bc-manager.tsx index 01ba741c..943fe108 100644 --- a/src/app/admin/catalog/builder-club/bc-manager.tsx +++ b/src/app/admin/catalog/builder-club/bc-manager.tsx @@ -124,7 +124,7 @@ export function BcPageDetail({ page, items, canEdit }: BcPageDetailProps) { /
- +

{page.caption}

#{page.id} @@ -306,7 +306,7 @@ export function BcPageDetail({ page, items, canEdit }: BcPageDetailProps) { type="button" variant="ghost" size="sm" - className="h-6 w-6 p-0 text-[var(--color-error-text-readable)] hover:text-[var(--color-error-text-readable)]" + className="h-6 w-6 p-0 text-[var(--admin-error)] hover:text-[var(--admin-error)]" onClick={() => { if (!confirm(`Delete item "${item.catalogName}"?`)) return run(() => deleteBcItem({ id: item.id }), { diff --git a/src/app/admin/commandocentrum/page.tsx b/src/app/admin/commandocentrum/page.tsx index c65e4dc4..a83db88d 100644 --- a/src/app/admin/commandocentrum/page.tsx +++ b/src/app/admin/commandocentrum/page.tsx @@ -89,12 +89,12 @@ export default async function CommandoCentrum() { return (
-
- +
+
-

{t("title")}

-

{t("subtitle")}

+

{t("title")}

+

{t("subtitle")}

@@ -196,24 +196,24 @@ export default async function CommandoCentrum() {

{t("emulatorControls")}

-

{t("updateCatalog")}

-

{t("updateCatalogDesc")}

+

{t("updateCatalog")}

+

{t("updateCatalogDesc")}

-

{t("updateWordFilter")}

-

{t("updateWordFilterDesc")}

+

{t("updateWordFilter")}

+

{t("updateWordFilterDesc")}

-

{t("updateNavigator")}

-

{t("updateNavigatorDesc")}

+

{t("updateNavigator")}

+

{t("updateNavigatorDesc")}

@@ -221,8 +221,8 @@ export default async function CommandoCentrum() {
-

{t("hotelAlert")}

-

{t("hotelAlertDesc")}

+

{t("hotelAlert")}

+

{t("hotelAlertDesc")}

{t("userActions")}

-

{t("userActionsDesc")}

+

{t("userActionsDesc")}

-

{t("actions.disconnect")}

-

{t("disconnectDesc")}

+

{t("actions.disconnect")}

+

{t("disconnectDesc")}

-

{t("actions.alert")}

-

{t("alertDesc")}

+

{t("actions.alert")}

+

{t("alertDesc")}

-

{t("forwardToRoom")}

-

{t("forwardDesc")}

+

{t("forwardToRoom")}

+

{t("forwardDesc")}

-

{t("giveCredits")}

-

{t("giveCreditsDesc")}

+

{t("giveCredits")}

+

{t("giveCreditsDesc")}

-

{t("giveDuckets")}

-

{t("giveDucketsDesc")}

+

{t("giveDuckets")}

+

{t("giveDucketsDesc")}

-

{t("giveDiamonds")}

-

{t("giveDiamondsDesc")}

+

{t("giveDiamonds")}

+

{t("giveDiamondsDesc")}

-

{t("giveBadge")}

-

{t("giveBadgeDesc")}

+

{t("giveBadge")}

+

{t("giveBadgeDesc")}

-

{t("setMotto")}

-

{t("setMottoDesc")}

+

{t("setMotto")}

+

{t("setMottoDesc")}

-

{t("setRank")}

-

{t("setRankDesc")}

+

{t("setRank")}

+

{t("setRankDesc")}

-

{t("executeCommand")}

-

{t("executeCommandDesc")}

+

{t("executeCommand")}

+

{t("executeCommandDesc")}

-

{t("sendGift")}

-

{t("sendGiftDesc")}

+

{t("sendGift")}

+

{t("sendGiftDesc")}

{nameById.get(Number(a.userId)) ?? `#${a.userId}`} - + {a.action} @@ -616,7 +616,7 @@ export default async function CommandoCentrum() { {e.version} -
+          
                           {snippet}
                         
diff --git a/src/app/admin/email-templates/page.tsx b/src/app/admin/email-templates/page.tsx index b147be9f..77366f89 100644 --- a/src/app/admin/email-templates/page.tsx +++ b/src/app/admin/email-templates/page.tsx @@ -21,19 +21,19 @@ export default async function AdminEmailTemplates() { return (
-
+
✉️
-

{t("title")}

-

+

{t("title")}

+

{t.rich("subtitle", { code: (chunks) => {chunks} })}

-

{t("newTemplate")}

+

{t("newTemplate")}

-

{t("addOverwriteSetting")}

+

{t("addOverwriteSetting")}

@@ -105,7 +105,7 @@ export default async function AdminEmulator() {

-

{t("addOverwriteText")}

+

{t("addOverwriteText")}

diff --git a/src/app/admin/favicon/favicon-form.tsx b/src/app/admin/favicon/favicon-form.tsx index 73ae8b24..21368255 100644 --- a/src/app/admin/favicon/favicon-form.tsx +++ b/src/app/admin/favicon/favicon-form.tsx @@ -64,10 +64,10 @@ export function FaviconForm({ currentUrl }: { currentUrl: string | null }) { return (
-

{t("uploadLabel")}

+

{t("uploadLabel")}

{preview && (
-
)} @@ -91,9 +91,9 @@ export function FaviconForm({ currentUrl }: { currentUrl: string | null }) { name="file" accept=".png,.jpg,.jpeg,.gif,.webp,.ico,.svg" required - className="block w-full text-sm text-[var(--color-text-readable)] file:mr-3 file:py-2 file:px-4 file:rounded-lg file:border-0 file:text-sm file:font-semibold file:bg-[var(--color-primary)] file:text-[var(--color-primary-foreground-readable)] cursor-pointer" + className="block w-full text-sm text-[var(--color-text-readable)] file:mr-3 file:py-2 file:px-4 file:rounded-lg file:border-0 file:text-sm file:font-semibold file:bg-[var(--admin-accent)] file:text-[var(--color-primary-foreground-readable)] cursor-pointer" /> -

{t("uploadHint")}

+

{t("uploadHint")}

@@ -112,8 +112,8 @@ export function FaviconForm({ currentUrl }: { currentUrl: string | null }) {
{message.text} diff --git a/src/app/admin/favicon/favicon-generator.tsx b/src/app/admin/favicon/favicon-generator.tsx index 48ba5d54..0f23b163 100644 --- a/src/app/admin/favicon/favicon-generator.tsx +++ b/src/app/admin/favicon/favicon-generator.tsx @@ -87,21 +87,21 @@ export function FaviconGenerator({ onSave }: Props) { return (
-

{t("title")}

+

{t("title")}

-