Commit Graph

25 Commits

Author SHA1 Message Date
Mario Zechner
1b9505d9cc Mario is an idiot. 2023-06-21 18:38:09 +02:00
Mario Zechner
807c6e90e2 Fix import. 2023-06-21 18:25:21 +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
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
6569b17da2 Remove binary encoding, web worker, clean-up. 2023-06-18 23:23:02 +02:00
Mario Zechner
d636362acc Don't precalculate item url. See #99 166 -> 159mb 2023-06-18 20:14:36 +02:00
Mario Zechner
916f7af5ec Add web worker support for loading items. It's much slower than just blocking on the main thread. 2023-06-18 16:16:01 +02:00
Mario Zechner
d13a0e2d55 Final answer. 2023-06-18 14:55:57 +02:00
Mario Zechner
e065057f81 Sigh #2... 2023-06-18 14:53:56 +02:00
Mario Zechner
36d7ce59f0 Settings useJSON isn't what's expected. 2023-06-18 14:50:08 +02:00
Mario Zechner
d01d984706 Fix binary encoding of unit. 2023-06-18 14:45:35 +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
c9740b8660 Improved compression, 4.8mb -> 4.4mb and faster decoding. 2023-06-16 23:12:37 +02:00
Mario Zechner
d63d42d623 Write store info as part of binary serialization. 2023-06-16 20:38:39 +02:00
Mario Zechner
222720365c Improve binary decoding, make binary default. 2023-06-16 20:03:08 +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
6281e66dc7 Various improvements, perf, style, live-reload. 2023-06-15 19:25:35 +02:00
Mario Zechner
7e0b6ac1f6 Improved compression 2023-06-14 00:11:34 +02:00
Mario Zechner
1d2eb5315e Fix some Hofer unit/quantity mistakes, add price per unit to frontend. 2023-06-13 10:09:52 +02:00
Mario Zechner
031114ebca The great refactor. 2023-06-13 01:16:27 +02:00
Mario Zechner
d7426bc395 Use new changes.js 2023-06-12 10:32:42 +02:00
Mario Zechner
75367c6852 New index.html/index.js using the new framework. State serialization fixes. 2023-06-11 23:49:18 +02:00
Mario Zechner
5964cc5de2 Finished items-filter component, changes-new and index-new. items-list incomplete, no charting yet. 2023-06-10 22:34:28 +02:00
Mario Zechner
12ef72feae New changes.html/.js WIP 2023-06-09 02:03:57 +02:00
Mario Zechner
ec3c8f4ed3 WIP esbuild, bundling, components. 2023-06-08 13:48:08 +02:00