groceries: mobile-first tracker redesign — compact rows per product group (cheapest store badge, unit price, spread, promo), tap to compare stores; category tree (23 tops, subcategories, icons/colours) with chips, store tiles, sort and non-food toggle; owner shelf prices (manual source with date, photo, note)
Some checks failed
Deploy production / deploy (push) Failing after 1m1s

This commit is contained in:
2026-10-25 19:02:44 +00:00
parent 67d74f39b8
commit 707f07efd4
13 changed files with 33141 additions and 447 deletions

View File

@@ -0,0 +1,17 @@
// Re-sync the shared grocery category tree and reclassify all items and groups.
//
// bun scripts/groceries-taxonomy.ts
//
// The nightly import does the same after regrouping; run this after changing taxonomy.ts.
import postgres from 'postgres';
import { applyTaxonomy } from '../src/lib/server/groceries/taxonomy';
if (!process.env.DB_URL) throw new Error('DB_URL is not set');
const sql = postgres(process.env.DB_URL, { max: 1, onnotice: () => {} });
try {
const t = Date.now();
await applyTaxonomy(sql, (m) => console.log(m));
console.log(`done in ${((Date.now() - t) / 1000).toFixed(1)} s`);
} finally {
await sql.end();
}