fix: persist normalized fishing plans

This commit is contained in:
ik
2026-09-21 18:47:08 +07:00
parent 0b830a9978
commit 4972b11fb0
3 changed files with 9 additions and 3 deletions
+7 -1
View File
@@ -29,7 +29,13 @@ import Layout from "../layouts/Layout.astro";
}).slice(0, 5);
};
const readPlan = (): Array<Record<string, string>> => {
try { return normalisePlan(JSON.parse(localStorage.getItem(planStorageKey) || "[]")); }
try {
const raw = localStorage.getItem(planStorageKey) || "[]";
const normalised = normalisePlan(JSON.parse(raw));
const serialised = JSON.stringify(normalised);
if (serialised !== raw) localStorage.setItem(planStorageKey, serialised);
return normalised;
}
catch { return []; }
};
const shared = new URLSearchParams(location.search).get("plan");
+1 -1
View File
@@ -35,7 +35,7 @@ footer{min-height:118px;background:var(--deep);color:#dbe4df;padding:28px max(32
@media(max-width:720px){.moderation-app{width:calc(100% - 28px)}.moderation-card{grid-template-columns:1fr}.moderation-proof{grid-row:2}.moderation-actions{grid-column:1;display:block}.moderation-actions>div{margin-top:12px}.admin-login{display:block}.admin-login button{width:100%;margin-top:12px}}
@media(max-width:480px){.filters{grid-template-columns:1fr 1fr}.spot-stats strong{font-size:16px}.topbar nav{gap:4px}.topbar nav a{padding:0 5px}.brand-name strong{font-size:14px}.brand-name span{font-size:11px}.moderation-actions>div{display:grid}.moderation-actions button{width:100%}}
@media(max-width:720px){.filter-advanced-fallback .filter-advanced-field{display:flex!important;align-items:center;gap:6px}.filter-advanced-fallback .filter-compact-hidden{display:flex!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01s!important;animation-iteration-count:1!important}}
.activity-legend{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0;color:#7d918b;font-size:11px}.activity-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:var(--lime)}.activity-legend span:nth-child(2):before{background:#e5b95c}.activity-legend span:nth-child(3):before{background:#ef795e}
/* RF4 field-guide iconography and float activity gauge */