import { useState, type ReactNode } from 'react' import { Badge, Button, Card, CopyableId, Notice, PageTitle } from '../components/ui' import { RegisterForm } from '../components/RegisterForm' import { useIslanderUnlock } from '../hooks/useIslanderUnlock' import { writeIslanderUnlocked } from '../lib/islander/unlock' import { easterEggCatalog, easterEggKindLabel, type EasterEggEntry, } from '../lib/easterEggCatalog' const ADMIN_TOGGLE_IDS = new Set(['hidden-register', 'islander-guide']) function EasterEggCard({ entry, action, }: { entry: EasterEggEntry action?: ReactNode }) { const kindTone = entry.kind === 'keyboard' ? 'brand' : entry.kind === 'admin-page' ? 'sky' : 'neutral' return (

{entry.title}

{entry.summary}

{easterEggKindLabel(entry.kind)}
{entry.password ? ( ) : ADMIN_TOGGLE_IDS.has(entry.id) ? null : (
密碼

無 — 透過管理員導覽進入

)}

操作步驟

    {entry.howTo.map((step) => (
  1. {step}
  2. ))}
{action ?
{action}
: null} {entry.notes ? (

備註: {entry.notes}

) : null}
) } function renderEasterEggAction( entry: EasterEggEntry, state: { registerOpen: boolean setRegisterOpen: (open: boolean | ((value: boolean) => boolean)) => void islanderOpen: boolean }, ) { if (entry.id === 'hidden-register') { return ( <> {state.registerOpen ? (
) : null} ) } if (entry.id === 'islander-guide') { return ( <> {state.islanderOpen ? ( ) : null} ) } return undefined } export function EasterEggsPage() { const [registerOpen, setRegisterOpen] = useState(false) const islanderOpen = useIslanderUnlock() return (
{easterEggCatalog.map((entry) => ( ))}
) }