| import { BrainCircuit, BarChart2 } from "lucide-react"; |
|
|
| export type Phase = "interview" | "analytics"; |
|
|
| interface PhaseToggleProps { |
| phase: Phase; |
| onChange: (phase: Phase) => void; |
| disabled?: boolean; |
| } |
|
|
| export default function PhaseToggle({ phase, onChange, disabled }: PhaseToggleProps) { |
| return ( |
| <div |
| className="flex items-center bg-slate-100 rounded-full p-0.5 text-xs select-none" |
| title={disabled ? "Interview sedang berlangsung" : undefined} |
| > |
| <button |
| onClick={() => !disabled && onChange("interview")} |
| className={`flex items-center gap-1.5 px-3 py-1.5 rounded-full transition-all duration-200 ${ |
| phase === "interview" |
| ? "bg-white text-emerald-700 shadow-sm font-medium" |
| : "text-slate-500 hover:text-slate-700" |
| } ${disabled && phase !== "interview" ? "opacity-40 cursor-not-allowed" : "cursor-pointer"}`} |
| > |
| <BrainCircuit className="w-3.5 h-3.5" /> |
| <span>Interview</span> |
| </button> |
| <button |
| onClick={() => !disabled && onChange("analytics")} |
| className={`flex items-center gap-1.5 px-3 py-1.5 rounded-full transition-all duration-200 ${ |
| phase === "analytics" |
| ? "bg-white text-blue-700 shadow-sm font-medium" |
| : "text-slate-500 hover:text-slate-700" |
| } ${disabled && phase !== "analytics" ? "opacity-40 cursor-not-allowed" : "cursor-pointer"}`} |
| > |
| <BarChart2 className="w-3.5 h-3.5" /> |
| <span>Analytics</span> |
| </button> |
| </div> |
| ); |
| } |
|
|