| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>RewardPoints+ | Customer Loyalty System</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| <style> |
| .gradient-bg { |
| background: linear-gradient(135deg, #6e8efb, #a777e3); |
| } |
| .card-hover:hover { |
| transform: translateY(-5px); |
| box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); |
| } |
| .progress-bar { |
| height: 10px; |
| border-radius: 5px; |
| background-color: #e5e7eb; |
| } |
| .progress-fill { |
| height: 100%; |
| border-radius: 5px; |
| background: linear-gradient(90deg, #4f46e5, #a855f7); |
| transition: width 0.5s ease; |
| } |
| .floating-btn { |
| box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2); |
| } |
| .transaction-enter { |
| opacity: 0; |
| transform: translateY(20px); |
| } |
| .transaction-enter-active { |
| opacity: 1; |
| transform: translateY(0); |
| transition: all 300ms ease-out; |
| } |
| .pulse { |
| animation: pulse 2s infinite; |
| } |
| @keyframes pulse { |
| 0% { box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.7); } |
| 70% { box-shadow: 0 0 0 10px rgba(79, 70, 229, 0); } |
| 100% { box-shadow: 0 0 0 0 rgba(79, 70, 229, 0); } |
| } |
| </style> |
| </head> |
| <body class="bg-gray-50 font-sans"> |
| |
| <header class="gradient-bg text-white shadow-lg"> |
| <div class="container mx-auto px-4 py-6"> |
| <div class="flex justify-between items-center"> |
| <div class="flex items-center space-x-2"> |
| <i class="fas fa-crown text-2xl"></i> |
| <h1 class="text-2xl font-bold">RewardPoints+</h1> |
| </div> |
| <div class="hidden md:flex space-x-6"> |
| <a href="#" class="hover:text-gray-200 transition" id="customerLink">Customer View</a> |
| <a href="#" class="hover:text-gray-200 transition" id="adminLink">Admin Dashboard</a> |
| <a href="#" class="hover:text-gray-200 transition" id="posLink">POS Integration</a> |
| </div> |
| <button class="md:hidden text-white focus:outline-none" id="mobileMenuButton"> |
| <i class="fas fa-bars text-2xl"></i> |
| </button> |
| </div> |
| </div> |
| </header> |
|
|
| |
| <div class="md:hidden hidden bg-white shadow-lg rounded-lg mx-4 py-2 absolute z-10 w-11/12" id="mobileMenu"> |
| <a href="#" class="block px-4 py-2 text-gray-800 hover:bg-purple-50" id="mobileCustomerLink"> |
| <i class="fas fa-user mr-2"></i> Customer View |
| </a> |
| <a href="#" class="block px-4 py-2 text-gray-800 hover:bg-purple-50" id="mobileAdminLink"> |
| <i class="fas fa-tachometer-alt mr-2"></i> Admin Dashboard |
| </a> |
| <a href="#" class="block px-4 py-2 text-gray-800 hover:bg-purple-50" id="mobilePosLink"> |
| <i class="fas fa-cash-register mr-2"></i> POS Integration |
| </a> |
| </div> |
|
|
| |
| <main class="container mx-auto px-4 py-8"> |
| |
| <div id="customerView"> |
| <div class="max-w-4xl mx-auto"> |
| <div class="bg-white rounded-xl shadow-md overflow-hidden mb-8 card-hover transition"> |
| <div class="gradient-bg p-6 text-white"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <h2 class="text-xl font-semibold">Your Reward Points</h2> |
| <p class="text-purple-100">Member since June 2022</p> |
| </div> |
| <div class="bg-white text-purple-800 px-3 py-1 rounded-full text-sm font-bold"> |
| GOLD MEMBER |
| </div> |
| </div> |
| <div class="mt-6"> |
| <div class="flex justify-between items-center mb-2"> |
| <span class="font-bold text-3xl" id="currentPoints">1,250</span> |
| <span class="text-purple-100">Next tier at 2,000 points</span> |
| </div> |
| <div class="progress-bar"> |
| <div class="progress-fill" style="width: 62.5%;"></div> |
| </div> |
| </div> |
| </div> |
| <div class="p-6"> |
| <h3 class="text-lg font-semibold text-gray-800 mb-4">Recent Transactions</h3> |
| <div class="space-y-4" id="transactionList"> |
| |
| </div> |
| </div> |
| </div> |
|
|
| <div class="grid md:grid-cols-3 gap-6 mb-8"> |
| <div class="bg-white p-6 rounded-xl shadow-md card-hover transition"> |
| <div class="flex items-center mb-4"> |
| <div class="bg-purple-100 p-3 rounded-full mr-4"> |
| <i class="fas fa-gift text-purple-600"></i> |
| </div> |
| <div> |
| <h3 class="font-semibold text-gray-800">Available Rewards</h3> |
| <p class="text-gray-500 text-sm">Redeem your points</p> |
| </div> |
| </div> |
| <div class="space-y-3"> |
| <div class="flex justify-between items-center p-3 bg-purple-50 rounded-lg"> |
| <div> |
| <h4 class="font-medium">$10 Gift Card</h4> |
| <p class="text-xs text-gray-500">800 points</p> |
| </div> |
| <button class="bg-purple-600 text-white px-3 py-1 rounded-full text-sm hover:bg-purple-700 transition">Redeem</button> |
| </div> |
| <div class="flex justify-between items-center p-3 bg-purple-50 rounded-lg"> |
| <div> |
| <h4 class="font-medium">Free Coffee</h4> |
| <p class="text-xs text-gray-500">250 points</p> |
| </div> |
| <button class="bg-purple-600 text-white px-3 py-1 rounded-full text-sm hover:bg-purple-700 transition">Redeem</button> |
| </div> |
| </div> |
| </div> |
|
|
| <div class="bg-white p-6 rounded-xl shadow-md card-hover transition"> |
| <div class="flex items-center mb-4"> |
| <div class="bg-blue-100 p-3 rounded-full mr-4"> |
| <i class="fas fa-bolt text-blue-600"></i> |
| </div> |
| <div> |
| <h3 class="font-semibold text-gray-800">Quick Actions</h3> |
| <p class="text-gray-500 text-sm">Frequent options</p> |
| </div> |
| </div> |
| <div class="grid grid-cols-2 gap-3"> |
| <button class="bg-blue-50 text-blue-600 p-3 rounded-lg flex flex-col items-center hover:bg-blue-100 transition"> |
| <i class="fas fa-qrcode text-xl mb-1"></i> |
| <span class="text-xs">Show QR Code</span> |
| </button> |
| <button class="bg-blue-50 text-blue-600 p-3 rounded-lg flex flex-col items-center hover:bg-blue-100 transition"> |
| <i class="fas fa-share-alt text-xl mb-1"></i> |
| <span class="text-xs">Refer Friend</span> |
| </button> |
| <button class="bg-blue-50 text-blue-600 p-3 rounded-lg flex flex-col items-center hover:bg-blue-100 transition"> |
| <i class="fas fa-history text-xl mb-1"></i> |
| <span class="text-xs">History</span> |
| </button> |
| <button class="bg-blue-50 text-blue-600 p-3 rounded-lg flex flex-col items-center hover:bg-blue-100 transition"> |
| <i class="fas fa-cog text-xl mb-1"></i> |
| <span class="text-xs">Settings</span> |
| </button> |
| </div> |
| </div> |
|
|
| <div class="bg-white p-6 rounded-xl shadow-md card-hover transition"> |
| <div class="flex items-center mb-4"> |
| <div class="bg-green-100 p-3 rounded-full mr-4"> |
| <i class="fas fa-percentage text-green-600"></i> |
| </div> |
| <div> |
| <h3 class="font-semibold text-gray-800">Special Offers</h3> |
| <p class="text-gray-500 text-sm">Limited time deals</p> |
| </div> |
| </div> |
| <div class="bg-gradient-to-r from-green-100 to-blue-100 p-4 rounded-lg"> |
| <h4 class="font-bold text-green-800 mb-1">Double Points Weekend!</h4> |
| <p class="text-xs text-green-700 mb-2">Earn 2x points on all purchases this weekend</p> |
| <div class="flex justify-between items-center"> |
| <span class="text-xs bg-green-200 text-green-800 px-2 py-1 rounded-full">Active</span> |
| <span class="text-xs text-green-700">Ends in 2 days</span> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="adminDashboard" class="hidden"> |
| <h2 class="text-2xl font-bold text-gray-800 mb-6">Admin Dashboard</h2> |
| |
| <div class="grid md:grid-cols-4 gap-6 mb-8"> |
| <div class="bg-white p-6 rounded-xl shadow-md"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-gray-500">Total Members</p> |
| <h3 class="text-3xl font-bold text-gray-800">1,842</h3> |
| </div> |
| <div class="bg-purple-100 p-3 rounded-full"> |
| <i class="fas fa-users text-purple-600"></i> |
| </div> |
| </div> |
| <div class="mt-4 pt-4 border-t border-gray-100"> |
| <p class="text-sm text-gray-500 flex items-center"> |
| <span class="text-green-500 mr-1">↑ 12%</span> from last month |
| </p> |
| </div> |
| </div> |
|
|
| <div class="bg-white p-6 rounded-xl shadow-md"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-gray-500">Active Today</p> |
| <h3 class="text-3xl font-bold text-gray-800">327</h3> |
| </div> |
| <div class="bg-blue-100 p-3 rounded-full"> |
| <i class="fas fa-bolt text-blue-600"></i> |
| </div> |
| </div> |
| <div class="mt-4 pt-4 border-t border-gray-100"> |
| <p class="text-sm text-gray-500 flex items-center"> |
| <span class="text-green-500 mr-1">↑ 8%</span> from yesterday |
| </p> |
| </div> |
| </div> |
|
|
| <div class="bg-white p-6 rounded-xl shadow-md"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-gray-500">Points Redeemed</p> |
| <h3 class="text-3xl font-bold text-gray-800">24,150</h3> |
| </div> |
| <div class="bg-yellow-100 p-3 rounded-full"> |
| <i class="fas fa-gift text-yellow-600"></i> |
| </div> |
| </div> |
| <div class="mt-4 pt-4 border-t border-gray-100"> |
| <p class="text-sm text-gray-500 flex items-center"> |
| <span class="text-green-500 mr-1">↑ 5%</span> from last week |
| </p> |
| </div> |
| </div> |
|
|
| <div class="bg-white p-6 rounded-xl shadow-md"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-gray-500">Avg. Points/Member</p> |
| <h3 class="text-3xl font-bold text-gray-800">856</h3> |
| </div> |
| <div class="bg-green-100 p-3 rounded-full"> |
| <i class="fas fa-chart-line text-green-600"></i> |
| </div> |
| </div> |
| <div class="mt-4 pt-4 border-t border-gray-100"> |
| <p class="text-sm text-gray-500 flex items-center"> |
| <span class="text-green-500 mr-1">↑ 3%</span> from last quarter |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| <div class="bg-white rounded-xl shadow-md overflow-hidden mb-8"> |
| <div class="p-6 border-b border-gray-100"> |
| <h3 class="text-lg font-semibold text-gray-800">Recent Member Activity</h3> |
| </div> |
| <div class="overflow-x-auto"> |
| <table class="min-w-full divide-y divide-gray-200"> |
| <thead class="bg-gray-50"> |
| <tr> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Member</th> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Activity</th> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Points</th> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Time</th> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Location</th> |
| </tr> |
| </thead> |
| <tbody class="bg-white divide-y divide-gray-200" id="adminActivityList"> |
| |
| </tbody> |
| </table> |
| </div> |
| </div> |
|
|
| <div class="grid md:grid-cols-2 gap-6"> |
| <div class="bg-white p-6 rounded-xl shadow-md"> |
| <h3 class="text-lg font-semibold text-gray-800 mb-4">Points Distribution</h3> |
| <div class="h-64" id="pointsChart"></div> |
| </div> |
|
|
| <div class="bg-white p-6 rounded-xl shadow-md"> |
| <h3 class="text-lg font-semibold text-gray-800 mb-4">Quick Actions</h3> |
| <div class="grid grid-cols-2 gap-4"> |
| <button class="bg-purple-100 text-purple-700 p-4 rounded-lg flex flex-col items-center hover:bg-purple-200 transition"> |
| <i class="fas fa-user-plus text-xl mb-2"></i> |
| <span class="text-sm">Add Member</span> |
| </button> |
| <button class="bg-blue-100 text-blue-700 p-4 rounded-lg flex flex-col items-center hover:bg-blue-200 transition"> |
| <i class="fas fa-bullhorn text-xl mb-2"></i> |
| <span class="text-sm">Send Promotion</span> |
| </button> |
| <button class="bg-green-100 text-green-700 p-4 rounded-lg flex flex-col items-center hover:bg-green-200 |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://deepsite.hf.co/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://deepsite.hf.co" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://deepsite.hf.co?remix=NillyG/test" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |