feat: modernize UI with gradient design, glass morphism, and enhanced visual appeal

- Add purple/indigo gradient background throughout app
- Implement glass morphism effects on all cards
- Add gradient buttons with smooth hover animations
- Integrate emoji icons for better visual communication
- Enhance typography with improved font stack
- Add loading spinners and smooth transitions
- Improve color scheme with modern purple/indigo palette
- Add glowing shadows and depth effects
- Maintain responsive design and touch-friendly interactions
This commit is contained in:
2025-12-09 12:29:40 +00:00
parent 63bdf57593
commit 706ada866c
17 changed files with 731 additions and 93 deletions

View File

@@ -8,29 +8,63 @@ export default function AudioPlayerSection({
onDownload
}: AudioPlayerSectionProps) {
return (
<div className="w-full max-w-4xl mx-auto p-4 sm:p-6">
<h2 className="text-xl sm:text-2xl font-bold mb-4 sm:mb-6">Your Audiobook is Ready!</h2>
<div className="w-full max-w-4xl mx-auto p-4 sm:p-6 glass-effect rounded-2xl shadow-glow">
{/* Success Header */}
<div className="text-center mb-6">
<div className="inline-block mb-4">
<div className="w-16 h-16 sm:w-20 sm:h-20 mx-auto bg-gradient-to-br from-green-400 to-emerald-600 rounded-2xl shadow-lg flex items-center justify-center animate-bounce">
<span className="text-3xl sm:text-4xl">🎉</span>
</div>
</div>
<h2 className="text-2xl sm:text-3xl font-bold gradient-text mb-2">
Your Audiobook is Ready!
</h2>
<p className="text-gray-600 text-sm sm:text-base">
Listen below or download to enjoy offline
</p>
</div>
<div className="bg-white rounded-lg shadow-md p-4 sm:p-6 mb-4 sm:mb-6">
<h3 className="text-base sm:text-lg font-semibold mb-3 sm:mb-4">Listen to your audiobook</h3>
{/* Audio Player Card */}
<div className="bg-gradient-to-br from-purple-50 to-indigo-50 rounded-2xl shadow-lg p-5 sm:p-8 mb-6 border-2 border-purple-200">
<div className="flex items-center gap-3 mb-4">
<div className="w-10 h-10 bg-gradient-to-br from-purple-500 to-indigo-600 rounded-xl flex items-center justify-center shadow-md">
<span className="text-xl">🎧</span>
</div>
<h3 className="text-lg sm:text-xl font-bold text-gray-800">Listen Now</h3>
</div>
<audio
controls
src={audioUrl}
className="w-full min-h-[44px]"
className="w-full min-h-[44px] rounded-xl shadow-md"
preload="metadata"
style={{
filter: 'drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1))'
}}
>
Your browser does not support the audio element.
</audio>
</div>
{/* Download Button */}
<div className="flex justify-center">
<button
onClick={onDownload}
className="w-full sm:w-auto px-6 py-3 min-h-[44px] bg-green-600 hover:bg-green-700 active:bg-green-800 text-white font-semibold rounded-lg transition-colors cursor-pointer touch-manipulation"
className="w-full sm:w-auto px-8 py-4 min-h-[44px] bg-gradient-to-r from-green-500 to-emerald-600 hover:from-green-600 hover:to-emerald-700 text-white font-bold rounded-xl transition-all cursor-pointer touch-manipulation shadow-lg text-base sm:text-lg"
>
Download audiobook
<span className="flex items-center justify-center gap-3">
<span className="text-xl">⬇️</span>
Download Audiobook
</span>
</button>
</div>
{/* Success Message */}
<div className="mt-6 p-4 bg-gradient-to-r from-green-50 to-emerald-50 border-2 border-green-200 text-green-800 rounded-xl shadow-sm text-center text-sm sm:text-base">
<p className="font-semibold">
✅ Your audiobook has been successfully generated!
</p>
</div>
</div>
);
}