Web Management

Next.js property management portal (apps/web/management, port 3004). Same auth-only shell pattern as web-companies/web-offices, but with a likely-unfinished detail: SignupForm's defaultRole is currently "INDIVIDUAL", not a management-specific role.

management-shell-scope

Portal is correctly scoped to an auth-only shell (known gap)

P1

Verify that apps/web/management currently only exposes the splash page and the three auth routes, so that this is tracked as expected current scope rather than filed as a missing property-manager-dashboard bug.

No frame linked yet

Acceptance Criteria

  • AC-01/ shows the 'بيوتنا للإدارة' splash with working links to login/signup.
  • AC-02No property-management-specific routes (unit management, maintenance requests, etc.) exist yet.
  • AC-03This story should be replaced with real dashboard coverage once a management dashboard ships.

Test Scenarios

  • TC-01Crawl all links from the splash page and confirm none 404.
  • TC-02Deep-link a plausible dashboard URL and confirm a clean 404.
management-signup-role-bug

Signup defaults to INDIVIDUAL instead of a management-specific role — verify intentional or file as a bug

P0

Verify what role is actually submitted when a user signs up through apps/web/management, because SignupForm here is configured with defaultRole="INDIVIDUAL" — the same as no role selection at all — which looks like it may be an oversight left over from copying the web-companies/web-offices template rather than an intentional choice.

No frame linked yet

Acceptance Criteria

  • AC-01Confirm with product/eng whether accounts created via this portal are supposed to be INDIVIDUAL, or a dedicated MANAGEMENT-type role that hasn't been wired up yet.
  • AC-02If INDIVIDUAL is unintentional: file a bug against apps/web/management/src/app/auth/signup (or wherever defaultRole is set) rather than treating current behavior as correct.
  • AC-03If INDIVIDUAL is intentional (e.g. management accounts are provisioned differently, not via self-signup): document that explicitly so this story doesn't get re-flagged every regression pass.

Test Scenarios

  • TC-01Complete signup on this portal and check via network inspector / admin /users table what role the created account actually has.
  • TC-02Compare against the equivalent signup flow on web-companies (defaultRole="COMPANY") and web-offices (defaultRole="OFFICE") to confirm this portal is the outlier.
  • TC-03Escalate to the team before closing this out either way — this is exactly the kind of copy-paste-template bug that's easy to miss without cross-portal comparison.
management-shared-form-parity

Shared auth-form behavior stays in parity with the other portal shells

P2

Verify that, aside from the role question above, apps/web/management's auth forms behave identically to web-companies/web-offices since they share the same @buyootna/ui components, so that any shared-component fix or regression is checked across all three portals, not just the one where it was first found.

No frame linked yet

Acceptance Criteria

  • AC-01Validation behavior (non-empty checks, password confirm match, no zod/regex) matches web-companies and web-offices exactly.
  • AC-02Forgot-password success/error states match the other two portals.

Test Scenarios

  • TC-01Run the same auth test cases used for web-companies and web-offices against web-management and confirm identical behavior apart from the role field.