Skip to content

feat(frontend): help center at /help - #412

Merged
nourshoreibah merged 5 commits into
mainfrom
feat/help-center
Oct 16, 2026
Merged

nourshoreibah merged 5 commits into
mainfrom
feat/help-center

Conversation

@nourshoreibah

Copy link
Copy Markdown
Collaborator

What

Adds a help center at /help (served at branchaccounting.org/help once deployed): 11 short, numbered how-to guides, with screenshots that have a red box around each click target.

  • Sections: Accounts, Expenses, Projects, Donors & donations, Reports. Admin-only guides carry an Admins tag.
  • Steps: one line each. Page names in steps link to the page ([Expenses](/expenses) in guides.ts).
  • Good to know: short product rules per guide, e.g. only approved expenses count toward spending, and deleting a project deletes its expenses, donations, staff and reports.
  • Links into help: "Help" in the sidebar and on the login page.

How

  • New open route class in lib/routes.ts for /help/**, readable signed in or out. AuthGate lets it through.
  • providers.tsx renders open routes outside the Chakra/Auth shell. The help pages are prerendered with real content, and Chakra's Emotion styles inline into SSR HTML, which caused React hydration error fix(frontend): center the forgot and reset password pages #418.
  • [slug]/page.tsx uses generateStaticParams, so every guide is its own static document. The existing CloudFront rewrite already maps /help/x to /help/x/index.html, so no infra change is needed.
  • Screenshots come from a local stack with fictional seeded data. No production data and no real names.
  • test/app/HelpGuides.test.ts fails on a missing screenshot, missing alt text, or a link to a page that doesn't exist.

Also fixed (separate commits)

  • Lambda Dockerfiles never built shared/rbac or shared/store, so make up failed with Cannot find module '@branch/rbac'.
  • api.ts: local dev routed any path with a query string (e.g. /expenditures?page=1) to the auth port. This affects local dev only; production uses NEXT_PUBLIC_API_BASE_URL.

Existing bugs found while capturing (not fixed here)

  • /forgot-password content is unstyled and stuck flush-left.
  • Expense table dates show one day early (UTC to local shift). The review dialog shows the right date.
  • The expense amount field drops the decimal point: typing 185.40 gives 18,540.
  • Profile page goes blank when /auth/mfa-status fails, because one failed call in Promise.all hides everything.
  • Only admins can read admin notes, so "Needs Info" doesn't tell the submitter what's missing.
  • docker-compose.yml pins the network name branch-network, so a second compose project (e.g. from a worktree) shares DNS with the main stack and its postgres host.

Checks

  • Frontend jest: 428 passed, 2 skipped. tsc --noEmit and eslint are clean.
  • npm run build exports /help plus 11 guide pages.
  • Ran the static export in a browser: no console errors, links and tags render.

🤖 Generated with Claude Code

nourshoreibah and others added 5 commits October 16, 2026 18:54
lambda-auth depends on @branch/rbac and every lambda depends on
@branch/store, but the Dockerfiles never copied or built either, so
`make up` failed with "Cannot find module '@branch/rbac'".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
resolveBaseUrl split on '/' only, so '/expenditures?page=1' looked up
service 'expenditures?page=1', missed, and fell back to the auth port.
Local dev only; production sets NEXT_PUBLIC_API_BASE_URL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Short numbered how-to guides with annotated screenshots, one page per
guide, prerendered into the static export. /help is a new 'open' route
class: readable signed in or out, and rendered outside the Chakra/Auth
shell so the prerendered HTML hydrates cleanly. Linked from the sidebar
and the login page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sections now follow the app's areas (Accounts, Expenses, Projects,
Donors & donations, Reports) with an Admins tag on admin-only guides.
Each guide can carry short product rules, e.g. only approved expenses
count toward spending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nourshoreibah nourshoreibah added the no-review The PR review bot won't run label Oct 16, 2026
@nourshoreibah
nourshoreibah marked this pull request as ready for review October 16, 2026 22:59
@nourshoreibah
nourshoreibah merged commit eac8a3a into main Oct 16, 2026
20 checks passed
@nourshoreibah
nourshoreibah deleted the feat/help-center branch October 16, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-review The PR review bot won't run

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant