// src/components/Controls.js import React from "react"; import { FaMicrophone, FaRegStopCircle, FaCog } from "react-icons/fa"; const Controls = ({ status, isBusy, isRecording, isAutoMode, isAutoListening, onMicClick, onToggleAutoMode, }) => { const micButtonColorClass = isRecording ? "bg-red-600 hover:bg-red-700 active:bg-red-800" : "bg-indigo-600 hover:bg-indigo-700 active:bg-indigo-800"; const micButtonState = isAutoMode && isAutoListening ? isAutoListening : isRecording; return ( <div className="bg-white dark:bg-gray-800 p-4 border-t border-gray-200 dark:border-gray-700 flex flex-col items-center gap-4"> <div className="text-center text-sm text-gray-500 dark:text-gray-400 font-medium"> {status} </div> <div className="flex items-center space-x-4"> <button onClick={onMicClick} disabled={isBusy} className={`p-4 rounded-full text-white transition-colors duration-200 ease-in-out transform hover:scale-105 active:scale-95 ${micButtonColorClass} disabled:bg-gray-400`} > {micButtonState ? ( <FaRegStopCircle size={28} /> ) : ( <FaMicrophone size={28} /> )} </button> <div className="flex items-center space-x-2"> <label class="inline-flex items-center space-x-2 cursor-pointer"> <input type="checkbox" id="auto-mode-toggle" checked={isAutoMode} onChange={onToggleAutoMode} disabled={isBusy} className="h-5 w-5 text-indigo-600 transition duration-200 rounded border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:outline-none" /> <span class="text-sm font-medium text-gray-700 dark:text-gray-300">Auto Mode</span> </label> </div> </div> </div> ); }; export default Controls;