관리-도구
편집 파일: index.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Smart Gold Investment</title> <link href="img/fav.png" rel="shortcut icon"/> <style> :root{ --primary:#1a73e8; --gold:#d4af37; --green:#25D366; } *{ box-sizing:border-box; font-family:Poppins,Segoe UI,sans-serif; } body{ margin:0; background:linear-gradient(180deg,#ffffff,#eef2f8); } /* Layout */ .container{ max-width:1200px; margin:auto; padding:20px; } .card{ background:#fff; border-radius:26px; padding:30px; box-shadow:0 20px 40px rgba(0,0,0,.08); } h2{ text-align:center; color:var(--primary); font-weight:800; } /* Rate ticker */ .rate-ticker-wrapper{ background:linear-gradient(135deg,#b8860b,#ffd700); padding:12px; border-radius:14px; margin-bottom:25px; } .rate-title{ text-align:center; color:#fff; font-weight:700; } .rate-ticker{ background:#111; border-radius:10px; overflow:hidden; } .ticker-track{ display:flex; width:max-content; animation:slide 20s linear infinite; } .rate-item{ padding:10px 25px; color:#ffd700; white-space:nowrap; } .rate-item b{color:#fff;} @keyframes slide{ from{transform:translateX(0);} to{transform:translateX(-50%);} } /* Flex Layout */ .flex{ display:flex; gap:25px; } .left,.right{ flex:1; } /* Section */ .section{ background:#fff; border-radius:18px; padding:18px; margin-bottom:20px; border:1px solid #e5e7eb; } label{ font-weight:600; color:#6b7280; } /* ===== METAL TYPE ONE ROW ALWAYS ===== */ /* ===== SMALL METAL TYPE BUTTONS ===== */ .rate-scroll{ display:flex; justify-content:center; gap:8px; flex-wrap:nowrap; } .rate-scroll div{ padding:6px 14px; /* smaller padding */ font-size:14px; /* smaller text */ border-radius:30px; /* pill shape */ background:#f3f4f6; font-weight:600; cursor:pointer; min-width:auto; /* remove 120px width */ flex:unset; /* remove flex grow */ transition:0.3s; } .rate-scroll div:hover{ background:#e5e7eb; } .rate-scroll .active{ background:linear-gradient(135deg,#1a73e8,#4f9cf9); color:#5e0505; box-shadow:0 4px 10px rgba(26,115,232,0.3); } /* Slider */ input[type=range]{ width:100%; height:8px; border-radius:10px; appearance:none; background:linear-gradient(to right,var(--primary),var(--gold)); } input[type=range]::-webkit-slider-thumb{ appearance:none; width:18px; height:18px; border-radius:50%; background:#fff; border:3px solid var(--primary); } .value{ font-weight:700; margin-top:6px; color:var(--primary); } /* RIGHT SIDE */ .right{ text-align:center; } .circle{ width:220px; height:220px; border-radius:50%; margin:auto; background:conic-gradient( var(--primary) 0% var(--p1), var(--gold) var(--p1) var(--p2), #22c55e var(--p2) 100% ); } .circle-inner{ width:150px; height:150px; background:#fff; border-radius:50%; margin:-185px auto 0; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; color:var(--primary); } table{ width:100%; margin-top:26px; border-collapse:collapse; } td{ padding:10px; border-bottom:1px solid #e5e7eb; } .total td{ font-size:20px; font-weight:800; color:var(--primary); } /* WhatsApp */ .whatsapp{ display:block; margin-top:25px; padding:16px; background:linear-gradient(135deg,#25D366,#1db954); color:#fff; text-decoration:none; border-radius:18px; font-weight:900; } /* Responsive */ @media (max-width:992px){ .flex{ flex-direction:column; } .circle{ width:180px; height:180px; } .circle-inner{ width:120px; height:120px; margin:-150px auto 0; font-size:18px; } } @media (max-width:480px){ .container{ padding:10px; } .card{ padding:16px; } .circle{ width:150px; height:150px; } .circle-inner{ width:100px; height:100px; margin:-125px auto 0; font-size:16px; } .whatsapp{ position:fixed; bottom:10px; left:10px; right:10px; border-radius:14px; text-align:center; } } </style> </head> <body> <div class="container"> <div class="card"> <center> <img src="img/logo.png" style="width:210px;border-radius:16px"> </center> <h2>Smart Investment Calculator 55555 </h2> <?php include("config.php"); $res=$conn->query("SELECT * FROM today_rate"); $rates=''; while($r=$res->fetch_assoc()){ $rates.="<span class='rate-item'>{$r['gold_typ']} <b>₹".number_format($r['rate'])."</b></span>"; } ?> <div class="rate-ticker-wrapper"> <div class="rate-title">✨ Today Gold Rate</div> <div class="rate-ticker"> <div class="ticker-track"> <?= $rates ?><?= $rates ?> </div> </div> </div> <div class="flex"> <div class="left"> <div class="section"> <center><label>Metal Type</label></center><br> <div class="rate-scroll" id="rateScroll"> <?php $res=$conn->query("SELECT * FROM today_rate"); $i=0; while($r=$res->fetch_assoc()){ ?> <div data-rate="<?= $r['rate'] ?>" class="<?= $i==0?'active':'' ?>"> <?= strtoupper($r['gold_typ']) ?> </div> <?php $i++; } ?> </div> </div> <div class="section"> <label>Grams</label> <input type="range" min="1" max="100" value="1" id="gram"> <div class="value"><span id="gramVal">1</span> gm</div> </div> <div class="section"> <label>Milligrams</label> <input type="range" min="0" max="900" step="100" value="0" id="mg"> <div class="value"><span id="mgVal">0</span> mg</div> </div> <div class="section"> <label>Making Charges</label> <input type="range" min="0" max="30" value="0" id="making"> <div class="value"><span id="makingVal">0</span>%</div> </div> <div class="section"> <label>GST</label> <div class="value">3% Apply</div> </div> </div> <div class="right"> <div class="circle" id="circle"></div> <div class="circle-inner">₹ <span id="total">0</span></div> <table> <tr><td>Metal Amount</td><td>₹ <span id="amt">0</span></td></tr> <tr><td>Making Charge</td><td>₹ <span id="mk">0</span></td></tr> <tr><td>GST</td><td>₹ <span id="gst">0</span></td></tr> <tr class="total"><td>Total</td><td>₹ <span id="total2">0</span></td></tr> </table> <br><br> <a class="whatsapp" href="#">INVEST NOW</a> </div> </div> </div> </div> <script> const gram=document.getElementById('gram'); const gramVal=document.getElementById('gramVal'); const mg=document.getElementById('mg'); const mgVal=document.getElementById('mgVal'); const making=document.getElementById('making'); const makingVal=document.getElementById('makingVal'); const amt=document.getElementById('amt'); const mk=document.getElementById('mk'); const gst=document.getElementById('gst'); const total=document.getElementById('total'); const total2=document.getElementById('total2'); const circle=document.getElementById('circle'); let rate=parseFloat(document.querySelector('#rateScroll div').dataset.rate); document.querySelectorAll('#rateScroll div').forEach(el=>{ el.onclick=()=>{ document.querySelectorAll('#rateScroll div').forEach(d=>d.classList.remove('active')); el.classList.add('active'); rate=parseFloat(el.dataset.rate); calc(); } }); gram.oninput=()=>{gramVal.innerText=gram.value;calc();} mg.oninput=()=>{mgVal.innerText=mg.value;calc();} making.oninput=()=>{makingVal.innerText=making.value;calc();} function calc(){ let g=+gram.value; let m=+mg.value; let metalTotal=(g*rate)+((rate/1000)*m); let makingAmt=metalTotal*making.value/100; let gstAmt=(metalTotal+makingAmt)*0.03; let grand=metalTotal+makingAmt+gstAmt; amt.innerText=metalTotal.toFixed(2); mk.innerText=makingAmt.toFixed(2); gst.innerText=gstAmt.toFixed(2); total.innerText=grand.toFixed(2); total2.innerText=grand.toFixed(2); let p1=(metalTotal/grand)*100; let p2=((metalTotal+makingAmt)/grand)*100; circle.style.setProperty('--p1',p1+'%'); circle.style.setProperty('--p2',p2+'%'); } calc(); </script> </body> </html>