- Add @onblur and @onmousedown handlers to input/button for better focus and click behavior
- Change download button disabling logic to only depend on processing state
- Update progress bars, status, and card colors from green to blue
- Add .output-message CSS class for blue-themed output messages
- Adjust pulse animation to use blue tones
- Add OnInputBlur and PreventDefault methods for improved input/button interaction
- Replaced README.md with a modern, production-focused version featuring quick start, architecture, workflow, troubleshooting, and security sections
- Added DEPLOYMENT_GUIDE_IIS_Windows11.md with step-by-step IIS deployment instructions, including SSL, CORS, and permissions
- Added version-controlled web.config files for API and Blazor app with HTTPS redirection, security headers, and SPA/static file support
- Moved detailed yt-dlp integration notes to README_UPDATED.md for technical reference
- Improves clarity, maintainability, and production readiness of documentation and deployment
Adopt GUID-based {jobId}_{title}.ext filename convention for all downloads, ensuring unique, human-readable, and traceable files. Update DownloadController to use precise jobId-based file matching and generate user-friendly download names. Pass jobId to VideoService for consistent naming; add robust title sanitization. Remove fallback file search logic for predictability. Update README and API docs to reflect new format and workflow. Improve logging and error messages for clarity.
- Integrate yt-dlp.exe for real YouTube audio download/conversion
- Serve actual MP3 files from wwwroot/downloads via API and static files
- Report real-time progress from yt-dlp to frontend
- Enhance DownloadController: file serving, metadata, deletion endpoints
- Update VideoController to track and return real file info/URLs
- Enable static file serving in Program.cs; update API info/logging
- Update Blazor frontend to use real download URLs and remove old JS logic
- Add README_UPDATED.md with new workflow and troubleshooting
- Improve error handling, logging, and file cleanup throughout backend
- Update .gitignore for downloads and yt-dlp.exe
Refactored backend to extract actual YouTube title and thumbnail from HTML, removing simulated metadata fields (description, author, duration, views, upload date, tags). Simplified UI to display only title and thumbnail, and enhanced visuals with animated musical notes background. Removed related formatting and display logic for unused metadata.
Enhance Home page with a floating musical notes background for a more engaging visual experience. Added markup and CSS for animated notes, including responsive adjustments. Removed obsolete inline styles from Home.razor.
Removed /api/video/details endpoint; video details now fetched as first step of processing and included in progress/status responses. Updated backend models and controller logic to support integrated workflow and improved error handling. Refactored frontend to show video info and conversion progress in real time, removed legacy API calls, and enhanced UI/UX with responsive video info cards and progress bars. Updated documentation and example code to reflect new workflow.
Introduce configuration classes and environment-specific settings files. Add DI extensions for registering API/app settings and HttpClient. Implement ITuneRipperApiService with robust error handling and logging. Update Program.cs for config loading and startup logging. Add usage documentation and update imports for new services and extensions. Improves maintainability and developer experience.
- Add Health, Video, and Download controllers with endpoints for health checks, video details, processing, status, results, and simulated downloads
- Implement IVideoService for YouTube URL validation and mock video info
- Add API models for responses and job status tracking
- Configure DI, CORS (BlazorPolicy), OpenAPI, and root metadata endpoint in Program.cs
- Add README with usage, troubleshooting, and development notes
- Minor project file cleanup and encoding fix
Removed WeatherForecast API and model. Added TuneRipper.Shared project with shared configuration and YouTube processing models. Updated solution and project references to enable code sharing between API and client. Explicitly included Controllers folder in API project.
Replaced purple/blue gradients with vibrant blues across main container, app title, buttons, input focus, loader, and progress bar. Adjusted box-shadow colors and loader title gradient for a modern, consistent visual style.
Replaces default Blazor loading spinner with a custom, animated music-themed loader featuring a gradient background, floating musical notes, logo, equalizer animation, and dynamic progress bar/messages. Removes old loader CSS from app.css and adds new styles to index.html. Loader progress and messages are now animated via JavaScript, with interactive note effects on click. Loader and background fade out smoothly when the app is ready.
Major UI overhaul for TuneRipper: removed sidebar navigation, refactored layout to a centered, single-page experience with a modern hero section and input form for YouTube-to-MP3 conversion. Added new logo and high-res icons (logo.png, icon-192.png, icon-512.png), updated favicon and app icons, and introduced manifest.json for PWA support. Removed Counter, Weather, and NotFound pages; improved global and page-specific CSS for branding and responsiveness.