Commit Graph

83 Commits

Author SHA1 Message Date
Mario Zechner
99108ec0f4 Fix unit price charting. 2023-07-18 21:46:32 +02:00
Mario Zechner
0a97e4d15f One last try to fix stepped charts... 2023-07-18 21:11:59 +02:00
Mario Zechner
7e527f2f34 Fix chart.js stepped setting. Must flip it if first two prices are the same. 2023-07-18 20:55:53 +02:00
Mario Zechner
0dad9c34fb Refactor items-chart.js, add support for percentage change charts. Closes #139 2023-07-18 20:48:33 +02:00
Mario Zechner
16b596fe0a Fix query decoding, filter items without price history. 2023-07-12 12:54:59 +02:00
Mario Zechner
181b672f76 Progressbar steps are floats, can't reach 100 in some cases :D 2023-07-05 20:39:09 +02:00
Mario Zechner
36fd2e9705 Fixes #129 2023-07-05 20:32:09 +02:00
Mario Zechner
17f1d4cf01 Closes #123, also replaces "M & M" in item names with "M&M". Hax! 2023-06-29 17:21:29 +02:00
Mario Zechner
ebca44dc4e Generate budget brand matches in pattern.js, fix json download 2023-06-26 02:46:22 +02:00
Mario Zechner
8ca93b4fb3 Fixes #111, inject progress callback instead of having UI code in the model. 2023-06-26 00:03:18 +02:00
HannesOberreiter
b844232a65 perf: compare without type casting 2023-06-25 20:14:55 +02:00
HannesOberreiter
495571b8a7 fix: 🐛 prevent html tags to be highlighted 2023-06-25 20:13:18 +02:00
Mario Zechner
cb38e6c5c1 Smaller chart. 2023-06-24 23:07:34 +02:00
Mario Zechner
cf88d72b0c
Merge branch 'main' into sticky-settings 2023-06-24 20:45:26 +02:00
Christian Tschugg
97888f374b Add mobile table headers, fixes badlogic/heissepreise#89 2023-06-24 19:38:01 +02:00
Christian Tschugg
5cde0a7f89 Remove unused IntersectionObserver 2023-06-24 18:14:27 +02:00
Christian Tschugg
94a8eb2b1c Add sticky chart and sticky search, see badlogic/heissepreise#89 2023-06-24 16:30:36 +02:00
HannesOberreiter
06621b6bc8 feat: 🎨 add utility to format numbers to locale and format table count to locale 2023-06-24 09:54:24 +02:00
Mario Zechner
f5940dcd79 CSV export, for details see https://docs.google.com/document/d/1Q5OWJOICXjSzTEIHBZgJl1p3FsiWFO0lzXIuwGbXBck/edit#heading=h.2nh5hygulv36 2023-06-23 23:01:03 +02:00
Mario Zechner
362864761b Highlight query tokens. 2023-06-22 22:17:12 +02:00
Mario Zechner
7c0861ba96 Add links to video and text guide. 2023-06-22 17:12:24 +02:00
Mario Zechner
5a8e3a0528 Fix price changes filter visibility. 2023-06-22 16:46:42 +02:00
Mario Zechner
ffe4f4c4f8 Don't ignore unavailable. 2023-06-22 12:40:58 +02:00
Mario Zechner
ac03c20c39 Closes #103 2023-06-21 22:01:06 +02:00
Mario Zechner
c8a1e41abb Setting to show only available items. On by default. 2023-06-21 21:39:33 +02:00
Mario Zechner
97b4b25933 Show alaSQL errors in the UI. 2023-06-21 21:29:57 +02:00
Mario Zechner
4fc46fc335 Fix visibility of filter groups, fix diagram show/hide. 2023-06-21 17:25:48 +02:00
Mario Zechner
60ecb68924 Mark unavailable items in data and with 💀 in ui, add emojis to category names, hide filter groups if ! query, 2023-06-21 17:07:45 +02:00
Mario Zechner
d9ed69f578 Fix Penny URLs, invert category filter checkbox logic. 2023-06-21 16:15:05 +02:00
Mario Zechner
303d25ccb5 Categories for Billa & Spar, infra to add catgories for other stores.
Billa maps directly to the canonical categories. Spar uses a mapping file stores/spar-categories.json.

Each store has a generateCategoryMapping() function which is called once in analysis.js:updateData() and analysis.js:replay(). The function is responsible for

* Fetching the latest categories
* Merging them with already mapped categories
* Report new categories that haven't been mapped yet
* Report categories that have been mapped but are no longer part of the latest set of categories
* Save the merged mappings to disk

This schema might not work for all stores, in which case updateData() and replay() will use a knn approach to figure out the category for an item. See #81
2023-06-21 01:29:00 +02:00
Mario Zechner
55b8a79107 Try to unfuck some chart related CSS. 2023-06-20 00:22:22 +02:00
Mario Zechner
ae470972b0 Lower items list batch size for faster rendering. 2023-06-18 22:44:33 +02:00
Mario Zechner
f315d03829 Remove sparSi, use getters instead of precalculated values in item. See #99 145mb - 92mb 2023-06-18 22:35:48 +02:00
Mario Zechner
d636362acc Don't precalculate item url. See #99 166 -> 159mb 2023-06-18 20:14:36 +02:00
Mario Zechner
887c72be64 Require at least 3 characters for queries. 2023-06-18 19:24:07 +02:00
Mario Zechner
e2b38aec95 Higher debounce delay on mobile. 2023-06-18 16:24:32 +02:00
Mario Zechner
b6a9ec80b5 Added BM25 search index implementation. Run node site/js/bm25.js for testing. 2023-06-17 14:40:09 +02:00
Mario Zechner
c7537c341e Binary format optimization 4.4mb -> 3.9mb, don't store urls were not needed, use product-id instead of code-internal for spar items, 2023-06-17 01:11:21 +02:00
Mario Zechner
ea5c133003 Binary compression (it's worse), unit prices in charts, small improvements. 2023-06-16 16:01:13 +02:00
Mario Zechner
c97c8116f6 "Fix" stepping of single item price lines with magic... 2023-06-16 00:48:51 +02:00
Mario Zechner
258936dc0c Fixed stepped charting. 2023-06-16 00:16:59 +02:00
Mario Zechner
cd429da10b Chart: Re-enable intersection mode, don't back or forward fill anymore 2023-06-16 00:13:12 +02:00
Mario Zechner
0580fa709d Don't backfill prices for charting. 2023-06-15 23:55:28 +02:00
Mario Zechner
bd1fa721e4 Settings page and settings for default selected stores, chart start date, and chart type. 2023-06-15 21:12:01 +02:00
Mario Zechner
9e5e8e00fc
Merge pull request #92 from iantsch/select-all-stores-ux
Fix select all stores ux
2023-06-15 19:49:36 +02:00
Mario Zechner
bbc2decb0d
Merge branch 'main' into main 2023-06-15 19:38:53 +02:00
Mario Zechner
bff3de097e
Merge pull request #98 from schwindp/patch-1
Update items-list.js, fixing a simple front page typo
2023-06-15 19:34:39 +02:00
Mario Zechner
6281e66dc7 Various improvements, perf, style, live-reload. 2023-06-15 19:25:35 +02:00
Peter Schwindt
c4c41aa922
Update items-list.js, fixing a simple front page typo
Just a humble typo
2023-06-15 19:02:03 +02:00
Mario Zechner
9646f07db5 More charting changes. restore.js can now take a h43z.json file and merge it with the restored history. Ask Mario for the data. 2023-06-14 17:07:02 +02:00