feat(analytics): add event tracking to remaining 12 module stores

Add analytics events to inventar, storage, memoro, mukke, presi,
moodlit, picture, calc, citycorners, and zitare stores. Also adds
new event helpers for calc, inventar, moodlit, and citycorners.

All 31 module store files now have analytics instrumentation,
up from 4 at the start of this session.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-02 17:17:07 +02:00
parent 5a7bc5e10d
commit e7ae444b18
19 changed files with 116 additions and 3 deletions

View file

@ -166,6 +166,10 @@ const track = {
subscription: createModuleTracker('subscription'),
memoro: createModuleTracker('memoro'),
app: createModuleTracker('app'),
calc: createModuleTracker('calc'),
inventar: createModuleTracker('inventar'),
moodlit: createModuleTracker('moodlit'),
citycorners: createModuleTracker('citycorners'),
};
/**
@ -546,3 +550,46 @@ export const AppEvents = {
settingsOpened: () => track.app('settings_opened'),
shareClicked: (platform: string) => track.app('share_clicked', { platform }),
};
/**
* Calc App Events
*/
export const CalcEvents = {
calculationAdded: () => track.calc('calculation_added'),
historyCleared: () => track.calc('history_cleared'),
formulaSaved: () => track.calc('formula_saved'),
formulaDeleted: () => track.calc('formula_deleted'),
};
/**
* Inventar App Events
*/
export const InventarEvents = {
itemCreated: () => track.inventar('item_created'),
itemUpdated: () => track.inventar('item_updated'),
itemDeleted: () => track.inventar('item_deleted'),
collectionCreated: () => track.inventar('collection_created'),
collectionDeleted: () => track.inventar('collection_deleted'),
categoryCreated: () => track.inventar('category_created'),
categoryDeleted: () => track.inventar('category_deleted'),
locationCreated: () => track.inventar('location_created'),
locationDeleted: () => track.inventar('location_deleted'),
};
/**
* Moodlit App Events
*/
export const MoodlitEvents = {
moodCreated: () => track.moodlit('mood_created'),
moodDeleted: () => track.moodlit('mood_deleted'),
moodFavorited: () => track.moodlit('mood_favorited'),
sequenceCreated: () => track.moodlit('sequence_created'),
sequenceDeleted: () => track.moodlit('sequence_deleted'),
};
/**
* CityCorners App Events
*/
export const CityCornersEvents = {
favoriteToggled: (favorited: boolean) => track.citycorners('favorite_toggled', { favorited }),
};