+
{text.slice(idx, idx + query.length)}
{text.slice(idx + query.length)}
@@ -325,7 +325,7 @@ export function CatalogTree({ rootPages, catalogType = 'normal' }: CatalogTreePr
className={cn(
'px-2 py-1 rounded text-xs font-medium transition-colors flex items-center gap-1',
filterMode === 'enabled'
- ? 'bg-background shadow-sm text-[var(--color-success-text-readable)] dark:text-[var(--color-success-text-readable)]'
+ ? 'bg-background shadow-sm text-[var(--admin-success)] dark:text-[var(--admin-success)]'
: 'text-muted-foreground hover:text-foreground',
)}
>
@@ -345,7 +345,7 @@ export function CatalogTree({ rootPages, catalogType = 'normal' }: CatalogTreePr
className={cn(
'px-2 py-1 rounded text-xs font-medium transition-colors flex items-center gap-1',
filterMode === 'disabled'
- ? 'bg-background shadow-sm text-[var(--color-error-text-readable)] dark:text-[var(--color-error-text-readable)]'
+ ? 'bg-background shadow-sm text-[var(--admin-error)] dark:text-[var(--admin-error)]'
: 'text-muted-foreground hover:text-foreground',
)}
>
@@ -643,8 +643,8 @@ function TreeItem({
className={cn(
'flex items-center justify-center h-5 w-5 shrink-0 rounded opacity-0 group-hover:opacity-100 transition-opacity',
isDisabled
- ? 'hover:bg-[var(--color-success-subtle)] text-muted-foreground hover:text-[var(--color-success-text-readable)]'
- : 'hover:bg-[var(--color-error-subtle)] text-muted-foreground hover:text-[var(--color-error-text-readable)]',
+ ? 'hover:bg-[var(--admin-success-subtle)] text-muted-foreground hover:text-[var(--admin-success)]'
+ : 'hover:bg-[var(--admin-error-subtle)] text-muted-foreground hover:text-[var(--admin-error)]',
)}
>
{isDisabled ? (
diff --git a/src/components/admin/catalog/bulk-import-items.tsx b/src/components/admin/catalog/bulk-import-items.tsx
index a9ae10ae..34c93613 100644
--- a/src/components/admin/catalog/bulk-import-items.tsx
+++ b/src/components/admin/catalog/bulk-import-items.tsx
@@ -189,7 +189,7 @@ export function BulkImportItems({ pageId, onImported }: BulkImportItemsProps) {
| {row.pointsType ?? '—'} |
{row.ok ? (
- OK
+ OK
) : (
{row.error}
)}
diff --git a/src/components/admin/catalog/items-shop-preview.tsx b/src/components/admin/catalog/items-shop-preview.tsx
index b34ee907..161649b0 100644
--- a/src/components/admin/catalog/items-shop-preview.tsx
+++ b/src/components/admin/catalog/items-shop-preview.tsx
@@ -75,7 +75,7 @@ export function ItemsShopPreview({
{/* Badges overlay */}
{isClub && (
-
+
HC
@@ -110,7 +110,7 @@ export function ItemsShopPreview({
{item.costCredits > 0 && (
-
+
{item.costCredits}c
)}
diff --git a/src/components/admin/dashboard.tsx b/src/components/admin/dashboard.tsx
index 011992d7..2a1bfd37 100644
--- a/src/components/admin/dashboard.tsx
+++ b/src/components/admin/dashboard.tsx
@@ -29,20 +29,20 @@ export function StatusCard({
icon?: ReactNode;
}) {
return (
-
+
-
+
{label}
{icon ? (
-
+
{icon}
) : null}
- {value}
+ {value}
{hint ? (
- {hint}
+ {hint}
) : null}
);
@@ -61,24 +61,24 @@ export function DiagnosticRow({
const text = state === "ok" ? "OK" : state === "warn" ? "WARN" : "ERROR";
const dotColor =
state === "ok"
- ? "bg-[var(--color-success-subtle)] shadow-[0_0_0_3px_rgba(22,163,74,0.22)]"
+ ? "bg-[var(--admin-success-subtle)] shadow-[0_0_0_3px_rgba(22,163,74,0.22)]"
: state === "warn"
- ? "bg-[var(--color-primary)] shadow-[0_0_0_3px_rgba(238,180,37,0.22)]"
- : "bg-[var(--color-error-subtle)] shadow-[0_0_0_3px_rgba(239,68,68,0.22)]";
+ ? "bg-[var(--admin-accent)] shadow-[0_0_0_3px_rgba(238,180,37,0.22)]"
+ : "bg-[var(--admin-error-subtle)] shadow-[0_0_0_3px_rgba(239,68,68,0.22)]";
const badgeColor =
state === "ok"
- ? "bg-[var(--color-success-subtle)]"
+ ? "bg-[var(--admin-success-subtle)]"
: state === "danger"
- ? "bg-[var(--color-error-subtle)]"
- : "bg-[var(--color-primary)]/18";
+ ? "bg-[var(--admin-error-subtle)]"
+ : "bg-[var(--admin-accent)]/18";
return (
-
+
{label}
- {detail}
+ {detail}
{text}
@@ -90,7 +90,7 @@ export function DiagnosticRow({
export function InfoItem({ label, value }: { label: string; value: ReactNode }) {
return (
- {label}
+ {label}
{value}
);
@@ -115,54 +115,54 @@ export function OnlineUsersWidget({
};
return (
-
+
- Online Now
-
+ Online Now
+
{isLoading ? "..." : users.length} users
{users.length === 0 ? (
-
- No users online
+
+ No users online
) : (
users.map((user) => (
{user.roomId && user.roomName && (
-
+
)}
-
+
-
+
{user.roomId && user.roomName ? (
- 🏠 {user.roomName}
+ 🏠 {user.roomName}
) : (
- ⏱️ {formatLastSeen(user.lastActivity)}
+ ⏱️ {formatLastSeen(user.lastActivity)}
)}
diff --git a/src/components/admin/emulator-settings-form.tsx b/src/components/admin/emulator-settings-form.tsx
index 2d560f0f..dca185b9 100644
--- a/src/components/admin/emulator-settings-form.tsx
+++ b/src/components/admin/emulator-settings-form.tsx
@@ -292,7 +292,7 @@ export function EmulatorSettingsForm({
updateValue(setting.key, e.target.value)}
className={`flex-1 h-8 text-xs font-mono ${
- isChanged ? 'border-[var(--color-warning-border)]' : ''
+ isChanged ? 'border-[var(--admin-warning-border)]' : ''
}`}
/>
{isChanged && (
diff --git a/src/components/admin/media-grid.tsx b/src/components/admin/media-grid.tsx
index d4f409b9..eeaf1aed 100644
--- a/src/components/admin/media-grid.tsx
+++ b/src/components/admin/media-grid.tsx
@@ -93,9 +93,9 @@ export function AdminMediaGrid() {
{progress.current} / {progress.total}
-
+
@@ -111,12 +111,12 @@ export function AdminMediaGrid() {
{files.map((f) => (
{/* eslint-disable-next-line @next/next/no-img-element */}
-
+
{f.name}
|