feat: 实现桌面控制组件

This commit is contained in:
JiaJun
2026-04-30 19:04:19 +08:00
parent 36ce93d8d0
commit 9ee681168e
60 changed files with 1246 additions and 247 deletions

View File

@@ -1,7 +1,6 @@
import type { ReactNode } from 'react'
const cx = (...classes: Array<string | false | null | undefined>) =>
classes.filter(Boolean).join(' ')
import { cn } from '@/lib/untils'
type GameTone = 'neutral' | 'brand' | 'success' | 'warning' | 'danger'
@@ -45,7 +44,7 @@ function ModalAction({ label, onClick, tone = 'brand' }: GameOverlayAction) {
<button
type="button"
onClick={onClick}
className={cx(
className={cn(
'inline-flex min-h-12 items-center justify-center rounded-full border px-5 text-sm font-semibold tracking-[0.18em] uppercase transition duration-200',
actionToneClasses[tone],
)}
@@ -75,7 +74,7 @@ export function GameAnnouncementModal({
role="dialog"
aria-modal="true"
aria-labelledby="game-announcement-title"
className={cx(
className={cn(
'w-full max-w-xl rounded-[32px] border p-6 shadow-[0_40px_120px_-40px_rgba(15,23,42,0.95)] sm:p-7',
toneClasses[tone],
)}