'use client';
import type { ReactNode } from 'react';
export function Button({
children,
onClick,
variant = 'primary',
disabled,
type = 'button',
}: {
children: ReactNode;
onClick?: () => void;
variant?: 'primary' | 'ghost' | 'danger';
disabled?: boolean;
type?: 'button' | 'submit';
}) {
const styles = {
primary: 'bg-blue-600 text-white hover:bg-blue-700',
ghost: 'bg-white text-gray-700 border border-gray-300 hover:bg-gray-50',
danger: 'bg-red-600 text-white hover:bg-red-700',
}[variant];
return (
);
}
export function Input({
value,
onChange,
placeholder,
type = 'text',
}: {
value: string;
onChange: (v: string) => void;
placeholder?: string;
type?: string;
}) {
return (
onChange(e.target.value)}
className="w-full rounded-md border border-gray-300 px-3 py-1.5 text-sm outline-none focus:border-blue-500"
/>
);
}
export function Textarea({ value, onChange }: { value: string; onChange: (v: string) => void }) {
return (