Skip to content

feat: Onboarding / Auth Flow Frontend#184

Open
tars919 wants to merge 23 commits intomainfrom
onboarding-lofi
Open

feat: Onboarding / Auth Flow Frontend#184
tars919 wants to merge 23 commits intomainfrom
onboarding-lofi

Conversation

@tars919
Copy link
Copy Markdown
Contributor

@tars919 tars919 commented Mar 17, 2026

Description

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (code improvement without changing functionality)
  • Documentation update
  • Configuration/infrastructure change
  • Performance improvement
  • Test coverage improvement

Related Issue(s)

Closes #131

What Changed?

  • full onboarding flow with 5 steps
  • Shared LeftPanel component reused across all steps to keep layout consistent
  • All steps use mock/local data for now, no backend integration yet

Testing & Validation

How this was tested

  1. Ran the web dev server locally
  2. Clicked through the Employee flow and manager flow

Screenshots/Recordings

Unfinished Work & Known Issues

  • [x ] None, this PR is complete and production-ready
  • The following items are intentionally deferred:



Notes & Nuances



Pre-Merge Checklist

Code Quality

  • [x ] Code follows the project's style guidelines and conventions
  • [ x] Self-review completed (I've reviewed my own code for obvious issues)
  • [x ] No debugging code, console logs, or commented-out code left behind
  • [x ] No merge conflicts with the base branch
  • [x ] Meaningful commit messages that explain the "why"

Testing & CI

  • [x ] All CI checks are passing
  • [x ] All new and existing tests pass locally
  • [x ] Test coverage hasn't decreased (or decrease is justified)
  • [ x] Linting passes without errors

Documentation

  • [x ] Code is self-documenting or includes helpful comments for complex logic
  • [x ] API documentation updated (if backend endpoints changed)
  • [x ] Type definitions are accurate and up-to-date

Reviewer Notes

  • Areas needing extra attention: ...
  • Questions for reviewers: ...

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 17, 2026

Codecov Report

❌ Patch coverage is 0.22727% with 439 lines in your changes missing coverage. Please review.
✅ Project coverage is 9.09%. Comparing base (1b14b08) to head (552f821).

Files with missing lines Patch % Lines
.../src/components/onboarding/PropertyDetailsStep.tsx 0.00% 90 Missing ⚠️
...s/web/src/components/onboarding/OnboardingPage.tsx 0.00% 65 Missing ⚠️
clients/web/src/routeTree.gen.ts 0.00% 61 Missing ⚠️
...s/web/src/components/onboarding/InviteTeamStep.tsx 0.00% 56 Missing ⚠️
...eb/src/components/onboarding/RoleSelectionStep.tsx 0.00% 43 Missing ⚠️
...web/src/components/onboarding/EmployeeRoleStep.tsx 0.00% 37 Missing ⚠️
...s/web/src/components/onboarding/onboardingMocks.ts 0.00% 29 Missing ⚠️
...ents/web/src/components/onboarding/WelcomeStep.tsx 0.00% 24 Missing ⚠️
clients/web/src/components/onboarding/RoleCard.tsx 5.00% 19 Missing ⚠️
...lients/web/src/components/onboarding/LeftPanel.tsx 0.00% 11 Missing ⚠️
... and 1 more
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##            main    #184      +/-   ##
========================================
- Coverage   9.77%   9.09%   -0.68%     
========================================
  Files        126     136      +10     
  Lines       5024    5410     +386     
  Branches      24      24              
========================================
+ Hits         491     492       +1     
- Misses      4522    4907     +385     
  Partials      11      11              
Flag Coverage Δ
backend 20.49% <ø> (ø)
mobile 84.00% <ø> (ø)
web 0.64% <0.22%> (-0.06%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
clients/web/src/routes/onboarding.tsx 0.00% <0.00%> (ø)
...lients/web/src/components/onboarding/LeftPanel.tsx 0.00% <0.00%> (ø)
clients/web/src/components/onboarding/RoleCard.tsx 5.00% <5.00%> (ø)
...ents/web/src/components/onboarding/WelcomeStep.tsx 0.00% <0.00%> (ø)
...s/web/src/components/onboarding/onboardingMocks.ts 0.00% <0.00%> (ø)
...web/src/components/onboarding/EmployeeRoleStep.tsx 0.00% <0.00%> (ø)
...eb/src/components/onboarding/RoleSelectionStep.tsx 0.00% <0.00%> (ø)
...s/web/src/components/onboarding/InviteTeamStep.tsx 0.00% <0.00%> (ø)
clients/web/src/routeTree.gen.ts 0.00% <0.00%> (ø)
...s/web/src/components/onboarding/OnboardingPage.tsx 0.00% <0.00%> (ø)
... and 1 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@GenerateNU GenerateNU deleted a comment from vercel bot Mar 24, 2026
Copy link
Copy Markdown
Contributor

@danctila danctila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just a couple things I noticed with the responsiveness:

we probably only really have to worry about getting down to around tablet size but either way its good to be more flexible than not

SelfServe text here is fixed:

CleanShot.2026-03-24.at.14.19.27.mp4

The outer container just shrinks width wise too much - it shouldn't be hardcoded but we ideally don't want it to stretch/shrink with each step that has different content inside:

CleanShot.2026-03-24.at.14.22.13.mp4

other things

  • all the components should use named exports instead of default exports
    • 5 step componetns + left panel + role card + onboarding page should change
  • change interface Xprops to type Xprops = {...} for consitency
  • change the inline style={{}} props to Tailwind
    • RoleCard.tsx does this correctly / uses Tailwind but isn't rendered anywhere. I think RoleSelectionStep and EmployeeRoleStep use inline styles to define this card
  • change the hardcoded colors to use our design tokens in styles.css

Copy link
Copy Markdown
Contributor

@danctila danctila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐐 ed job implementing the changes requested 🔥

the only thing I see left is the inline styles - if you could convert them to tailwind classes that would be the last thing then this is G2G

@danctila danctila changed the title feat: auth lo fi screens feat: web onboarding Apr 1, 2026
@danctila danctila changed the title feat: web onboarding feat: web onboarding FE Apr 1, 2026
@danctila danctila linked an issue Apr 1, 2026 that may be closed by this pull request
@danctila danctila changed the title feat: web onboarding FE feat: Onboarding / Auth Flow Frontend Apr 1, 2026
@tars919 tars919 requested a review from danctila April 4, 2026 17:02
danctila
danctila previously approved these changes Apr 4, 2026
Copy link
Copy Markdown
Contributor

@danctila danctila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - I would just double check with @Dao-Ho on visuals to make sure things look / feel the same as before the style replacements 👍

Copy link
Copy Markdown
Contributor

@Dao-Ho Dao-Ho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For sizing, use tailwind rem sizing instead of hard pixels

For colors, never use taliwind defaults or hex codes, use color variables defind in our figma and styles.css if missing, add the new colors

┌──────────────▼──────────────────────────┐
│ Storage Layer │
│ (internal/service/storage/postgres/) │
│ The Database itself │
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to delete this?

name: selfserve-binary
path: backend/bin/selfserve
retention-days: 7 No newline at end of file
retention-days: 7
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file shouldn't have been updated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same cmt, make sure your prettier config is setup properly. Lots of unrelated changes here

@@ -190,4 +194,3 @@ The application reads configuration from environment variables (loaded from `con
- `LLM_TIMEOUT`: Response timeout in seconds (default: 60)
- `LLM_MAX_OUTPUT_TOKENS`: Max tokens for generation; lower values reduce latency (default: 1024)
- `LLM_TEMPERATURE`: Sampling temperature 0–1; lower is more deterministic and often faster for extraction
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was no tangible change in this file - there shouldn't be changes here either

@tars919 tars919 requested a review from Dao-Ho April 4, 2026 18:19
Copy link
Copy Markdown
Contributor

@Dao-Ho Dao-Ho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like your diffs are back, your prettier might not be using the config or these changes are left over from previous diffs.

name: selfserve-binary
path: backend/bin/selfserve
retention-days: 7 No newline at end of file
retention-days: 7
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same cmt, make sure your prettier config is setup properly. Lots of unrelated changes here

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Onboarding / Auth Flow Frontend

3 participants