gentelella
Version:
Gentelella v4 — free admin template. 60 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.
1 lines • 5.45 kB
JavaScript
import"./main-v4-BFwmMcfm.js";import{n as t,r as a,t as e}from"./data-adapter-B-GF0xCf.js";var r={primary:"var(--primary)",azure:"var(--azure)",purple:"var(--purple)",yellow:"var(--yellow)",red:"var(--red)",green:"var(--green)",blue:"var(--blue)"},i={paid:"green",processing:"blue",pending:"yellow",cancelled:"red"},s=a()?e("/api/orders",{listKey:"orders"}):t([{id:"#7841",customer:"John Doe",initials:"JD",avatarColor:"primary",items:3,total:245,status:"paid",payment:"Visa •••• 4242",createdAt:"Apr 28, 2026"},{id:"#7840",customer:"Anna Smith",initials:"AS",avatarColor:"azure",items:1,total:89,status:"processing",payment:"Mastercard •••• 8841",createdAt:"Apr 28, 2026"},{id:"#7839",customer:"Robert Jones",initials:"RJ",avatarColor:"purple",items:5,total:490,status:"paid",payment:"PayPal",createdAt:"Apr 28, 2026"},{id:"#7838",customer:"Emily Wang",initials:"EW",avatarColor:"yellow",items:2,total:125,status:"pending",payment:"Stripe checkout",createdAt:"Apr 27, 2026"},{id:"#7837",customer:"Mark Kim",initials:"MK",avatarColor:"red",items:1,total:67,status:"cancelled",payment:"Visa •••• 1234",createdAt:"Apr 27, 2026"},{id:"#7836",customer:"Lina Park",initials:"LP",avatarColor:"green",items:4,total:312,status:"paid",payment:"Visa •••• 4242",createdAt:"Apr 27, 2026"},{id:"#7835",customer:"Diego Reyes",initials:"DR",avatarColor:"blue",items:2,total:178,status:"paid",payment:"Apple Pay",createdAt:"Apr 26, 2026"},{id:"#7834",customer:"Yuki Tanaka",initials:"YT",avatarColor:"primary",items:3,total:234,status:"processing",payment:"Mastercard •••• 7712",createdAt:"Apr 26, 2026"},{id:"#7833",customer:"Sarah Kowalski",initials:"SK",avatarColor:"primary",items:6,total:549,status:"paid",payment:"Stripe checkout",createdAt:"Apr 26, 2026"},{id:"#7832",customer:"Michael Reyes",initials:"MR",avatarColor:"purple",items:1,total:45,status:"pending",payment:"PayPal",createdAt:"Apr 25, 2026"},{id:"#7831",customer:"Tom Hardy",initials:"TH",avatarColor:"purple",items:2,total:195,status:"paid",payment:"Visa •••• 4242",createdAt:"Apr 25, 2026"},{id:"#7830",customer:"Anna Smith",initials:"AS",avatarColor:"azure",items:3,total:220,status:"paid",payment:"Mastercard •••• 8841",createdAt:"Apr 24, 2026"},{id:"#7829",customer:"John Doe",initials:"JD",avatarColor:"primary",items:1,total:79,status:"paid",payment:"Apple Pay",createdAt:"Apr 24, 2026"},{id:"#7828",customer:"Robert Jones",initials:"RJ",avatarColor:"purple",items:2,total:168,status:"cancelled",payment:"Visa •••• 5566",createdAt:"Apr 23, 2026"},{id:"#7827",customer:"Emily Wang",initials:"EW",avatarColor:"yellow",items:4,total:388,status:"paid",payment:"Stripe checkout",createdAt:"Apr 23, 2026"},{id:"#7826",customer:"Mark Kim",initials:"MK",avatarColor:"red",items:1,total:112,status:"paid",payment:"Google Pay",createdAt:"Apr 22, 2026"},{id:"#7825",customer:"Diego Reyes",initials:"DR",avatarColor:"blue",items:2,total:156,status:"processing",payment:"PayPal",createdAt:"Apr 22, 2026"},{id:"#7824",customer:"Lina Park",initials:"LP",avatarColor:"green",items:3,total:247,status:"paid",payment:"Visa •••• 4242",createdAt:"Apr 21, 2026"},{id:"#7823",customer:"Yuki Tanaka",initials:"YT",avatarColor:"primary",items:1,total:58,status:"paid",payment:"Apple Pay",createdAt:"Apr 21, 2026"},{id:"#7822",customer:"Sarah Kowalski",initials:"SK",avatarColor:"primary",items:2,total:132,status:"paid",payment:"Stripe checkout",createdAt:"Apr 20, 2026"}]),o=document.getElementById("orders-rows");function n(t){return`\n <tr>\n <td class="cell-mono"><a href="order_detail.html" style="color:var(--primary);font-weight:var(--font-weight-medium)">${t.id}</a></td>\n <td><div class="cell-customer"><div class="cell-avatar" style="background:${r[t.avatarColor]||"var(--primary)"}">${t.initials}</div><span class="cell-strong">${t.customer}</span></div></td>\n <td>${t.items}</td>\n <td class="cell-strong">$${t.total}</td>\n <td><span class="status status-${i[t.status]}">${t.status[0].toUpperCase()+t.status.slice(1)}</span></td>\n <td style="font-size:12px;color:var(--text-muted)">${t.payment}</td>\n <td>${t.createdAt}</td>\n <td><button class="card-opt-btn" aria-label="More"><svg viewBox="0 0 16 16" fill="currentColor"><circle cx="8" cy="3" r="1.2"/><circle cx="8" cy="8" r="1.2"/><circle cx="8" cy="13" r="1.2"/></svg></button></td>\n </tr>`}!async function t(){o.innerHTML=function(t=5){return Array.from({length:t},()=>`<tr>${'<td><span class="skeleton skeleton-text" style="width:80%"></span></td>'.repeat(8)}</tr>`).join("")}();try{const t=await s.list();if(!t.length)return void(o.innerHTML='<tr><td colspan="8" style="padding:40px;text-align:center;color:var(--text-muted)">No orders yet.</td></tr>');o.innerHTML=t.map(n).join("")}catch(a){o.innerHTML=`\n <tr><td colspan="8" style="padding:24px">\n <div class="banner banner-danger">\n <svg class="banner-icon" width="18" height="18" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="8" cy="8" r="6"/><path d="M5 5l6 6M11 5l-6 6"/></svg>\n <div class="banner-body"><strong>Failed to load orders.</strong> ${a.message||a}</div>\n <div class="banner-actions"><button class="btn btn-outline btn-sm" id="orders-retry">Retry</button></div>\n </div>\n </td></tr>`,document.getElementById("orders-retry")?.addEventListener("click",t)}}();