HAFB-16: Injecting components > Agent Intake #98
Open
sophialu23 wants to merge 13 commits into
Open
Conversation
Move step pages into components and drive navigation with in-memory step state at /agent-intake, matching the donate flow pattern. Legacy step URLs redirect to the main entry. Co-authored-by: Cursor <cursoragent@cursor.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…r, created service area notice as the centralized use for banner > donate uses it too
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jira ticket link
https://linear.app/uw-blueprint/issue/HAFB-16/inject-components-agent-intake
Implementation description
This PR refactors the agent-intake flow to use shared components from
frontend/common/components/instead of duplicated inline markup, after merging the latest shared form/layout components frommain.New shared components
FormField— wrapsLabel, any input (viachildren), andFieldErrorinto a consistent field layout (gap-1.5, optional required asterisk).FieldError— thin wrapper aroundInputErrorfor validation messages.Agent-intake updates
IntakeLayout— uses sharedHeaderandFooterinstead of custom header/footer nav; keepsStepIndicatorfor step progress (routed Next.js pages, notMultiStepLayout).agency/page.tsx,main-agent/page.tsx,AgentCard— form fields refactored toFormField+ sharedInput/Select.review/page.tsx— review cards use sharedCard,Badge,Button; success state uses sharedDialoginstead of a custom fixed overlay.other-agents/page.tsx— empty state uses sharedCard.Footer extensions
isBackDisabled,backVariant, andsubmittingLabelprops so the sharedFootersupports intake-specific back/submit behavior.Intentionally not replaced
MultiStepLayout— different architecture (internal step state vs routed intake pages).FormBreadcrumb— intake uses verticalStepIndicator, not horizontal breadcrumbs.SelectAndCombo,FurnitureItemCard,FileUpload) — not used in agent-intake.Steps to test
Select; confirm labels focus inputs when clicked.Dialogshould appear, then redirect as before.npm run lintandnpm run type-checkinfrontend/.What should reviewers focus on?
FormFieldabstraction — is the label/input/error wrapper the right level of reuse, or too thin?IntakeLayout+Footer— back/next disabled states, submit error alert, and “Maybe later” label logic unchanged after switching to sharedFooter.AgentCard— admin checkbox + tooltip row left custom (not wrapped inFormField); confirm that still looks/behaves correctly.Dialogstyling vs the previous custom overlay (size, overlay, no close button).main(e.g.Header,Footer,MultiStepLayout, component gallery updates); focus review on agent-intake wiring if diff is large.Checklist
Format for branch, commit, and PR title: docs/GIT.md.