Skip to content

Commit 1edfd77

Browse files
committed
v1.22.2: open admin person view inline like public view, instead of a modal sheet
1 parent f83ae0e commit 1edfd77

1 file changed

Lines changed: 31 additions & 10 deletions

File tree

index.html

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@ <h4>Pending UPI payments <span id="pendingCount" class="pending-badge">0</span><
371371
</div>
372372
<div class="clist" id="adminList"></div>
373373
</div>
374+
<div id="adminDetail" class="hidden"></div>
374375
</section>
375376
</main>
376377

@@ -2133,10 +2134,19 @@ <h4>App Info</h4>
21332134
============================================================ */
21342135
async function openCitizen(id){
21352136
const c = allCitizens.find(x=>x.id===id); if(!c) return;
2136-
openSheet(c.name||"Citizen", `<div id="cDetail" class="empty">Loading…</div>`);
2137+
$("dashboard").classList.add("hidden");
2138+
$("adminDetail").classList.remove("hidden");
2139+
$("adminDetail").innerHTML = `<div class="notice info">Loading…</div>`;
21372140
await renderCitizenDetail(id);
21382141
}
21392142

2143+
function closeCitizenDetail(){
2144+
$("adminDetail").classList.add("hidden");
2145+
$("adminDetail").innerHTML = "";
2146+
$("dashboard").classList.remove("hidden");
2147+
renderList();
2148+
}
2149+
21402150
async function renderCitizenDetail(id){
21412151
const c = allCitizens.find(x=>x.id===id);
21422152
const entries = await store.getLedger(id);
@@ -2214,21 +2224,31 @@ <h4>App Info</h4>
22142224
</div>
22152225
</div>`;
22162226

2217-
$("cDetail").outerHTML = `<div id="cDetail">
2218-
<div class="balance-block" style="padding-top:0">
2227+
const st = statusOf(c);
2228+
$("adminDetail").innerHTML = `
2229+
<button class="back" id="adminBackBtn">‹ Back</button>
2230+
<div class="statement">
2231+
<div class="top">
2232+
<div>
2233+
<p class="name">${esc(c.name||"—")}</p>
2234+
<div class="meta">${esc(c.jobCard||id)}${c.phone?" · "+esc(c.phone):""}</div>
2235+
</div>
2236+
<span class="badge ${st}">${statusLabel[st]}</span>
2237+
</div>
2238+
<div class="balance-block">
22192239
<div class="label">Remaining balance</div>
22202240
<div class="amount money ${bal<=0?'zero':'owing'}">${fmt(Math.max(0,bal))}</div>
2221-
<div class="meta">${esc(c.jobCard||id)}${c.phone?" · "+esc(c.phone):""}</div>
22222241
</div>
2223-
2224-
${actionPanel}
2225-
2242+
<div style="padding:0 18px">
2243+
${actionPanel}
2244+
</div>
22262245
<div class="ledger">
22272246
<button class="hist-toggle" id="historyToggle">Show history (${chrono.length}) ▾</button>
22282247
<div id="historyBody" class="hidden">${rows}</div>
22292248
</div>
2230-
2231-
<button class="btn ghost block small" id="delCitizen" style="margin-top:16px;color:var(--due);border-color:var(--due)">Delete this citizen</button>
2249+
<div style="padding:16px 18px 18px">
2250+
<button class="btn ghost block small" id="delCitizen" style="color:var(--due);border-color:var(--due)">Delete this citizen</button>
2251+
</div>
22322252
</div>`;
22332253

22342254
// Attach event listeners
@@ -2266,6 +2286,7 @@ <h4>App Info</h4>
22662286
});
22672287
if($("markPaid")) $("markPaid").addEventListener("click", ()=>markFullyPaid(id, bal));
22682288
$("delCitizen").addEventListener("click", ()=>deleteCitizen(id));
2289+
$("adminBackBtn").addEventListener("click", closeCitizenDetail);
22692290

22702291
// History toggle
22712292
$("historyToggle").addEventListener("click", ()=>{
@@ -2347,7 +2368,7 @@ <h4>App Info</h4>
23472368
if(!(await confirmAction("Delete this citizen and all their records? This cannot be undone.", true))) return;
23482369
try{
23492370
await store.deleteCitizen(id);
2350-
closeSheet(); toast("Citizen deleted");
2371+
closeCitizenDetail(); toast("Citizen deleted");
23512372
}catch(err){ toast("Couldn't delete."); console.error(err); }
23522373
}
23532374

0 commit comments

Comments
 (0)