'use client';

import { Shield } from 'lucide-react';
import { useWorkspaceStore } from '@/lib/stores/workspace';
import { Button } from '@/components/ui/button';

export function ApprovalCard() {
  const pendingApproval = useWorkspaceStore((s) => s.pendingApproval);
  const resolveApproval = useWorkspaceStore((s) => s.resolveApproval);

  if (!pendingApproval) return null;

  const { req } = pendingApproval;

  return (
    <div className="bg-card border border-border rounded-lg shadow-sm p-3 mb-2 space-y-2">
      <div className="flex items-center gap-2 text-sm font-medium">
        <Shield className="h-4 w-4 text-muted-foreground" />
        {req.capabilityLabel}
      </div>
      <pre className="font-mono text-xs bg-muted rounded px-2 py-1.5 overflow-x-auto whitespace-pre-wrap break-all">
        {req.command}
      </pre>
      <p className="text-xs text-muted-foreground">
        The agent wants to run this. Allow it?
      </p>
      <div className="flex items-center gap-2">
        <Button size="sm" onClick={() => resolveApproval('once')}>
          Allow once
        </Button>
        <Button size="sm" onClick={() => resolveApproval('always')}>
          Always allow
        </Button>
        <Button variant="outline" size="sm" onClick={() => resolveApproval('deny')}>
          Deny
        </Button>
      </div>
    </div>
  );
}
