CoolFace
Apppublic

FarelDeveloper/fmailtemp

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
index.html102 linesDownload Raw Back to root
1<!DOCTYPE html>2<html lang="id">3<head>4<meta charset="UTF-8">5<title>Temp Email Farel</title>6<style>7body{background:#020617;color:#fff;font-family:sans-serif}8.box{max-width:500px;margin:40px auto;background:#0f172a;padding:20px;border-radius:10px}9input,select,button{width:100%;padding:10px;margin:6px 0}10button{background:#38bdf8;border:0;cursor:pointer}11button:disabled{opacity:.6;cursor:not-allowed}12.msg{background:#020617;padding:8px;border-radius:5px;margin:5px 0}13</style>14</head>15<body>16 17<div class="box">18<h2>๐Ÿ“ง Temp Email Farel</h2>19 20<input id="name" placeholder="username">21<select id="domain"></select>22<button id="btn" onclick="createEmail()" disabled>Buat Email</button>23 24<b id="email"></b>25<div id="inbox"></div>26</div>27 28<script>29let currentEmail = null;30let timer = null;31let domainList = [];32 33// ๐Ÿ”ฅ LOAD DOMAIN + AUTO RANDOM34async function loadDomains(){35    const r = await fetch('/api/domains');36    const j = await r.json();37 38    domain.innerHTML = '';39    domainList = [];40 41    j.domains.forEach(d=>{42        const dom = typeof d === 'string' ? d : d.name;43        domainList.push(dom);44        domain.innerHTML += `<option value="${dom}">${dom}</option>`;45    });46 47    // auto pilih random48    const random = domainList[Math.floor(Math.random() * domainList.length)];49    domain.value = random;50 51    btn.disabled = false;52}53 54// ๐Ÿ”ฅ CREATE EMAIL (AMAN)55async function createEmail(){56    if (!name.value.trim())57        return alert('Username wajib diisi');58 59    if (!domain.value)60        return alert('Domain belum siap');61 62    const r = await fetch('/api/email/new',{63        method:'POST',64        headers:{'Content-Type':'application/json'},65        body:JSON.stringify({66            name: name.value.trim(),67            domain: domain.value68        })69    });70 71    const j = await r.json();72    if(!j.success) return alert(j.error);73 74    currentEmail = j.email;75    email.innerText = "๐Ÿ“ฌ " + j.email;76 77    if(timer) clearInterval(timer);78    timer = setInterval(loadInbox, 5000);79}80 81// ๐Ÿ”ฅ LOAD INBOX82async function loadInbox(){83    if(!currentEmail) return;84 85    const r = await fetch('/api/email/' + currentEmail + '/messages');86    const j = await r.json();87 88    inbox.innerHTML = '';89    j.messages?.forEach(m=>{90        inbox.innerHTML += `91        <div class="msg">92            <b>${m.from}</b><br>93            ${m.subject}94        </div>`;95    });96}97 98loadDomains();99</script>100 101</body>102</html>