Skip to content

Add in-app vacation home (fritidshus) purchase flow (RND-1965)#2947

Open
hugokallstrom wants to merge 15 commits into
feat/in-app-pet-purchasefrom
feat/in-app-vacation-home-purchase
Open

Add in-app vacation home (fritidshus) purchase flow (RND-1965)#2947
hugokallstrom wants to merge 15 commits into
feat/in-app-pet-purchasefrom
feat/in-app-vacation-home-purchase

Conversation

@hugokallstrom
Copy link
Copy Markdown
Contributor

Summary

  • Adds feature-purchase-house module hosting the SE_VACATION_HOME (fritidshus) in-app purchase flow.
  • Mirrors the existing apartment / car / pet pattern: product-specific form, then handoff to shared purchase-common screens (tier select, summary, signing, success).
  • Wires fritidshusforsakring / vacation-home cross-sell URLs into the new flow via feature-insurances.
  • Form composable + ViewModel follow the pet form pattern: RadioChoiceRow with RadioGroupStyle.Labeled.HorizontalFlow, yesNoOptions() helper, radio values held in ViewModel state with per-field Update* events that clear their own error, text fields with rememberSaveable, English copy primary with Lokalise TODOs.
  • v1 sends extraBuildings: [] to the backend — the add-building dialog UI is deferred to a follow-up PR (called out in the design spec).
  • Module is forward-named feature-purchase-house so a SE_HOUSE form can be added later as a sibling composable without restructuring.

Base branch: feat/in-app-pet-purchase (depends on purchase-common and matches pet's form conventions). Will retarget to develop once the pet PR merges.

Design + plan: docs/superpowers/specs/2026-05-21-in-app-vacation-home-purchase-design.md and docs/superpowers/plans/2026-05-21-in-app-vacation-home-purchase.md.

Test plan

  • App builds (./gradlew :app:assemble) and Compose previews render.
  • From a logged-in member, opening a fritidshus cross-sell (URL contains fritidshusforsakring or vacation-home) routes to the new form.
  • Submit-time validation surfaces errors under each field for: empty street, zip ≠ 5 digits, missing radio selection, year < 1700 or > current year, empty/0 living space.
  • Filling all fields with valid values navigates to SelectTier showing BAS + STANDARD offers.
  • Tier select → Summary → BankID signing → Success path completes.
  • Pressing back from each step lands one step back; back from Form returns to the Insurances tab.
  • No-network state on initial load shows HedvigErrorSection with retry.

🤖 Generated with Claude Code

hugokallstrom and others added 15 commits May 21, 2026 11:09
Single feature-purchase-house module, vacation home first, extra-buildings UI
and SE_HOUSE form deferred to follow-up PRs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…purchase

13 tasks: scaffold feature-purchase-house module, Apollo ops, use cases,
ViewModel, form composable with 8 fields (3 radios, 1 stepper, 4 text/number),
nav graph, DI, cross-sell routing, app wiring, emulator verification.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Required for the housePurchaseModule and housePurchaseNavGraph wired in
the previous commit. sort-dependencies plugin alphabetized the file as
a side effect.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Use RadioChoiceRow with RadioGroupStyle.Labeled.HorizontalFlow label
- Add UpdateMultipleOwners/UpdateHasWaterConnected/UpdateIsSubleted events
  so radio values live in ViewModel state, clear their own error on change
- Switch text fields to rememberSaveable for config-change survival
- yesNoOptions() helper shared across the three boolean radios
- English copy primary with Lokalise TODO comments (matches pet)
- onEvent(VacationHomeFormEvent) handler replaces N individual callbacks

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hugokallstrom hugokallstrom requested a review from a team as a code owner May 21, 2026 09:32
@hugokallstrom hugokallstrom changed the title Add in-app vacation home (fritidshus) purchase flow Add in-app vacation home (fritidshus) purchase flow (RND-1965) May 21, 2026
@notion-workspace
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant