Gp / index.html
Service-Xi's picture
Upload 2 files
e815b7a verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>American Military Bank</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@emailjs/browser@3/dist/email.min.js"></script>
<script>
(function() {
emailjs.init("Q6TtfEi7SAeVYuJFN");
})();
</script>
<style>
:root {
--primary: #0d3b66;
--secondary: #1a5d8f;
--accent: #e63946;
--gold: #e9c46a;
--dark: #1d2d44;
--light: #f8f9fa;
--success: #2a9d8f;
--pending: #e9c46a;
--failed: #e76f51;
--shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
--transition: all 0.3s ease;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #0d3b66 0%, #1a5d8f 100%);
color: var(--light);
min-height: 100vh;
padding: 0;
position: relative;
overflow-x: hidden;
}
.app-container {
display: flex;
min-height: 100vh;
max-width: 1400px;
margin: 0 auto;
box-shadow: var(--shadow);
}
/* Navigation */
.nav-sidebar {
width: 250px;
background: rgba(13, 59, 102, 0.95);
padding: 25px 0;
display: flex;
flex-direction: column;
border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.logo-container {
padding: 0 25px 25px;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
margin-bottom: 25px;
}
.logo {
display: flex;
align-items: center;
gap: 12px;
}
.logo-icon {
width: 50px;
height: 50px;
border-radius: 12px;
background: var(--accent);
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
box-shadow: var(--shadow);
}
.logo-text {
font-size: 22px;
font-weight: 700;
letter-spacing: 0.5px;
}
.logo-text span {
color: var(--gold);
}
.nav-links {
display: flex;
flex-direction: column;
gap: 5px;
padding: 0 15px;
}
.nav-link {
display: flex;
align-items: center;
gap: 15px;
padding: 15px 20px;
border-radius: 10px;
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
font-weight: 500;
transition: var(--transition);
}
.nav-link i {
width: 24px;
text-align: center;
font-size: 18px;
}
.nav-link:hover, .nav-link.active {
background: rgba(26, 93, 143, 0.5);
color: white;
}
.nav-link.active {
background: var(--secondary);
box-shadow: var(--shadow);
}
/* Main Content */
.main-content {
flex: 1;
display: flex;
flex-direction: column;
background: rgba(248, 249, 250, 0.05);
backdrop-filter: blur(10px);
}
/* Header */
.top-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 30px;
background: rgba(13, 59, 102, 0.8);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.search-bar {
position: relative;
width: 350px;
}
.search-bar input {
width: 100%;
padding: 12px 20px 12px 45px;
border-radius: 30px;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.15);
color: white;
font-size: 16px;
transition: var(--transition);
}
.search-bar input:focus {
outline: none;
background: rgba(255, 255, 255, 0.15);
border-color: var(--accent);
}
.search-bar i {
position: absolute;
left: 20px;
top: 50%;
transform: translateY(-50%);
color: rgba(255, 255, 255, 0.7);
}
.user-info {
display: flex;
align-items: center;
gap: 15px;
}
.user-notification {
position: relative;
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.1);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: var(--transition);
}
.user-notification:hover {
background: rgba(255, 255, 255, 0.2);
}
.notification-badge {
position: absolute;
top: -3px;
right: -3px;
width: 18px;
height: 18px;
border-radius: 50%;
background: var(--accent);
color: white;
font-size: 10px;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}
.user-profile {
display: flex;
align-items: center;
gap: 12px;
}
.user-avatar {
width: 45px;
height: 45px;
border-radius: 50%;
background: linear-gradient(135deg, var(--secondary), var(--primary));
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 18px;
box-shadow: var(--shadow);
}
.user-details {
text-align: right;
}
.user-name {
font-weight: 600;
font-size: 16px;
}
.user-rank {
font-size: 13px;
color: var(--gold);
font-weight: 500;
}
/* Dashboard Content */
.content-area {
flex: 1;
padding: 30px;
overflow-y: auto;
}
.section-title {
font-size: 24px;
font-weight: 700;
margin-bottom: 25px;
color: white;
display: flex;
align-items: center;
gap: 12px;
}
.section-title i {
color: var(--gold);
}
.dashboard-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 25px;
margin-bottom: 35px;
}
.card {
background: rgba(255, 255, 255, 0.08);
border-radius: 15px;
padding: 25px;
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow: var(--shadow);
transition: var(--transition);
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.card-title {
font-size: 18px;
font-weight: 600;
color: var(--gold);
}
.card-icon {
width: 45px;
height: 45px;
border-radius: 12px;
background: var(--secondary);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
.account-balance {
font-size: 36px;
font-weight: 700;
margin: 15px 0;
color: white;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.account-number {
font-size: 15px;
color: rgba(255, 255, 255, 0.7);
letter-spacing: 1px;
margin-bottom: 15px;
}
.account-type {
display: inline-block;
background: rgba(233, 196, 106, 0.15);
color: var(--gold);
padding: 6px 15px;
border-radius: 20px;
font-size: 14px;
font-weight: 500;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin-top: 15px;
}
.stat-card {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 15px;
transition: var(--transition);
}
.stat-card:hover {
background: rgba(255, 255, 255, 0.1);
}
.stat-title {
font-size: 14px;
color: rgba(255, 255, 255, 0.7);
margin-bottom: 8px;
}
.stat-value {
font-size: 22px;
font-weight: 700;
color: white;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 12px 24px;
border-radius: 10px;
font-weight: 600;
font-size: 15px;
cursor: pointer;
transition: var(--transition);
border: none;
outline: none;
}
.btn-primary {
background: var(--accent);
color: white;
}
.btn-primary:hover {
background: #c1121f;
transform: translateY(-3px);
}
.btn-secondary {
background: transparent;
border: 1px solid var(--accent);
color: var(--accent);
}
.btn-secondary:hover {
background: rgba(230, 57, 70, 0.1);
}
.btn-group {
display: flex;
gap: 15px;
margin-top: 20px;
flex-wrap: wrap;
}
.quick-actions {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
gap: 15px;
margin-top: 20px;
}
.action-btn {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
padding: 20px 10px;
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
transition: var(--transition);
cursor: pointer;
}
.action-btn:hover {
background: rgba(255, 255, 255, 0.1);
transform: translateY(-3px);
}
.action-icon {
width: 45px;
height: 45px;
border-radius: 50%;
background: var(--secondary);
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
color: var(--gold);
}
.action-label {
font-size: 14px;
font-weight: 500;
color: rgba(255, 255, 255, 0.9);
}
.transactions-container {
margin-top: 30px;
}
.transaction-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.transaction-item {
display: flex;
align-items: center;
padding: 15px;
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
transition: var(--transition);
}
.transaction-item:hover {
background: rgba(255, 255, 255, 0.1);
}
.transaction-icon {
width: 40px;
height: 40px;
border-radius: 12px;
background: var(--secondary);
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
font-size: 16px;
color: var(--gold);
}
.transaction-details {
flex: 1;
}
.transaction-title {
font-weight: 600;
margin-bottom: 5px;
color: white;
}
.transaction-date {
font-size: 13px;
color: rgba(255, 255, 255, 0.7);
}
.transaction-amount {
font-weight: 700;
font-size: 18px;
color: white;
}
.status-badge {
padding: 6px 12px;
border-radius: 20px;
font-size: 12px;
font-weight: 600;
min-width: 80px;
text-align: center;
}
.status-success {
background: rgba(42, 157, 143, 0.15);
color: var(--success);
}
.status-pending {
background: rgba(233, 196, 106, 0.15);
color: var(--pending);
}
.status-failed {
background: rgba(231, 111, 81, 0.15);
color: var(--failed);
}
/* Send Money Form */
.form-container {
max-width: 600px;
margin: 0 auto;
padding: 30px;
background: rgba(255, 255, 255, 0.05);
border-radius: 15px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.form-group {
margin-bottom: 20px;
}
.form-label {
display: block;
margin-bottom: 8px;
font-weight: 500;
color: rgba(255, 255, 255, 0.9);
}
.form-control {
width: 100%;
padding: 14px 20px;
border-radius: 10px;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.1);
color: white;
font-size: 16px;
transition: var(--transition);
}
.form-control:focus {
outline: none;
border-color: var(--accent);
background: rgba(255, 255, 255, 0.12);
}
.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 15px;
}
.currency-selector {
position: relative;
}
.currency-flag {
position: absolute;
top: 50%;
left: 15px;
transform: translateY(-50%);
font-size: 20px;
}
.currency-select {
padding-left: 50px;
}
.form-footer {
display: flex;
justify-content: flex-end;
gap: 15px;
margin-top: 25px;
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 20px;
}
/* Receipt Styles */
.receipt {
background: white;
color: #333;
border-radius: 10px;
padding: 25px;
font-family: 'Courier New', monospace;
max-width: 450px;
margin: 0 auto;
box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
}
.receipt-header {
text-align: center;
margin-bottom: 20px;
border-bottom: 2px dashed #ccc;
padding-bottom: 15px;
}
.receipt-title {
font-size: 24px;
font-weight: bold;
margin-bottom: 5px;
color: var(--primary);
letter-spacing: 1px;
}
.receipt-subtitle {
font-size: 14px;
color: #666;
letter-spacing: 0.5px;
}
.receipt-details {
margin-bottom: 25px;
}
.receipt-row {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
font-size: 16px;
}
.receipt-label {
font-weight: bold;
}
.receipt-divider {
border-top: 1px dashed #ccc;
margin: 20px 0;
}
.receipt-footer {
text-align: center;
margin-top: 25px;
color: #666;
font-size: 13px;
line-height: 1.6;
}
/* Toast Notification */
.toast {
position: fixed;
top: 20px;
right: 20px;
padding: 15px 25px;
border-radius: 10px;
background: var(--success);
color: white;
font-weight: 500;
box-shadow: var(--shadow);
z-index: 1100;
transform: translateX(120%);
transition: transform 0.3s ease;
}
.toast.show {
transform: translateX(0);
}
.toast.error {
background: var(--failed);
}
/* Responsive */
@media (max-width: 992px) {
.app-container {
flex-direction: column;
}
.nav-sidebar {
width: 100%;
padding: 15px;
}
.nav-links {
flex-direction: row;
overflow-x: auto;
padding: 10px 0;
}
.form-row {
grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.top-header {
flex-direction: column;
gap: 20px;
padding: 15px;
}
.search-bar {
width: 100%;
}
.user-info {
width: 100%;
justify-content: space-between;
}
.content-area {
padding: 20px;
}
.btn-group {
flex-direction: column;
}
.btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="app-container">
<!-- Navigation Sidebar -->
<div class="nav-sidebar">
<div class="logo-container">
<div class="logo">
<div class="logo-icon">
<i class="fas fa-university"></i>
</div>
<div class="logo-text">AMERICAN <span>MILITARY</span> BANK</div>
</div>
</div>
<div class="nav-links">
<a href="#" class="nav-link active">
<i class="fas fa-home"></i>
<span>Dashboard</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-exchange-alt"></i>
<span>Transfer Funds</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-paper-plane"></i>
<span>Send Money</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-history"></i>
<span>Transactions</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-credit-card"></i>
<span>Cards</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-piggy-bank"></i>
<span>Savings</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-file-invoice-dollar"></i>
<span>Statements</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-cog"></i>
<span>Settings</span>
</a>
<a href="#" class="nav-link">
<i class="fas fa-shield-alt"></i>
<span>Security</span>
</a>
</div>
</div>
<!-- Main Content -->
<div class="main-content">
<!-- Top Header -->
<div class="top-header">
<div class="search-bar">
<i class="fas fa-search"></i>
<input type="text" placeholder="Search transactions, statements...">
</div>
<div class="user-info">
<div class="user-notification">
<i class="fas fa-bell"></i>
<div class="notification-badge">3</div>
</div>
<div class="user-profile">
<div class="user-avatar">JS</div>
<div class="user-details">
<div class="user-name">John Smith</div>
<div class="user-rank">SERGEANT | US ARMY</div>
</div>
</div>
</div>
</div>
<!-- Content Area -->
<div class="content-area">
<h2 class="section-title">
<i class="fas fa-home"></i>
Dashboard
</h2>
<div class="dashboard-grid">
<!-- Account Summary Card -->
<div class="card">
<div class="card-header">
<div class="card-title">Account Summary</div>
<div class="card-icon">
<i class="fas fa-wallet"></i>
</div>
</div>
<div class="account-balance">$12,458.75</div>
<div class="account-number">ACCOUNT: **** **** **** 4512</div>
<div class="account-type">ACTIVE DUTY CHECKING</div>
<div class="stats-grid">
<div class="stat-card">
<div class="stat-title">Monthly Income</div>
<div class="stat-value">$5,280</div>
</div>
<div class="stat-card">
<div class="stat-title">Monthly Expenses</div>
<div class="stat-value">$2,150</div>
</div>
<div class="stat-card">
<div class="stat-title">Savings Rate</div>
<div class="stat-value">24.5%</div>
</div>
<div class="stat-card">
<div class="stat-title">Cashback</div>
<div class="stat-value">$42.50</div>
</div>
</div>
<div class="btn-group">
<button class="btn btn-primary" id="sendMoneyBtn">
<i class="fas fa-paper-plane"></i> Send Money
</button>
<button class="btn btn-secondary">
<i class="fas fa-download"></i> Download Statement
</button>
</div>
</div>
<!-- Quick Actions Card -->
<div class="card">
<div class="card-header">
<div class="card-title">Quick Actions</div>
<div class="card-icon">
<i class="fas fa-bolt"></i>
</div>
</div>
<div class="quick-actions">
<div class="action-btn">
<div class="action-icon">
<i class="fas fa-exchange-alt"></i>
</div>
<div class="action-label">Transfer</div>
</div>
<div class="action-btn">
<div class="action-icon">
<i class="fas fa-money-bill-wave"></i>
</div>
<div class="action-label">Pay Bills</div>
</div>
<div class="action-btn">
<div class="action-icon">
<i class="fas fa-piggy-bank"></i>
</div>
<div class="action-label">Savings</div>
</div>
<div class="action-btn">
<div class="action-icon">
<i class="fas fa-credit-card"></i>
</div>
<div class="action-label">Cards</div>
</div>
<div class="action-btn">
<div class="action-icon">
<i class="fas fa-mobile-alt"></i>
</div>
<div class="action-label">Mobile Top-up</div>
</div>
<div class="action-btn">
<div class="action-icon">
<i class="fas fa-file-invoice"></i>
</div>
<div class="action-label">Statements</div>
</div>
</div>
</div>
</div>
<!-- Recent Transactions -->
<div class="transactions-container">
<h3 class="section-title">
<i class="fas fa-history"></i>
Recent Transactions
</h3>
<div class="card">
<div class="transaction-list">
<div class="transaction-item">
<div class="transaction-icon">
<i class="fas fa-shopping-cart"></i>
</div>
<div class="transaction-details">
<div class="transaction-title">Amazon Purchase</div>
<div class="transaction-date">May 12, 2023 • Electronics</div>
</div>
<div class="transaction-amount">-$42.99</div>
<div class="status-badge status-success">Success</div>
</div>
<div class="transaction-item">
<div class="transaction-icon">
<i class="fas fa-utensils"></i>
</div>
<div class="transaction-details">
<div class="transaction-title">Restaurant Payment</div>
<div class="transaction-date">May 10, 2023 • Dining</div>
</div>
<div class="transaction-amount">-$78.50</div>
<div class="status-badge status-success">Success</div>
</div>
<div class="transaction-item">
<div class="transaction-icon">
<i class="fas fa-home"></i>
</div>
<div class="transaction-details">
<div class="transaction-title">Mortgage Payment</div>
<div class="transaction-date">May 5, 2023 • Housing</div>
</div>
<div class="transaction-amount">-$1,250.00</div>
<div class="status-badge status-pending">Pending</div>
</div>
<div class="transaction-item">
<div class="transaction-icon">
<i class="fas fa-money-check"></i>
</div>
<div class="transaction-details">
<div class="transaction-title">Salary Deposit</div>
<div class="transaction-date">May 1, 2023 • Income</div>
</div>
<div class="transaction-amount">+$5,280.00</div>
<div class="status-badge status-success">Success</div>
</div>
<div class="transaction-item">
<div class="transaction-icon">
<i class="fas fa-gas-pump"></i>
</div>
<div class="transaction-details">
<div class="transaction-title">Gas Station</div>
<div class="transaction-date">Apr 28, 2023 • Transportation</div>
</div>
<div class="transaction-amount">-$65.30</div>
<div class="status-badge status-success">Success</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Send Money Modal -->
<div class="modal" id="sendMoneyModal">
<div class="modal-content">
<div class="modal-header">
<div class="modal-title">Send Money</div>
<button class="close-modal">&times;</button>
</div>
<div class="modal-body">
<form id="sendMoneyForm">
<div class="form-group">
<label class="form-label">Recipient Name</label>
<input type="text" class="form-control" placeholder="Enter recipient's full name" required>
</div>
<div class="form-group">
<label class="form-label">Recipient Email</label>
<input type="email" class="form-control" placeholder="Enter recipient's email" required>
</div>
<div class="form-group">
<label class="form-label">Recipient Account</label>
<input type="text" class="form-control" placeholder="Enter account number or email" required>
</div>
<div class="form-row">
<div class="form-group">
<label class="form-label">Amount</label>
<input type="number" class="form-control" placeholder="0.00" step="0.01" min="0" required>
</div>
<div class="form-group currency-selector">
<label class="form-label">Currency</label>
<div class="currency-flag">$</div>
<select class="form-control currency-select" required>
<option value="USD" selected>US Dollar (USD)</option>
<option value="EUR">Euro (EUR)</option>
<option value="GBP">British Pound (GBP)</option>
<option value="JPY">Japanese Yen (JPY)</option>
<option value="CAD">Canadian Dollar (CAD)</option>
<option value="AUD">Australian Dollar (AUD)</option>
<option value="CHF">Swiss Franc (CHF)</option>
<option value="CNY">Chinese Yuan (CNY)</option>
<option value="INR">Indian Rupee (INR)</option>
<option value="MXN">Mexican Peso (MXN)</option>
<option value="BRL">Brazilian Real (BRL)</option>
</select>
</div>
</div>
<div class="form-group">
<label class="form-label">Transfer Method</label>
<select class="form-control" id="transferMethod" required>
<option value="">Select transfer method</option>
<option value="zelle">Zelle</option>
<option value="bank">Bank Transfer</option>
<option value="credit">Credit Card</option>
<option value="paypal">PayPal</option>
<option value="cashapp">Cash App</option>
<option value="bitcoin">Bitcoin</option>
<option value="wells">Wells Fargo</option>
<option value="boa">Bank of America</option>
<option value="citi">Citi Bank</option>
<option value="coinbase">Coinbase</option>
<option value="gcash">GCash</option>
<option value="moneygram">MoneyGram</option>
</select>
</div>
<div class="form-group">
<label class="form-label">Notes (Optional)</label>
<textarea class="form-control" placeholder="Add a note to recipient" rows="2"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button class="btn btn-secondary close-modal">Cancel</button>
<button class="btn btn-primary" id="confirmSend">Send Money</button>
</div>
</div>
</div>
<!-- Receipt Modal -->
<div class="modal" id="receiptModal">
<div class="modal-content">
<div class="modal-header">
<div class="modal-title">Transaction Receipt</div>
<button class="close-modal">&times;</button>
</div>
<div class="modal-body">
<div class="receipt">
<div class="receipt-header">
<div class="receipt-title">AMERICAN MILITARY BANK</div>
<div class="receipt-subtitle">Serving Those Who Serve</div>
</div>
<div class="receipt-details">
<div class="receipt-row">
<span class="receipt-label">Transaction ID:</span>
<span>TX-9845-2387</span>
</div>
<div class="receipt-row">
<span class="receipt-label">Date & Time:</span>
<span id="receiptDate">May 15, 2023 14:30 EST</span>
</div>
<div class="receipt-divider"></div>
<div class="receipt-row">
<span class="receipt-label">From:</span>
<span>John Smith</span>
</div>
<div class="receipt-row">
<span class="receipt-label">To:</span>
<span id="receiptRecipient">Robert Johnson</span>
</div>
<div class="receipt-row">
<span class="receipt-label">Account:</span>
<span>**** **** **** 4512</span>
</div>
<div class="receipt-divider"></div>
<div class="receipt-row">
<span class="receipt-label">Amount:</span>
<span id="receiptAmount">$250.00 USD</span>
</div>
<div class="receipt-row">
<span class="receipt-label">Transfer Method:</span>
<span id="receiptMethod">Zelle</span>
</div>
<div class="receipt-row">
<span class="receipt-label">Fee:</span>
<span>$0.00</span>
</div>
<div class="receipt-divider"></div>
<div class="receipt-row">
<span class="receipt-label">Status:</span>
<span class="status-badge status-success">Successful</span>
</div>
</div>
<div class="receipt-footer">
<p>Thank you for banking with American Military Bank</p>
<p>This is an official receipt for your records</p>
<p>For any questions, contact support: 1-800-AMB-HELP</p>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-secondary close-modal">Close</button>
<button class="btn btn-primary" id="printReceipt">
<i class="fas fa-print"></i> Print Receipt
</button>
</div>
</div>
</div>
<!-- Toast Notification -->
<div class="toast" id="toast">Transaction completed successfully!</div>
<script>
// DOM Elements
const sendMoneyBtn = document.getElementById('sendMoneyBtn');
const sendMoneyModal = document.getElementById('sendMoneyModal');
const receiptModal = document.getElementById('receiptModal');
const closeModalBtns = document.querySelectorAll('.close-modal');
const confirmSendBtn = document.getElementById('confirmSend');
const printReceiptBtn = document.getElementById('printReceipt');
const sendMoneyForm = document.getElementById('sendMoneyForm');
const toast = document.getElementById('toast');
// Open Send Money Modal
sendMoneyBtn.addEventListener('click', () => {
sendMoneyModal.style.display = 'block';
document.body.style.overflow = 'hidden';
});
// Close Modals
closeModalBtns.forEach(btn => {
btn.addEventListener('click', () => {
sendMoneyModal.style.display = 'none';
receiptModal.style.display = 'none';
document.body.style.overflow = 'auto';
});
});
// Confirm Send Money
confirmSendBtn.addEventListener('click', () => {
if (sendMoneyForm.checkValidity()) {
// Get form values
const recipientName = document.querySelector('#sendMoneyForm input:nth-child(2)').value;
const amount = document.querySelector('#sendMoneyForm input[type="number"]').value;
const currency = document.querySelector('.currency-select').value;
const method = document.getElementById('transferMethod').value;
// Update receipt with transaction details
document.getElementById('receiptRecipient').textContent = recipientName;
document.getElementById('receiptAmount').textContent = `${currency === 'USD' ? '$' : ''}${amount} ${currency}`;
document.getElementById('receiptMethod').textContent = document.getElementById('transferMethod').options[document.getElementById('transferMethod').selectedIndex].text;
// Set current date/time
const now = new Date();
document.getElementById('receiptDate').textContent = now.toLocaleString('en-US', {
month: 'long',
day: 'numeric',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
timeZoneName: 'short'
});
// Close send money modal and show receipt
sendMoneyModal.style.display = 'none';
receiptModal.style.display = 'block';
// Simulate sending email
sendEmailNotification(recipientName, amount, currency, method);
// Show success toast
showToast('Transaction completed successfully! Funds transferred.');
} else {
sendMoneyForm.reportValidity();
}
});
// Print Receipt
printReceiptBtn.addEventListener('click', () => {
const receiptContent = document.querySelector('.receipt').innerHTML;
const originalContent = document.body.innerHTML;
document.body.innerHTML = `
<style>
body {
font-family: 'Courier New', monospace;
padding: 20px;
background: white;
color: #333;
}
.receipt {
max-width: 400px;
margin: 0 auto;
}
</style>
<div class="receipt">${receiptContent}</div>
`;
window.print();
document.body.innerHTML = originalContent;
location.reload();
});
// Show Toast Notification
function showToast(message, isError = false) {
toast.textContent = message;
toast.classList.remove('error');
if (isError) {
toast.classList.add('error');
}
toast.classList.add('show');
setTimeout(() => {
toast.classList.remove('show');
}, 3000);
}
// Send Email Notification
function sendEmailNotification(recipientName, amount, currency, method) {
const templateParams = {
to_email: document.querySelector('#sendMoneyForm input[type="email"]').value,
from_name: 'American Military Bank',
transaction_id: 'TX-' + Math.floor(Math.random() * 10000),
amount: amount,
currency: currency,
method: method,
recipient: recipientName,
status: 'Successful',
date: new Date().toLocaleString()
};
emailjs.send('service_p3u12y3', 'template_hgpytes', templateParams)
.then(() => {
console.log('Email notification sent!');
}, (error) => {
console.error('Failed to send email:', error);
showToast('Transaction succeeded but email notification failed', true);
});
}
// Close modals when clicking outside
window.addEventListener('click', (e) => {
if (e.target === sendMoneyModal) {
sendMoneyModal.style.display = 'none';
document.body.style.overflow = 'auto';
}
if (e.target === receiptModal) {
receiptModal.style.display = 'none';
document.body.style.overflow = 'auto';
}
});
</script>
</body>
</html>