diff --git a/api/lib/sql.js b/api/lib/sql.js index 095b1f5..442d008 100644 --- a/api/lib/sql.js +++ b/api/lib/sql.js @@ -8,7 +8,7 @@ function lit(val) { if (val === null || val === undefined) return 'NULL'; if (typeof val === 'boolean') return val ? 'TRUE' : 'FALSE'; - if (typeof val === 'number') return String(Math.trunc(val)); + if (typeof val === 'number') return String(val); if (typeof val === 'object') return `'${JSON.stringify(val).replace(/'/g, "''")}'`; return `'${String(val).replace(/'/g, "''")}'`; } diff --git a/ui/src/pages/Stacks.jsx b/ui/src/pages/Stacks.jsx index 89a19db..df2eecf 100644 --- a/ui/src/pages/Stacks.jsx +++ b/ui/src/pages/Stacks.jsx @@ -658,17 +658,24 @@ export default function Stacks({ sources, onStackStale, onStackViewGenerated }) async function load() { const s = await api.getStacks() setStacks(s) + return s } async function loadDetail(name) { const s = await api.getStack(name) setStackDetail(s) setSelected(name) + localStorage.setItem('stacks_last_selected', name) setSqlDraft('') setSqlResult(null) } - useEffect(() => { load() }, []) + useEffect(() => { + load().then(s => { + const last = localStorage.getItem('stacks_last_selected') + if (last && s.find(x => x.name === last)) loadDetail(last) + }) + }, []) useEffect(() => { if (selected) loadDetail(selected) }, [selected]) async function createStack() {