'use client'; import type { Action, GameView } from '@/game/engine'; import { CardInspector, CardRules } from './card-inspector'; import { Button } from './ui/button'; export function SemutaReaction({ game, act, busy, }: { game: GameView; act: (action: Action) => void; busy: boolean; }) { const reaction = game.semutaReaction; if (!reaction) return null; return (

Fresh Treachery discard

Response event {reaction.event}

{reaction.stage === 'offer' ? ( <>

A Treachery card was just discarded. Continue when you are ready.

{reaction.blocked &&

{reaction.blocked}

} {reaction.passBlocked &&

{reaction.passBlocked}

} {reaction.passed ? (

You continued. Waiting for other seats.

) : (
{reaction.canCommit && ( )}
)} ) : reaction.candidates.length ? ( <>

You committed Semuta Drug. Choose one eligible freshly discarded Treachery card to claim. This choice cannot be declined or canceled.

{reaction.candidates.map((card) => (
{card.name}

Card ID: {card.id}

))}
) : (

Waiting for the Semuta Drug claim to finish.

)}
); }