import React, {useRef, useState} from "react"; import {useTranscriptionStore} from "../stores/transcriptionStore"; import ServerStatusIndicator from "./ServerStatusIndicator"; import FeedbackCard from "./FeedbackCard"; import TipsNotice from "./TipsNotice"; import QuickGuide from "./QuickGuide"; import { TOSModalComponent, AUPModalComponent, ModelReadmeModalComponent, } from "./TermsModal"; const TranscriptionSideBar: React.FC = () => { const fileInputRef = useRef(null); const [isTOSModalOpen, setIsTOSModalOpen] = useState(false); const [isAUPModalOpen, setIsAUPModalOpen] = useState(false); const [isModelReadmeModalOpen, setIsModelReadmeModalOpen] = useState(false); const { file, transcription, error, isRecording, handleFileSelect, startRecording, } = useTranscriptionStore(); const handleFileInputChange = ( event: React.ChangeEvent ) => { const selectedFile = event.target.files?.[0]; if (selectedFile) { handleFileSelect(selectedFile); } }; return (

Omnilingual ASR Media Transcription

{/* Server Status Indicator */}
{/* File Upload */}

Upload Media

{!isRecording && ( <> {/* Recording Buttons */}
{/* */}
)} {file && !isRecording && (
{file.name}
{(file.size / 1024 / 1024).toFixed(1)} MB
)}
{/* Error Display */} {error && transcription && (
Error
{error}
)} {/* Terms and Policy Buttons */}
{/* Modals */} setIsTOSModalOpen(false)} /> setIsAUPModalOpen(false)} /> setIsModelReadmeModalOpen(false)} />
); }; export default TranscriptionSideBar;