mirror of
https://github.com/openai/whisper.git
synced 2025-11-24 06:26:03 +00:00
Frontend: - Initialize React 18 + TypeScript project with Vite - Implement complete App.tsx matching Figma design - Add dark/light theme toggle support - Create file queue management UI - Implement search with text highlighting - Add segment copy functionality - Create reusable UI components (Button, Progress, Input, Select) - Configure Tailwind CSS v4.0 for styling - Setup window resizing functionality - Implement RTL support for Farsi text Backend: - Create Flask API server with CORS support - Implement /transcribe endpoint for audio/video processing - Add /models endpoint for available models info - Implement /export endpoint for multiple formats (TXT, SRT, VTT, JSON) - Setup Whisper model integration - Handle file uploads with validation - Format transcription results with timestamps Configuration: - Setup Vite dev server with API proxy - Configure Tailwind CSS with custom colors - Setup TypeScript strict mode - Add PostCSS with autoprefixer - Configure Flask for development Documentation: - Write comprehensive README with setup instructions - Include API endpoint documentation - Add troubleshooting guide - Include performance tips Includes everything ready to run with: npm install && npm run dev (frontend) and python backend/app.py (backend)
25 lines
646 B
TypeScript
25 lines
646 B
TypeScript
import React from 'react';
|
|
|
|
interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
label?: string;
|
|
}
|
|
|
|
const Input = React.forwardRef<HTMLInputElement, InputProps>(
|
|
({ label, className, ...props }, ref) => {
|
|
return (
|
|
<div className="w-full">
|
|
{label && <label className="block text-sm font-medium mb-1">{label}</label>}
|
|
<input
|
|
ref={ref}
|
|
className={`w-full px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-green-500 ${className || ''}`}
|
|
{...props}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|
|
);
|
|
|
|
Input.displayName = 'Input';
|
|
|
|
export default Input;
|