Skip to content

Commit 6ea1463

Browse files
committed
fix: persist selection and primary index across live reloads via sessionStorage
1 parent 36ac255 commit 6ea1463

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

skills/analysis/home-security-benchmark/scripts/generate-report.cjs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -861,11 +861,25 @@ function saveState() {
861861
try {
862862
sessionStorage.setItem('_bench_tab', getActiveTab());
863863
sessionStorage.setItem('_bench_scroll', String(window.scrollY));
864+
sessionStorage.setItem('_bench_selected', JSON.stringify([...selectedIndices]));
865+
sessionStorage.setItem('_bench_primary', String(primaryIndex));
864866
} catch {}
865867
}
866868
867869
function restoreState() {
868870
try {
871+
// Restore selection
872+
const savedSel = sessionStorage.getItem('_bench_selected');
873+
if (savedSel) {
874+
const arr = JSON.parse(savedSel).filter(i => i >= 0 && i < ALL_RUNS.length);
875+
if (arr.length > 0) { selectedIndices = new Set(arr); }
876+
}
877+
const savedPrimary = sessionStorage.getItem('_bench_primary');
878+
if (savedPrimary != null) {
879+
const pi = parseInt(savedPrimary);
880+
if (pi >= 0 && pi < ALL_RUNS.length) primaryIndex = pi;
881+
}
882+
// Restore tab
869883
const tab = sessionStorage.getItem('_bench_tab');
870884
if (tab && tab !== 'performance') {
871885
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));

0 commit comments

Comments
 (0)