@@ -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 ============================================================ */
21342135async 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+
21402150async 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