revert fb8e77bb68
Local Build and Deploy / deploy (push) Successful in 1m11s

revert style: clean up code with prettier and eslint
This commit is contained in:
remco committed 2026-07-12 21:02:03 +02:00
1 parent 27de078f54
commit e85e4d74ea
378 files changed
+20710 -22428

No files matched your search

+50 -45
View File
@@ -11,38 +11,38 @@ import {
Sparkles,
Wifi,
WifiOff,
} from "lucide-react";
import Link from "next/link";
import { AdminBreadcrumb } from "@/components/admin/admin-breadcrumb";
import { UserWatchToggle } from "@/components/admin/user-watch-toggle";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { getAvatarUrl } from "@/lib/imager";
} from 'lucide-react'
import Link from 'next/link'
import { AdminBreadcrumb } from '@/components/admin/admin-breadcrumb'
import { UserWatchToggle } from '@/components/admin/user-watch-toggle'
import { Badge } from '@/components/ui/badge'
import { Button } from '@/components/ui/button'
import { getAvatarUrl } from '@/lib/imager'
interface UserHeroProps {
user: {
id: number;
username: string;
motto: string;
look: string;
rank: number;
credits: number;
pixels: number;
online: string;
permission: { rankName: string };
twoFactorConfirmed: number;
};
diamonds: number;
duckets: number;
roomCount: number;
chatCount: number;
tradeCount: number;
isOnline: boolean;
activeBan: boolean;
mode: "show" | "edit";
canEdit: boolean;
id: number
username: string
motto: string
look: string
rank: number
credits: number
pixels: number
online: string
permission: { rankName: string }
twoFactorConfirmed: number
}
diamonds: number
duckets: number
roomCount: number
chatCount: number
tradeCount: number
isOnline: boolean
activeBan: boolean
mode: 'show' | 'edit'
canEdit: boolean
/** When non-null, render the watch toggle with this initial state. */
watching?: boolean | null;
watching?: boolean | null
}
export function UserHero({
@@ -62,9 +62,9 @@ export function UserHero({
<>
<AdminBreadcrumb
items={[
{ label: "Users", href: "/admin/users" },
{ label: 'Users', href: '/admin/users' },
{ label: user.username },
{ label: mode === "edit" ? "Edit" : "View" },
{ label: mode === 'edit' ? 'Edit' : 'View' },
]}
/>
@@ -76,14 +76,16 @@ export function UserHero({
src={getAvatarUrl(user.look, { headDirection: 2, direction: 2 })}
alt={user.username}
className="h-28 rounded-lg border bg-card shadow-sm"
style={{ imageRendering: "pixelated" }}
style={{ imageRendering: 'pixelated' }}
/>
<span className={`absolute -top-1 -right-1 flex h-4 w-4 ${isOnline ? "" : "opacity-50"}`}>
<span
className={`absolute -top-1 -right-1 flex h-4 w-4 ${isOnline ? '' : 'opacity-50'}`}
>
{isOnline && (
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-[var(--admin-success)] opacity-75" />
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-[var(--admin-success)] opacity-75" />
)}
<span
className={`relative inline-flex rounded-full h-4 w-4 border-2 border-card ${isOnline ? "bg-[var(--admin-success-subtle)]" : "bg-[var(--admin-text-muted)]"}`}
className={`relative inline-flex rounded-full h-4 w-4 border-2 border-card ${isOnline ? 'bg-[var(--admin-success-subtle)]' : 'bg-[var(--admin-text-muted)]'}`}
/>
</span>
</div>
@@ -96,14 +98,14 @@ export function UserHero({
ID: {user.id}
</Badge>
{/* Mode switch buttons */}
{mode === "show" && canEdit && (
{mode === 'show' && canEdit && (
<Button variant="outline" size="sm" asChild className="ml-2">
<Link href={`/admin/users/edit/${user.id}`}>
<Pencil className="mr-1.5 h-3.5 w-3.5" /> Edit
</Link>
</Button>
)}
{mode === "edit" && (
{mode === 'edit' && (
<Button variant="outline" size="sm" asChild className="ml-2">
<Link href={`/admin/users/show/${user.id}`}>
<Eye className="mr-1.5 h-3.5 w-3.5" /> View
@@ -111,17 +113,23 @@ export function UserHero({
</Button>
)}
{watching != null && (
<UserWatchToggle targetUserId={user.id} username={user.username} initialWatching={watching} />
<UserWatchToggle
targetUserId={user.id}
username={user.username}
initialWatching={watching}
/>
)}
</div>
{user.motto && <p className="text-muted-foreground italic">&ldquo;{user.motto}&rdquo;</p>}
{user.motto && (
<p className="text-muted-foreground italic">&ldquo;{user.motto}&rdquo;</p>
)}
<div className="flex flex-wrap items-center gap-2">
<Badge>{user.permission.rankName || `Rank ${user.rank}`}</Badge>
<Badge
variant={isOnline ? "default" : "outline"}
className={isOnline ? "bg-[var(--admin-success-subtle)]" : ""}
variant={isOnline ? 'default' : 'outline'}
className={isOnline ? 'bg-[var(--admin-success-subtle)]' : ''}
>
{isOnline ? (
<>
@@ -135,10 +143,7 @@ export function UserHero({
</Badge>
{activeBan && <Badge variant="destructive">Banned</Badge>}
{user.twoFactorConfirmed ? (
<Badge
variant="outline"
className="border-[var(--admin-success-border)] text-[var(--admin-success)]"
>
<Badge variant="outline" className="border-[var(--admin-success-border)] text-[var(--admin-success)]">
<Shield className="mr-1 h-3 w-3" /> 2FA
</Badge>
) : null}
@@ -193,5 +198,5 @@ export function UserHero({
</div>
</div>
</>
);
)
}