Skip to content

feat(onboarding): let a user pick any country, badged as limited support - #22

Merged
suiramdev merged 1 commit into
devfrom
feat/enable-all-countries
Sep 7, 2026
Merged

feat(onboarding): let a user pick any country, badged as limited support#22
suiramdev merged 1 commit into
devfrom
feat/enable-all-countries

Conversation

@suiramdev

@suiramdev suiramdev commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

The onboarding country step listed 196 countries but let a user select France only: every other row was a disabled button badged "Not supported yet", so a reader outside France could not finish onboarding. Every country is now selectable, and a country Freenary does not support fully keeps a badge — now Limited support — in its label and in its accessible name. Look first at country-option.tsx, where the disabled prop and its dead disabled:* classes are gone.

Motivation

  • A non-French user reached a dead end, and onboarding gates every other screen.
  • Nothing outside that button needed the gate: completeOnboarding takes any country string, listInstitutions already asks the provider per country.
  • The badge already carried the honest part; only "you cannot select this" was wrong.
  • packages/api's SUPPORTED_COUNTRIES is a different axis (keyword and parser layers) and stays untouched.

Drawbacks

  • A user whose provider covers no bank now reaches the bank step and sees an empty list. Previously unreachable, now documented.
  • Categorisation is weaker outside France, and one badge is all the interface says about it.
  • The two message keys were renamed, not redefined, so an external catalog copy loses those strings.
  • France stays hoisted to the top; this PR does not revisit that.

Prior art

  • The bank step already offers what the provider returns and reports an empty list rather than hiding itself.
  • Country gates in banking apps usually encode regulation; this one only encoded rule coverage.
  • Keeping the sort hoist and dropping the block matches how the search box ranks instead of blocking.

Notes

  • Visual change: yes. Every row is interactive; the badge reads "Limited support" / "Prise en charge limitée". Checked in light and dark mode.
  • Verified in the running stack: 196 rows, 0 disabled; Germany → Continue → bank step → Finish → Home, country=DE in Postgres. Both new strings checked in French.
  • No test added: one predicate plus a removed prop, proven against the app. bun run check, check-types and build pass.
  • Docs updated: guides/first-steps.mdx and self-hosting/bank-providers.mdx.
  • Review: the reviewer agent requested changes on three docs claims, then returned approved with no findings.
  • No migration, no breaking change, no merge-order constraint.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 2e6fb323-fb66-4cfa-bfa3-b3a52d253d9b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@suiramdev
suiramdev changed the base branch from main to dev September 7, 2026 09:41
The country step let a user select France only; every other country
rendered as a disabled button badged "Not supported yet", so a reader
outside France could not finish onboarding at all.

Every country is now selectable. A country with no Freenary rules of its
own keeps a badge, now "Limited support", and its accessible name says
the same, so the state is still visible without blocking the flow.
@suiramdev
suiramdev force-pushed the feat/enable-all-countries branch from 679dfe5 to 893fe38 Compare September 7, 2026 09:42
@suiramdev
suiramdev merged commit d0c5df2 into dev Sep 7, 2026
3 checks passed
@suiramdev
suiramdev deleted the feat/enable-all-countries branch September 7, 2026 09:43
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