Дашборд: колонка «Когда найден» в топе конфигураций
Без времени находки обновление топа было невидимо: новая строка-рекорд 13.63% глазом неотличима от старой 13.44%, и пользователю казалось, что таблица застыла («тир-лист не обновлялся давно» при живом конвейере). Свежие записи (моложе часа) подсвечиваются зелёным.
This commit is contained in:
@@ -72,7 +72,7 @@ PAGE_HTML = r"""<!doctype html>
|
||||
<button class="tgl" id="tab-vel" onclick="setRank('vel')">по скорости</button>
|
||||
</h2>
|
||||
<table>
|
||||
<thead><tr><th>КПД</th><th>Скор., м/с</th><th>Ступ.</th><th>Цена, ₽</th><th>Режим</th></tr></thead>
|
||||
<thead><tr><th>КПД</th><th>Скор., м/с</th><th>Ступ.</th><th>Цена, ₽</th><th>Режим</th><th>Когда найден</th></tr></thead>
|
||||
<tbody id="top"></tbody>
|
||||
</table>
|
||||
<p class="muted" style="font-size:12px">Клик по строке — полная детализация прогона (расстояния, номиналы, физика).</p>
|
||||
@@ -109,13 +109,23 @@ function setRank(m){ rankMode=m; if(lastOverview) renderTop(lastOverview);
|
||||
document.getElementById('tab-eff').classList.toggle('active', m==='eff');
|
||||
document.getElementById('tab-vel').classList.toggle('active', m==='vel'); }
|
||||
|
||||
// «Когда найден»: без этой колонки обновление топа было НЕВИДИМО — новая
|
||||
// строка 13.63% глазом неотличима от старой 13.44%, и казалось, что таблица
|
||||
// застыла. Свежие записи (< 1 часа) подсвечиваются.
|
||||
const fmtWhen = ts => {
|
||||
if(!ts) return "—";
|
||||
const d = new Date(ts), ageMs = Date.now()-d.getTime();
|
||||
const t = d.toLocaleString([], {day:'2-digit',month:'2-digit',hour:'2-digit',minute:'2-digit'});
|
||||
return ageMs < 3600e3 ? `<b style="color:#3fb950">${t}</b>` : t;
|
||||
};
|
||||
function renderTop(o){
|
||||
const rows = rankMode==='vel' ? (o.top_by_velocity||[]) : (o.top||[]);
|
||||
const top = document.getElementById('top'); top.innerHTML='';
|
||||
rows.forEach(t=>{
|
||||
const tr=document.createElement('tr'); tr.className='clk';
|
||||
tr.innerHTML=`<td>${fmtPct(t.efficiency)}</td><td>${fmt(t.exit_velocity_mps,1)}</td>`+
|
||||
`<td>${t.n_stages??'—'}</td><td>${fmt(t.cost_rub,0)}</td><td><span class="pill">${t.search_mode}</span></td>`;
|
||||
`<td>${t.n_stages??'—'}</td><td>${fmt(t.cost_rub,0)}</td><td><span class="pill">${t.search_mode}</span></td>`+
|
||||
`<td class="muted" style="white-space:nowrap">${fmtWhen(t.timestamp)}</td>`;
|
||||
tr.onclick=()=>showDetail(t.run_id);
|
||||
top.appendChild(tr);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user