|
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
<title>T-Bank Mobile</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> |
|
|
|
::-webkit-scrollbar { |
|
width: 4px; |
|
} |
|
::-webkit-scrollbar-track { |
|
background: #f1f1f1; |
|
} |
|
::-webkit-scrollbar-thumb { |
|
background: #888; |
|
border-radius: 2px; |
|
} |
|
::-webkit-scrollbar-thumb:hover { |
|
background: #555; |
|
} |
|
|
|
|
|
@keyframes fadeIn { |
|
from { opacity: 0; transform: translateY(10px); } |
|
to { opacity: 1; transform: translateY(0); } |
|
} |
|
|
|
.animate-fade-in { |
|
animation: fadeIn 0.3s ease-out forwards; |
|
} |
|
|
|
|
|
.card-gradient { |
|
background: linear-gradient(135deg, #4f46e5 0%, #8b5cf6 100%); |
|
} |
|
|
|
|
|
.switch { |
|
position: relative; |
|
display: inline-block; |
|
width: 50px; |
|
height: 24px; |
|
} |
|
|
|
.switch input { |
|
opacity: 0; |
|
width: 0; |
|
height: 0; |
|
} |
|
|
|
.slider { |
|
position: absolute; |
|
cursor: pointer; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background-color: #ccc; |
|
transition: .4s; |
|
border-radius: 24px; |
|
} |
|
|
|
.slider:before { |
|
position: absolute; |
|
content: ""; |
|
height: 16px; |
|
width: 16px; |
|
left: 4px; |
|
bottom: 4px; |
|
background-color: white; |
|
transition: .4s; |
|
border-radius: 50%; |
|
} |
|
|
|
input:checked + .slider { |
|
background-color: #4f46e5; |
|
} |
|
|
|
input:checked + .slider:before { |
|
transform: translateX(26px); |
|
} |
|
</style> |
|
</head> |
|
<body class="bg-gray-100 font-sans antialiased"> |
|
|
|
<div class="relative max-w-md mx-auto h-screen bg-white overflow-hidden shadow-lg flex flex-col"> |
|
|
|
<header class="bg-indigo-600 text-white p-4 flex justify-between items-center"> |
|
<div class="flex items-center space-x-2"> |
|
<div class="w-8 h-8 rounded-full bg-indigo-500 flex items-center justify-center"> |
|
<span class="text-xs font-bold">TB</span> |
|
</div> |
|
<h1 class="font-bold text-lg">T-Bank</h1> |
|
</div> |
|
<div class="flex items-center space-x-4"> |
|
<button class="text-white"> |
|
<i class="fas fa-bell"></i> |
|
</button> |
|
<button class="text-white"> |
|
<i class="fas fa-qrcode"></i> |
|
</button> |
|
</div> |
|
</header> |
|
|
|
|
|
<main class="flex-1 overflow-y-auto pb-20"> |
|
|
|
<div class="card-gradient rounded-xl mx-4 mt-4 p-6 text-white shadow-lg animate-fade-in"> |
|
<div class="flex justify-between items-start"> |
|
<div> |
|
<p class="text-sm opacity-80">Total Balance</p> |
|
<h2 class="text-2xl font-bold mt-1">$12,456.78</h2> |
|
</div> |
|
<button class="bg-white bg-opacity-20 p-2 rounded-full"> |
|
<i class="fas fa-ellipsis-h"></i> |
|
</button> |
|
</div> |
|
|
|
<div class="mt-6 flex justify-between items-center"> |
|
<div> |
|
<p class="text-xs opacity-80">Card Number</p> |
|
<p class="text-sm font-medium">•••• •••• •••• 4567</p> |
|
</div> |
|
<div class="w-10 h-6 bg-white bg-opacity-30 rounded flex items-center justify-center"> |
|
<span class="text-xs font-bold text-white">VISA</span> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="mx-4 mt-6 grid grid-cols-4 gap-4 animate-fade-in" style="animation-delay: 0.1s"> |
|
<button class="flex flex-col items-center justify-center p-3 bg-white rounded-xl shadow-sm hover:bg-gray-50 transition"> |
|
<div class="w-10 h-10 bg-indigo-100 rounded-full flex items-center justify-center text-indigo-600 mb-2"> |
|
<i class="fas fa-exchange-alt"></i> |
|
</div> |
|
<span class="text-xs font-medium">Transfer</span> |
|
</button> |
|
<button class="flex flex-col items-center justify-center p-3 bg-white rounded-xl shadow-sm hover:bg-gray-50 transition"> |
|
<div class="w-10 h-10 bg-green-100 rounded-full flex items-center justify-center text-green-600 mb-2"> |
|
<i class="fas fa-money-bill-wave"></i> |
|
</div> |
|
<span class="text-xs font-medium">Pay</span> |
|
</button> |
|
<button class="flex flex-col items-center justify-center p-3 bg-white rounded-xl shadow-sm hover:bg-gray-50 transition"> |
|
<div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center text-blue-600 mb-2"> |
|
<i class="fas fa-wallet"></i> |
|
</div> |
|
<span class="text-xs font-medium">Top Up</span> |
|
</button> |
|
<button class="flex flex-col items-center justify-center p-3 bg-white rounded-xl shadow-sm hover:bg-gray-50 transition"> |
|
<div class="w-10 h-10 bg-purple-100 rounded-full flex items-center justify-center text-purple-600 mb-2"> |
|
<i class="fas fa-chart-line"></i> |
|
</div> |
|
<span class="text-xs font-medium">Invest</span> |
|
</button> |
|
</div> |
|
|
|
|
|
<div class="mx-4 mt-8 animate-fade-in" style="animation-delay: 0.2s"> |
|
<div class="flex justify-between items-center mb-4"> |
|
<h3 class="font-bold text-gray-800">Recent Transactions</h3> |
|
<button class="text-indigo-600 text-sm font-medium">See All</button> |
|
</div> |
|
|
|
<div class="space-y-3"> |
|
|
|
<div class="bg-white p-3 rounded-xl flex items-center justify-between shadow-sm hover:shadow-md transition"> |
|
<div class="flex items-center space-x-3"> |
|
<div class="w-10 h-10 rounded-full bg-red-100 flex items-center justify-center text-red-500"> |
|
<i class="fas fa-shopping-bag"></i> |
|
</div> |
|
<div> |
|
<p class="text-sm font-medium">Amazon Purchase</p> |
|
<p class="text-xs text-gray-500">Today, 10:45 AM</p> |
|
</div> |
|
</div> |
|
<div class="text-right"> |
|
<p class="text-sm font-medium text-red-500">-$45.99</p> |
|
<p class="text-xs text-gray-500">Completed</p> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="bg-white p-3 rounded-xl flex items-center justify-between shadow-sm hover:shadow-md transition"> |
|
<div class="flex items-center space-x-3"> |
|
<div class="w-10 h-10 rounded-full bg-green-100 flex items-center justify-center text-green-500"> |
|
<i class="fas fa-money-bill-wave"></i> |
|
</div> |
|
<div> |
|
<p class="text-sm font-medium">Salary Deposit</p> |
|
<p class="text-xs text-gray-500">Yesterday, 9:00 AM</p> |
|
</div> |
|
</div> |
|
<div class="text-right"> |
|
<p class="text-sm font-medium text-green-500">+$3,250.00</p> |
|
<p class="text-xs text-gray-500">Completed</p> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="bg-white p-3 rounded-xl flex items-center justify-between shadow-sm hover:shadow-md transition"> |
|
<div class="flex items-center space-x-3"> |
|
<div class="w-10 h-10 rounded-full bg-blue-100 flex items-center justify-center text-blue-500"> |
|
<i class="fas fa-coffee"></i> |
|
</div> |
|
<div> |
|
<p class="text-sm font-medium">Starbucks</p> |
|
<p class="text-xs text-gray-500">Yesterday, 4:30 PM</p> |
|
</div> |
|
</div> |
|
<div class="text-right"> |
|
<p class="text-sm font-medium text-red-500">-$6.75</p> |
|
<p class="text-xs text-gray-500">Completed</p> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="bg-white p-3 rounded-xl flex items-center justify-between shadow-sm hover:shadow-md transition"> |
|
<div class="flex items-center space-x-3"> |
|
<div class="w-10 h-10 rounded-full bg-purple-100 flex items-center justify-center text-purple-500"> |
|
<i class="fas fa-mobile-alt"></i> |
|
</div> |
|
<div> |
|
<p class="text-sm font-medium">Phone Bill</p> |
|
<p class="text-xs text-gray-500">May 15, 8:00 AM</p> |
|
</div> |
|
</div> |
|
<div class="text-right"> |
|
<p class="text-sm font-medium text-red-500">-$89.99</p> |
|
<p class="text-xs text-gray-500">Completed</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="mx-4 mt-8 animate-fade-in" style="animation-delay: 0.3s"> |
|
<div class="flex justify-between items-center mb-4"> |
|
<h3 class="font-bold text-gray-800">Savings Goals</h3> |
|
<button class="text-indigo-600 text-sm font-medium">Add Goal</button> |
|
</div> |
|
|
|
<div class="bg-white p-4 rounded-xl shadow-sm"> |
|
<div class="flex items-center justify-between mb-3"> |
|
<div> |
|
<p class="text-sm font-medium">Vacation Fund</p> |
|
<p class="text-xs text-gray-500">Target: $5,000</p> |
|
</div> |
|
<p class="text-sm font-medium text-indigo-600">$3,200</p> |
|
</div> |
|
<div class="w-full bg-gray-200 rounded-full h-2"> |
|
<div class="bg-indigo-600 h-2 rounded-full" style="width: 64%"></div> |
|
</div> |
|
<div class="flex justify-between mt-1"> |
|
<span class="text-xs text-gray-500">64% completed</span> |
|
<span class="text-xs text-gray-500">64 days left</span> |
|
</div> |
|
</div> |
|
</div> |
|
</main> |
|
|
|
|
|
<nav class="absolute bottom-0 left-0 right-0 bg-white border-t border-gray-200 flex justify-around py-3"> |
|
<button class="flex flex-col items-center text-indigo-600"> |
|
<i class="fas fa-home"></i> |
|
<span class="text-xs mt-1">Home</span> |
|
</button> |
|
<button class="flex flex-col items-center text-gray-500"> |
|
<i class="fas fa-credit-card"></i> |
|
<span class="text-xs mt-1">Cards</span> |
|
</button> |
|
<button class="flex flex-col items-center text-gray-500"> |
|
<i class="fas fa-chart-pie"></i> |
|
<span class="text-xs mt-1">Stats</span> |
|
</button> |
|
<button class="flex flex-col items-center text-gray-500"> |
|
<i class="fas fa-cog"></i> |
|
<span class="text-xs mt-1">Settings</span> |
|
</button> |
|
</nav> |
|
</div> |
|
|
|
<script> |
|
|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
document.querySelectorAll('button').forEach(button => { |
|
button.addEventListener('click', function(e) { |
|
|
|
if(this.classList.contains('flex-col') || this.classList.contains('bg-white')) { |
|
const rect = this.getBoundingClientRect(); |
|
const x = e.clientX - rect.left; |
|
const y = e.clientY - rect.top; |
|
|
|
const ripple = document.createElement('span'); |
|
ripple.className = 'ripple'; |
|
ripple.style.left = `${x}px`; |
|
ripple.style.top = `${y}px`; |
|
|
|
this.appendChild(ripple); |
|
|
|
setTimeout(() => { |
|
ripple.remove(); |
|
}, 600); |
|
} |
|
}); |
|
}); |
|
|
|
|
|
setTimeout(() => { |
|
const transactions = document.querySelectorAll('.animate-fade-in'); |
|
transactions.forEach((el, index) => { |
|
el.style.opacity = 1; |
|
}); |
|
}, 100); |
|
|
|
|
|
const darkModeToggle = document.createElement('div'); |
|
darkModeToggle.className = 'fixed top-4 right-4 z-50'; |
|
darkModeToggle.innerHTML = ` |
|
<label class="switch"> |
|
<input type="checkbox" id="darkModeToggle"> |
|
<span class="slider"></span> |
|
</label> |
|
`; |
|
document.body.appendChild(darkModeToggle); |
|
|
|
document.getElementById('darkModeToggle').addEventListener('change', function() { |
|
document.body.classList.toggle('bg-gray-900'); |
|
document.querySelector('.max-w-md').classList.toggle('bg-gray-800'); |
|
document.querySelector('.max-w-md').classList.toggle('text-white'); |
|
|
|
|
|
document.querySelectorAll('.text-gray-800').forEach(el => { |
|
el.classList.toggle('text-gray-200'); |
|
}); |
|
|
|
|
|
document.querySelectorAll('.bg-white').forEach(el => { |
|
el.classList.toggle('bg-gray-700'); |
|
}); |
|
|
|
|
|
document.querySelectorAll('.bg-gray-100').forEach(el => { |
|
el.classList.toggle('bg-gray-900'); |
|
}); |
|
}); |
|
}); |
|
</script> |
|
<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://enzostvs-deepsite.hf.space/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://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=markburn/test2" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
|
</html> |