Claude 22ddbf4796
feat: Create React web application with Figma design and Flask backend
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)
2025-11-13 08:03:09 +00:00

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;