feat(feature-shopping-list): cross-platform hooks + screens #18
No reviewers
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp!18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/feature-shopping-list"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
@mrrmlab/feature-shopping-list— a source-only workspace package that bundles everything product-facing for the shopping list feature so the web and mobile apps can just drop it inApiClientProvider+useApiClientcontext so every hook grabs the same@mrrmlab/api-clientinstance without prop drillinguseShoppingLists,useShoppingList,useCreateShoppingList,useUpdateShoppingList,useDeleteShoppingList,useAddShoppingListItem,useUpdateShoppingListItem,useDeleteShoppingListItemshoppingListKeysfactory (flat readonly tuples, tkdodo pattern)@mrrmlab/uiprimitives:ShoppingListsScreen(overview + create/delete) andShoppingListScreen(detail + add/toggle/delete items sorted byposition)Architecture notes
QueryClient— the feature package never creates oneShoppingListsScreentakes anonOpenListcallback,ShoppingListScreentakeslistId+ optionalonBack. Web uses TanStack Router, mobile uses Expo Router — neither is the feature package's problemonSuccessafter running the invalidation, so apps can still hook in for toasts/tracking without losing cache invalidationonSuccesstakes 4 args in@tanstack/react-queryv5:(data, variables, onMutateResult, context)— forwarded verbatimTest plan
pnpm --filter @mrrmlab/feature-shopping-list typecheckpassespnpm -r typecheckpasses (full workspace still clean, 7 packages + api)Closes #10