Repository navigation
y #127
Copy link
Copy link
Open
Description
<title>Digital Emas - Beranda</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Arial, sans-serif;
}
body {
background: #fff;
color: #000;
}
.container {
max-width: 480px;
margin: 0 auto;
background: #fff;
padding: 20px;
min-height: 100vh;
padding-bottom: 90px;
}
/* Header */
.header-top {
text-align: left;
margin-bottom: 10px;
}
.tagline-top {
color: #d4a017;
font-size: 18px;
font-weight: 600;
letter-spacing: 1px;
}
.logo-title {
font-size: 42px;
font-weight: bold;
}
.text-blue { color: #0b3d91; }
.text-gold { color: #e6b800; }
.subtitle {
font-size: 14px;
color: #555;
margin-top: 4px;
}
.gold-bars {
text-align: right;
margin-top: -90px;
}
.gold-bars span {
font-size: 80px;
}
/* Indikator Halaman Aktif */
.page-indicator {
background: linear-gradient(90deg, #e8f0fe, #fef8e7);
border-radius: 20px;
padding: 8px 16px;
margin: 12px 0 20px;
display: inline-flex;
align-items: center;
gap: 8px;
}
.page-indicator span {
font-size: 14px;
font-weight: 600;
color: #0b3d91;
}
.page-indicator .home-icon {
font-size: 18px;
}
/* Saldo Card */
.balance-card {
background: linear-gradient(135deg, #0b4896, #1565c0);
border-radius: 16px;
padding: 24px 20px;
margin: 10px 0 20px;
color: white;
position: relative;
box-shadow: 0 4px 12px rgba(11, 72, 150, 0.15);
}
.balance-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 12px;
}
.balance-title {
font-size: 18px;
font-weight: 600;
}
.eye-icon {
font-size: 20px;
}
.balance-buttons {
display: flex;
flex-direction: column;
gap: 8px;
}
.btn {
padding: 10px 24px;
border-radius: 8px;
border: none;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: opacity 0.2s;
}
.btn:hover {
opacity: 0.9;
}
.btn-white {
background: white;
color: #0b4896;
}
.btn-blue {
background: #1976d2;
color: white;
}
.balance-amount {
font-size: 42px;
font-weight: bold;
margin: 8px 0;
}
.active-status {
font-size: 14px;
opacity: 0.8;
display: flex;
align-items: center;
gap: 6px;
}
.dot {
width: 8px;
height: 8px;
background: #4caf50;
border-radius: 50%;
}
.balance-row {
display: flex;
justify-content: space-between;
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid rgba(255,255,255,0.2);
}
.balance-col label {
font-size: 14px;
opacity: 0.75;
display: block;
margin-bottom: 4px;
}
.balance-col span {
font-size: 18px;
font-weight: 600;
}
/* GRAFIK HARGA EMAS */
.chart-section {
background: #f8fafc;
border-radius: 16px;
padding: 24px 20px;
margin-bottom: 24px;
}
.chart-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.chart-title {
font-size: 20px;
font-weight: 600;
color: #0b3d91;
}
.current-price {
text-align: right;
}
.price-value {
font-size: 22px;
font-weight: bold;
color: #000;
}
.price-change {
font-size: 14px;
font-weight: 600;
margin-top: 2px;
}
.price-change.up {
color: #10b981;
}
.price-change.down {
color: #ef4444;
}
.time-tabs {
display: flex;
gap: 8px;
margin-bottom: 20px;
overflow-x: auto;
padding-bottom: 4px;
}
.time-tab {
padding: 6px 14px;
border-radius: 16px;
font-size: 13px;
border: none;
background: #eee;
color: #666;
cursor: pointer;
transition: all 0.2s;
white-space: nowrap;
}
.time-tab.active {
background: #0b4896;
color: white;
}
.chart-container {
position: relative;
height: 250px;
margin-bottom: 20px;
}
.stats-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.stat-card {
background: white;
border-radius: 10px;
padding: 14px;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.stat-label {
font-size: 12px;
color: #777;
margin-bottom: 4px;
}
.stat-value {
font-size: 16px;
font-weight: 600;
}
.stat-value.up { color: #10b981; }
.stat-value.down { color: #ef4444; }
/* Menu Icons */
.menu-grid {
display: flex;
justify-content: space-between;
margin: 30px 0;
flex-wrap: wrap;
}
.menu-item {
text-align: center;
cursor: pointer;
transition: transform 0.2s;
}
.menu-item:hover {
transform: scale(1.05);
}
.menu-icon {
width: 60px;
height: 60px;
background: linear-gradient(135deg, #d4a017, #f0c808);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
margin-bottom: 8px;
}
.menu-label {
font-size: 14px;
color: #333;
}
/* Testimoni Section */
.testimoni-section {
background: #f8fafc;
border-radius: 16px;
padding: 24px 20px;
margin-bottom: 24px;
}
.testimoni-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.testimoni-title {
font-size: 20px;
font-weight: 600;
color: #0b3d91;
}
.testimoni-grid {
display: flex;
flex-direction: column;
gap: 16px;
}
.testimoni-card {
background: white;
border-radius: 12px;
padding: 16px;
box-shadow: 0 2px 6px rgba(0,0,0,0.05);
border-left: 4px solid #4caf50;
}
.testimoni-header-card {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
}
.testimoni-user {
display: flex;
align-items: center;
gap: 10px;
}
.user-avatar {
width: 40px;
height: 40px;
background: linear-gradient(135deg, #0b4896, #1565c0);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 18px;
font-weight: bold;
}
.user-info h4 {
font-size: 15px;
font-weight: 600;
color: #333;
}
.user-info p {
font-size: 12px;
color: #888;
}
.testimoni-stars {
color: #f59e0b;
font-size: 14px;
}
.testimoni-text {
font-size: 14px;
color: #444;
line-height: 1.6;
margin-bottom: 8px;
}
.testimoni-badge {
display: inline-block;
background: #e8f5e9;
color: #2e7d32;
font-size: 11px;
padding: 2px 8px;
border-radius: 10px;
font-weight: 600;
}
.help-center {
display: flex;
align-items: center;
gap: 10px;
margin: 20px 0;
font-size: 18px;
font-weight: 600;
color: #333;
}
/* Bottom Nav */
.bottom-nav {
display: flex;
justify-content: space-around;
padding-top: 12px;
border-top: 1px solid #eee;
margin-top: 10px;
position: fixed;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100%;
max-width: 480px;
background: white;
padding-bottom: 15px;
box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
}
.nav-item {
text-align: center;
font-size: 12px;
color: #888;
padding: 4px 12px;
border-radius: 8px;
transition: all 0.2s;
cursor: pointer;
}
.nav-item.active {
color: #0b3d91;
font-weight: 600;
}
.nav-item.active .nav-icon {
transform: scale(1.1);
}
.nav-icon {
font-size: 22px;
margin-bottom: 4px;
transition: transform 0.2s;
}
.nav-center {
width: 56px;
height: 56px;
background: linear-gradient(135deg, #d4a017, #f0c808);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 26px;
margin-top: -16px;
box-shadow: 0 3px 8px rgba(212, 160, 23, 0.3);
}
/* OVERLAY & POPUP */
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 99;
justify-content: center;
align-items: center;
}
.overlay.active {
display: flex;
}
.popup {
background: white;
border-radius: 16px;
width: 90%;
max-width: 420px;
padding: 24px;
animation: popupFade 0.3s ease;
max-height: 90vh;
overflow-y: auto;
}
@Keyframes popupFade {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.popup-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.popup-title {
font-size: 20px;
font-weight: 600;
color: #0b3d91;
}
.close-btn {
font-size: 24px;
cursor: pointer;
color: #888;
}
.form-group {
margin-bottom: 16px;
}
.form-label {
display: block;
font-size: 14px;
color: #555;
margin-bottom: 6px;
}
.form-input, .form-select {
width: 100%;
padding: 12px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 16px;
}
.form-input:focus, .form-select:focus {
outline: none;
border-color: #0b4896;
}
.submit-btn {
width: 100%;
padding: 14px;
background: linear-gradient(135deg, #0b4896, #1565c0);
color: white;
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: opacity 0.2s;
}
.submit-btn:hover {
opacity: 0.95;
}
.note-text {
font-size: 12px;
color: #888;
margin-top: 12px;
text-align: center;
}
.success-message {
display: none;
text-align: center;
padding: 20px 0;
animation: fadeIn 0.4s ease;
}
@Keyframes fadeIn {
from { opacity: 0; transform: scale(0.9); }
to { opacity: 1; transform: scale(1); }
}
.success-icon {
font-size: 60px;
color: #4caf50;
margin-bottom: 16px;
}
.success-title {
font-size: 22px;
font-weight: bold;
color: #2e7d32;
margin-bottom: 8px;
}
.success-text {
font-size: 15px;
color: #555;
margin-bottom: 20px;
}
.close-success-btn {
background: #4caf50;
color: white;
border: none;
padding: 10px 24px;
border-radius: 6px;
font-size: 15px;
cursor: pointer;
}
.form-content {
transition: opacity 0.3s ease;
}
.form-content.hidden {
display: none;
}
.info-box {
background: #e8f0fe;
border-radius: 8px;
padding: 12px;
margin-bottom: 16px;
font-size: 13px;
color: #0b3d91;
}
.withdraw-nominal {
display: flex;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 16px;
}
.withdraw-nominal button {
padding: 8px 12px;
border: 1px solid #ddd;
background: white;
border-radius: 6px;
cursor: pointer;
font-size: 14px;
}
.withdraw-nominal button:hover {
border-color: #0b4896;
background: #e8f0fe;
}
</style>
Emas · Logam Mulia
Digital Emas
Investasi Emas Dengan Mudah, Aman, Menguntungkan
🥇🥈
<!-- ✅ INDIKATOR SEDANG DI BERANDA -->
<div class="page-indicator">
<span class="home-icon">🏠</span>
<span>Anda sedang di Beranda</span>
</div>
<!-- Saldo Card -->
<div class="balance-card">
<div class="balance-header">
<div>
<span class="balance-title">Ringkasan Saldo</span>
<span class="eye-icon">👁️</span>
<div class="balance-amount">Rp 0</div>
<div class="active-status"><span class="dot"></span> Akun aktif</div>
</div>
<div class="balance-buttons">
<button class="btn btn-white" id="btnIsiSaldo">Isi Saldo</button>
<button class="btn btn-blue" id="btnTarikSaldo">Tarik Saldo</button>
</div>
</div>
<div class="balance-row">
<div class="balance-col">
<label>Saldo utama</label>
<span>Rp 0</span>
</div>
<div class="balance-col">
<label>Saldo penarikan</label>
<span>Rp 0</span>
</div>
</div>
</div>
<!-- GRAFIK HARGA EMAS -->
<div class="chart-section" id="chartSection">
<div class="chart-header">
<div>
<h3 class="chart-title">📈 Grafik Harga Emas</h3>
</div>
<div class="current-price">
<div class="price-value" id="currentPrice">Rp 2.385.871</div>
<div class="price-change up" id="priceChange">▲ +0.07%</div>
</div>
</div>
<div class="time-tabs">
<button class="time-tab" data-period="1H">1 Jam</button>
<button class="time-tab active" data-period="24H">24 Jam</button>
<button class="time-tab" data-period="7H">7 Hari</button>
<button class="time-tab" data-period="1B">1 Bulan</button>
<button class="time-tab" data-period="1T">1 Tahun</button>
</div>
<div class="chart-container">
<canvas id="goldChart"></canvas>
</div>
<div class="stats-grid">
<div class="stat-card">
<div class="stat-label">Harga Terendah</div>
<div class="stat-value" id="lowPrice">Rp 2.381.500</div>
</div>
<div class="stat-card">
<div class="stat-label">Harga Tertinggi</div>
<div class="stat-value up" id="highPrice">Rp 2.385.871</div>
</div>
<div class="stat-card">
<div class="stat-label">Rata-rata</div>
<div class="stat-value" id="avgPrice">Rp 2.383.739</div>
</div>
<div class="stat-card">
<div class="stat-label">Perubahan</div>
<div class="stat-value up" id="changeValue">+Rp 3.871</div>
</div>
</div>
</div>
<!-- Menu -->
<div class="menu-grid">
<div class="menu-item" id="menuIsiSaldo">
<div class="menu-icon">✉️</div>
<div class="menu-label">Isi Saldo</div>
</div>
<div class="menu-item" id="menuChart">
<div class="menu-icon">📊</div>
<div class="menu-label">Grafik Emas</div>
</div>
<div class="menu-item">
<div class="menu-icon">✅</div>
<div class="menu-label">Check-in</div>
</div>
<div class="menu-item">
<div class="menu-icon">⬇️</div>
<div class="menu-label">Unduh</div>
</div>
<div class="menu-item" id="menuTestimoni">
<div class="menu-icon">💬</div>
<div class="menu-label">Testimoni</div>
</div>
</div>
<!-- Testimoni Section -->
<div class="testimoni-section" id="testimoniSection">
<div class="testimoni-header">
<h3 class="testimoni-title">💬 Testimoni Pengguna</h3>
</div>
<div class="testimoni-grid">
<div class="testimoni-card">
<div class="testimoni-header-card">
<div class="testimoni-user">
<div class="user-avatar">S</div>
<div class="user-info">
<h4>Siti Aminah</h4>
<p>✅ Pengguna Terverifikasi</p>
</div>
</div>
<div class="testimoni-stars">⭐⭐⭐⭐⭐</div>
</div>
<p class="testimoni-text">Alhamdulillah penarikan pertama saya sukses! Dana masuk ke rekening BRI hanya dalam waktu 3 jam saja. Sangat terpercaya dan aman. Terima kasih Digital Emas! 🙏</p>
<span class="testimoni-badge">✅ Penarikan Berhasil</span>
</div>
<div class="testimoni-card">
<div class="testimoni-header-card">
<div class="testimoni-user">
<div class="user-avatar">B</div>
<div class="user-info">
<h4>Budi Santoso</h4>
<p>✅ Pengguna Terverifikasi</p>
</div>
</div>
<div class="testimoni-stars">⭐⭐⭐⭐⭐</div>
</div>
<p class="testimoni-text">Saya sudah tarik saldo ke DANA sebanyak 3 kali, semuanya berhasil dan cepat sekali prosesnya. Tidak ada kendala, aplikasinya sangat membantu. Semoga makin maju! 🔥</p>
<span class="testimoni-badge">✅ Penarikan Berhasil</span>
</div>
<div class="testimoni-card">
<div class="testimoni-header-card">
<div class="testimoni-user">
<div class="user-avatar">R</div>
<div class="user-info">
<h4>Rina Kartika</h4>
<p>✅ Pengguna Terverifikasi</p>
</div>
</div>
<div class="testimoni-stars">⭐⭐⭐⭐⭐</div>
</div>
<p class="testimoni-text">Awalnya ragu, tapi setelah coba tarik ke BCA dan uangnya masuk tepat waktu, saya jadi yakin. Proses penarikannya sangat mudah dan cepat. Sangat direkomendasikan! 👍</p>
<span class="testimoni-badge">✅ Penarikan Berhasil</span>
</div>
</div>
</div>
<!-- Pusat Bantuan -->
<div class="help-center">
<span>🔧</span>
<span>Pusat Bantuan</span>
</div>
</div>
<!-- Bottom Navigation Bar -->
<div class="bottom-nav">
<div class="nav-item active" id="navBeranda">
<div class="nav-icon">🏠</div>
<span>Beranda</span>
</div>
<div class="nav-item" id="navMenu">
<div class="nav-icon">📊</div>
<span>Menu</span>
</div>
<div class="nav-item">
<div class="nav-center">💎</div>
</div>
<div class="nav-item">
<div class="nav-icon">👥</div>
<span>Tim</span>
</div>
<div class="nav-item">
<div class="nav-icon">👤</div>
<span>Saya</span>
</div>
</div>
<!-- ============== POPUP: ISI SALDO ============== -->
<div class="overlay" id="isiSaldoOverlay">
<div class="popup">
<div class="popup-header">
<h3 class="popup-title">Isi Saldo</h3>
<span class="close-btn" id="closeIsiSaldo">×</span>
</div>
<div class="form-content" id="isiSaldoContent">
<div class="form-group">
<label class="form-label">Pilih Nominal Top Up</label>
<div class="withdraw-nominal">
<button data-value="50000">Rp 50.000</button>
<button data-value="100000">Rp 100.000</button>
<button data-value="250000">Rp 250.000</button>
<button data-value="500000">Rp 500.000</button>
<button data-value="1000000">Rp 1.000.000</button>
<button data-value="2000000">Rp 2.000.000</button>
</div>
</div>
<div class="form-group">
<label class="form-label">Atau Masukkan Nominal Lain</label>
<input type="number" class="form-input" id="isiNominalInput" placeholder="Contoh: 150000">
</div>
<div class="form-group">
<label class="form-label">Pilih Metode Pembayaran</label>
<select class="form-select" id="paymentMethod">
<option value="">-- Pilih Metode --</option>
<option value="dana">💵 DANA</option>
<option value="bank">🏦 Transfer Bank</option>
<option value="ewallet">📱 E-Wallet Lainnya</option>
</select>
</div>
<div class="info-box" id="danaInfo" style="display: none;">
<strong>📱 DANA</strong><br>
Nomor: 083162619048<br>
a.n. RR IDA KURNIAWATI
</div>
<button class="submit-btn" id="isiSubmitBtn">Saya Sudah Membayar</button>
<p class="note-text">Pastikan pembayaran sudah berhasil sebelum menekan tombol di atas</p>
</div>
<div class="success-message" id="isiSuccessMessage">
<div class="success-icon">✅</div>
<h3 class="success-title">Terima Kasih!</h3>
<p class="success-text">Deposit sedang di proses. Saldo akan segera bertambah setelah pembayaran terverifikasi.</p>
<button class="close-success-btn" id="isiCloseSuccess">Tutup</button>
</div>
</div>
</div>
<!-- ============== POPUP: TARIK SALDO ============== -->
<div class="overlay" id="tarikSaldoOverlay">
<div class="popup">
<div class="popup-header">
<h3 class="popup-title">Tarik Saldo</h3>
<span class="close-btn" id="closeTarikSaldo">×</span>
</div>
<div class="form-content" id="tarikSaldoContent">
<div class="info-box">
💡 Minimal penarikan: Rp 10.000. Penarikan akan diproses dalam 1x24 jam kerja.
</div>
<div class="form-group">
<label class="form-label">Masukkan Nominal Penarikan</label>
<input type="number" class="form-input" id="tarikNominalInput" placeholder="Contoh: 100000">
</div>
<div class="form-group">
<label class="form-label">Tujuan Penarikan</label>
<select class="form-select" id="jenisTujuan">
<option value="">-- Pilih Tujuan Penarikan --</option>
<option value="bank">🏦 Rekening Bank</option>
<option value="dana">💵 DANA</option>
<option value="ovo">💳 OVO</option>
<option value="gopay">💰 GoPay</option>
<option value="shopeepay">🛒 ShopeePay</option>
<option value="linkaja">📲 LinkAja</option>
</select>
</div>
<div class="form-group" id="bankGroup" style="display: none;">
<label class="form-label">Nama Bank</label>
<select class="form-select" id="namaBank">
<option value="">-- Pilih Bank --</option>
<option value="bca">Bank BCA</option>
<option value="mandiri">Bank Mandiri</option>
<option value="bri">Bank BRI</option>
<option value="bni">Bank BNI</option>
<option value="btn">Bank BTN</option>
<option value="bsi">Bank Syariah Indonesia (BSI)</option>
<option value="cimb">CIMB Niaga</option>
<option value="danamon">Bank Danamon</option>
<option value="permata">Bank Permata</option>
<option value="maybank">Maybank Indonesia</option>
<option value="bukopin">Bank Bukopin</option>
<option value="mega">Bank Mega</option>
<option value="other">Bank Lainnya</option>
</select>
</div>
<div class="form-group" id="bankLainGroup" style="display: none;">
<label class="form-label">Nama Bank Lainnya</label>
<input type="text" class="form-input" id="bankLainInput" placeholder="Masukkan nama bank">
</div>
<div class="form-group">
<label class="form-label" id="labelNoRek">Nomor Rekening</label>
<input type="text" class="form-input" id="noRekInput" placeholder="Masukkan nomor">
</div>
<div class="form-group">
<label class="form-label">Atas Nama</label>
<input type="text" class="form-input" id="anInput" placeholder="Nama pemilik rekening">
</div>
<div class="form-group" id="keteranganGroup" style="display: none;">
<label class="form-label">Nomor Telepon Terdaftar</label>
<input type="text" class="form-input" id="noHpEwallet" placeholder="08xx-xxxx-xxxx">
</div>
<button class="submit-btn" id="tarikSubmitBtn">Ajukan Penarikan</button>
<p class="note-text">Pastikan data yang dimasukkan sudah benar</p>
</div>
<div class="success-message" id="tarikSuccessMessage">
<div class="success-icon">⏳</div>
<h3 class="success-title">Penarikan Sedang Diproses!</h3>
<p class="success-text">Terima kasih. Penarikan dana Anda sedang kami proses. Dana akan dikirim ke rekening tujuan dalam 1x24 jam kerja.</p>
<button class="close-success-btn" id="tarikCloseSuccess">Tutup</button>
</div>
</div>
</div>
<script>
// ============== DATA GRAFIK ==============
const chartData = {
"1H": {
labels: ["09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00"],
values: [2384500, 2384200, 2385000, 2384800, 2385500, 2385200, 2385871],
low: "Rp 2.384.200",
high: "Rp 2.385.871",
avg: "Rp 2.385.000",
change: "+Rp 1.370",
changePercent: "+0.06%"
},
"24H": {
labels: ["00:00", "04:00", "08:00", "12:00", "16:00", "20:00", "Sekarang"],
values: [2382000, 2381500, 2383000, 2384000, 2385000, 2384800, 2385871],
low: "Rp 2.381.500",
high: "Rp 2.385.871",
avg: "Rp 2.383.739",
change: "+Rp 3.871",
changePercent: "+0.16%"
},
"7H": {
labels: ["Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"],
values: [2360000, 2365000, 2370500, 2372000, 2378000, 2382000, 2385871],
low: "Rp 2.355.931",
high: "Rp 2.385.871",
avg: "Rp 2.373.267",
change: "+Rp 29.940",
changePercent: "+1.27%"
},
"1B": {
labels: ["1", "5", "10", "15", "20", "25", "30"],
values: [2350000, 2355000, 2362000, 2368000, 2375000, 2380000, 2385871],
low: "Rp 2.350.000",
high: "Rp 2.385.871",
avg: "Rp 2.368.000",
change: "+Rp 35.871",
changePercent: "+1.53%"
},
"1T": {
labels: ["Okt", "Nov", "Des", "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep"],
values: [2150000, 2180000, 2200000, 2230000, 2250000, 2280000, 2300000, 2320000, 2340000, 2355000, 2370000, 2385871],
low: "Rp 2.150.000",
high: "Rp 2.385.871",
avg: "Rp 2.287.000",
change: "+Rp 235.871",
changePercent: "+10.97%"
}
};
// Inisialisasi Chart
const ctx = document.getElementById('goldChart').getContext('2d');
let goldChart = new Chart(ctx, {
type: 'line',
data: {
labels: chartData["24H"].labels,
datasets: [{
label: 'Harga Emas',
data: chartData["24H"].values,
borderColor: '#0b4896',
backgroundColor: 'rgba(11, 72, 150, 0.05)',
fill: true,
tension: 0.4,
pointRadius: 4,
pointBackgroundColor: '#0b4896',
pointBorderColor: '#fff',
pointBorderWidth: 2,
borderWidth: 3
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: { display: false },
tooltip: {
backgroundColor: '#000',
titleFont: { size: 13 },
bodyFont: { size: 14 },
padding: 12,
cornerRadius: 8,
callbacks: {
label: function(context) {
return 'Rp ' + context.raw.toLocaleString('id-ID');
}
}
}
},
scales: {
x: {
grid: { display: false },
ticks: { font: { size: 11 }, color: '#888' }
},
y: {
grid: { color: '#f0f0f0' },
ticks: {
font: { size: 10 },
color: '#888',
callback: function(value) {
return (value / 1000000).toFixed(2) + 'jt';
}
}
}
},
interaction: {
mode: 'index',
intersect: false
}
}
});
// Update Chart saat ganti periode
document.querySelectorAll('.time-tab').forEach(tab => {
tab.addEventListener('click', function() {
document.querySelectorAll('.time-tab').forEach(t => t.classList.remove('active'));
this.classList.add('active');
const period = this.dataset.period;
const data = chartData[period];
goldChart.data.labels = data.labels;
goldChart.data.datasets[0].data = data.values;
goldChart.update();
document.getElementById('lowPrice').textContent = data.low;
document.getElementById('highPrice').textContent = data.high;
document.getElementById('avgPrice').textContent = data.avg;
document.getElementById('changeValue').textContent = data.change;
document.getElementById('priceChange').textContent = '▲ ' + data.changePercent;
});
});
// Klik Menu Grafik Emas -> Scroll ke Grafik
document.getElementById('menuChart').addEventListener('click', () => {
document.getElementById('chartSection').scrollIntoView({ behavior: 'smooth' });
});
// ============== FUNGSI UMUM ==============
function showFormContent(overlay) {
overlay.querySelector('.form-content').classList.remove('hidden');
overlay.querySelector('.success-message').style.display = 'none';
}
function showSuccess(overlay) {
overlay.querySelector('.form-content').classList.add('hidden');
overlay.querySelector('.success-message').style.display = 'block';
}
// ============== ISI SALDO ==============
const btnIsiSaldo = document.getElementById('btnIsiSaldo');
const menuIsiSaldo = document.getElementById('menuIsiSaldo');
const isiSaldoOverlay = document.getElementById('isiSaldoOverlay');
const closeIsiSaldo = document.getElementById('closeIsiSaldo');
const isiSubmitBtn = document.getElementById('isiSubmitBtn');
const isiCloseSuccess = document.getElementById('isiCloseSuccess');
const paymentMethod = document.getElementById('paymentMethod');
const danaInfo = document.getElementById('danaInfo');
const isiNominalInput = document.getElementById('isiNominalInput');
btnIsiSaldo.addEventListener('click', () => {
isiSaldoOverlay.classList.add('active');
showFormContent(isiSaldoOverlay);
isiNominalInput.value = '';
paymentMethod.value = '';
danaInfo.style.display = 'none';
});
menuIsiSaldo.addEventListener('click', () => btnIsiSaldo.click());
closeIsiSaldo.addEventListener('click', () => isiSaldoOverlay.classList.remove('active'));
isiSaldoOverlay.addEventListener('click', e => {
if (e.target === isiSaldoOverlay) isiSaldoOverlay.classList.remove('active');
});
paymentMethod.addEventListener('change', () => {
danaInfo.style.display = paymentMethod.value === 'dana' ? 'block' : 'none';
});
document.querySelectorAll('#isiSaldoOverlay .withdraw-nominal button').forEach(btn => {
btn.addEventListener('click', function() {
isiNominalInput.value = this.dataset.value;
});
});
isiSubmitBtn.addEventListener('click', () => showSuccess(isiSaldoOverlay));
isiCloseSuccess.addEventListener('click', () => isiSaldoOverlay.classList.remove('active'));
// ============== TARIK SALDO ==============
const btnTarikSaldo = document.getElementById('btnTarikSaldo');
const tarikSaldoOverlay = document.getElementById('tarikSaldoOverlay');
const closeTarikSaldo = document.getElementById('closeTarikSaldo');
const tarikSubmitBtn = document.getElementById('tarikSubmitBtn');
const tarikCloseSuccess = document.getElementById('tarikCloseSuccess');
const jenisTujuan = document.getElementById('jenisTujuan');
const bankGroup = document.getElementById('bankGroup');
const bankLainGroup = document.getElementById('bankLainGroup');
const namaBank = document.getElementById('namaBank');
const labelNoRek = document.getElementById('labelNoRek');
const keteranganGroup = document.getElementById('keteranganGroup');
btnTarikSaldo.addEventListener('click', () => {
tarikSaldoOverlay.classList.add('active');
document.getElementById('tarikNominalInput').value = '';
jenisTujuan.value = '';
namaBank.value = '';
document.getElementById('bankLainInput').value = '';
document.getElementById('noRekInput').value = '';
document.getElementById('anInput').value = '';
document.getElementById('noHpEwallet').value = '';
bankGroup.style.display = 'none';
bankLainGroup.style.display = 'none';
keteranganGroup.style.display = 'none';
labelNoRek.textContent = 'Nomor Rekening';
});
closeTarikSaldo.addEventListener('click', () => tarikSaldoOverlay.classList.remove('active'));
tarikSaldoOverlay.addEventListener('click', e => {
if (e.target === tarikSaldoOverlay) tarikSaldoOverlay.classList.remove('active');
});
jenisTujuan.addEventListener('change', () => {
const val = jenisTujuan.value;
bankGroup.style.display = 'none';
bankLainGroup.style.display = 'none';
keteranganGroup.style.display = 'none';
if (val === 'bank') {
bankGroup.style.display = 'block';
labelNoRek.textContent = 'Nomor Rekening';
} else if (val === 'dana' || val === 'ovo' || val === 'gopay' || val === 'shopeepay' || val === 'linkaja') {
labelNoRek.textContent = 'Nomor Akun / No HP';
keteranganGroup.style.display = 'block';
}
});
namaBank.addEventListener('change', () => {
bankLainGroup.style.display = namaBank.value === 'other' ? 'block' : 'none';
});
tarikSubmitBtn.addEventListener('click', () => {
tarikSaldoOverlay.querySelector('.form-content').classList.add('hidden');
tarikSaldoOverlay.querySelector('.success-message').style.display = 'block';
});
tarikCloseSuccess.addEventListener('click', () => tarikSaldoOverlay.classList.remove('active'));
// ============== TESTIMONI ==============
document.getElementById('menuTestimoni').addEventListener('click', () => {
document.getElementById('testimoniSection').scrollIntoView({ behavior: 'smooth' });
});
</script>
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity