main: second iter

Signed-off-by: nfel <nfilsaraee@gmail.com>
This commit is contained in:
2025-12-27 22:41:36 +03:30
parent 8a7842e263
commit 9a7e627329
33 changed files with 4865 additions and 81 deletions
+12 -10
View File
@@ -1,7 +1,7 @@
'use client';
import { motion, AnimatePresence } from 'framer-motion';
import { FaCheckCircle, FaTimes, FaDownload } from 'react-icons/fa';
import { FaClock, FaTimes, FaDownload } from 'react-icons/fa';
import { Album, Purchase } from '@/lib/types';
interface PurchaseSuccessModalProps {
@@ -20,9 +20,10 @@ export default function PurchaseSuccessModal({ show, album, purchase, onClose }:
PURCHASE RECEIPT
================
Status: PENDING APPROVAL
Album: ${album.title}
Artist: Parsa
Price: $${album.price}
Amount: $${album.price}
Transaction ID: ${purchase.transactionId}
Date: ${new Date(purchase.purchaseDate).toLocaleString()}
@@ -30,7 +31,8 @@ Tracks Included:
${album.songs.map((song, idx) => `${idx + 1}. ${song.title} (${song.duration})`).join('\n')}
Thank you for your purchase!
You now have full access to this album.
Your order is pending admin approval.
You will receive access to this album after confirmation.
`;
const blob = new Blob([receipt], { type: 'text/plain' });
@@ -64,14 +66,14 @@ You now have full access to this album.
{/* Header */}
<div className="flex items-start justify-between mb-6">
<div className="flex items-center gap-3">
<div className="p-3 bg-green-500/20 rounded-full">
<FaCheckCircle className="text-3xl text-green-400" />
<div className="p-3 bg-accent-orange/20 rounded-full">
<FaClock className="text-3xl text-accent-orange" />
</div>
<div>
<h2 className="text-2xl font-bold text-white">
Purchase Successful!
Purchase Pending Approval
</h2>
<p className="text-sm text-gray-400">Thank you for your purchase</p>
<p className="text-sm text-gray-400">Please wait for admin confirmation</p>
</div>
</div>
<button
@@ -99,7 +101,7 @@ You now have full access to this album.
<span className="text-white font-semibold">{album.songs.length} songs</span>
</div>
<div className="border-t border-white/10 pt-3 flex justify-between">
<span className="text-gray-400">Total Paid</span>
<span className="text-gray-400">Amount</span>
<span className="text-accent-orange font-bold text-xl">${album.price}</span>
</div>
</div>
@@ -129,13 +131,13 @@ You now have full access to this album.
onClick={onClose}
className="w-full py-3 bg-gradient-to-r from-accent-cyan to-accent-cyan/80 hover:from-accent-cyan/90 hover:to-accent-cyan/70 rounded-lg font-semibold text-white transition-all glow-cyan"
>
Start Listening
OK, Got It
</motion.button>
</div>
{/* Info */}
<p className="text-xs text-gray-500 text-center mt-6">
You now have unlimited access to all tracks in this album
Your purchase will be reviewed by an admin. You will receive access after approval.
</p>
</motion.div>
</motion.div>