Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
380 commits
Select commit Hold shift + click to select a range
d7d246e
feat: Relocate the `LandingCTA` component for responsive display in `…
ObeeJ Jan 29, 2026
b9369a6
fix: rename images and add favicon
ObeeJ Jan 29, 2026
d5d6687
chore: remove debug console.log from Navbar
ObeeJ Jan 29, 2026
4f9006c
megred sanbox into drEnglish
MadubuiheJnr Jan 29, 2026
825cff5
refactor: replace external images with local assets, update Logo, and…
MadubuiheJnr Jan 29, 2026
870fe9f
cleanup: remove unused Twitter import in ContactCards
MadubuiheJnr Jan 29, 2026
db1d627
Merge pull request #32 from dwelix-project/drEnglish
ObeeJ Jan 30, 2026
a2e2e8f
Agent dashboard fix
Starr365 Jan 31, 2026
b873ad6
Merge remote-tracking branch 'origin/stella' into stella
Starr365 Jan 31, 2026
b900006
fix(edit-listing): resolve type mismatches in viewingWindows and requ…
MadubuiheJnr Feb 3, 2026
5628396
merge(sandbox): integrate latest sandbox into drEnglish with conflict…
MadubuiheJnr Feb 3, 2026
4cf97f9
fix: remove unused imports
MadubuiheJnr Feb 3, 2026
3ce1fbd
Merge pull request #33 from dwelix-project/drEnglish
ObeeJ Feb 3, 2026
27c2780
feat(property): implement tenant viewing request modal and booking fl…
MadubuiheJnr Feb 3, 2026
2c3cc55
Merge pull request #34 from dwelix-project/drEnglish
ObeeJ Feb 3, 2026
d18dc64
Refactor scout viewing workflow, implement media uploader, and add vi…
MadubuiheJnr Feb 3, 2026
128ef54
Updated Landlord application UI
Starr365 Feb 4, 2026
29fe3cc
Merge pull request #37 from dwelix-project/drEnglish
ObeeJ Feb 4, 2026
bc244df
Merge pull request #38 from dwelix-project/stella
ObeeJ Feb 4, 2026
e560df7
feat: replace booking form with inspection fee confirmation modal
MadubuiheJnr Feb 5, 2026
0145c2b
Merge pull request #39 from dwelix-project/drEnglish
ObeeJ Feb 6, 2026
0f35feb
feat(tenant): implement inspection payment flow with responsive UI
MadubuiheJnr Feb 6, 2026
46c60c9
fix(tenant): resolve build errors (unused vars, folder structure)
MadubuiheJnr Feb 6, 2026
f50fbd8
Merge pull request #40 from dwelix-project/drEnglish
ObeeJ Feb 6, 2026
9774d92
feat: implement payment feedback component and integrate with viewing…
MadubuiheJnr Feb 6, 2026
34a7799
Merge pull request #41 from dwelix-project/drEnglish
ObeeJ Feb 6, 2026
6124090
Refactor booking flow: Implementing post-payment schedule page, enfor…
MadubuiheJnr Feb 6, 2026
e4fa363
Merge pull request #42 from dwelix-project/drEnglish
ObeeJ Feb 6, 2026
a1c850b
Fix: added a validation logic to applications
Starr365 Feb 6, 2026
99b244f
Merge pull request #43 from dwelix-project/stella
ObeeJ Feb 6, 2026
fca1923
feat: implement tenancy application flow and refine scout reviews
MadubuiheJnr Feb 6, 2026
3c41126
Merge pull request #44 from dwelix-project/drEnglish
ObeeJ Feb 6, 2026
3e115ea
Fix: UI changes on the agent dashboard
Starr365 Feb 7, 2026
edf01a5
Merge sandbox into drEnglish (preferring local changes where conflict…
MadubuiheJnr Feb 9, 2026
0421c6a
feat: add http-client.ts for type-safe API requests and standardized …
MadubuiheJnr Feb 9, 2026
7841b94
feat: revamp landlord property creation flow with React Hook Form and…
MadubuiheJnr Feb 9, 2026
f17dd45
refactor: rename updateData to putData in http-client.ts
MadubuiheJnr Feb 9, 2026
5ee9d3a
chore: include user modifications to src/routes/index.tsx
MadubuiheJnr Feb 9, 2026
7dd6b67
Merge pull request #45 from dwelix-project/drEnglish
ObeeJ Feb 9, 2026
403dcbc
Refactor property edit flow from modal to full-page route-based wizard
MadubuiheJnr Feb 9, 2026
3ea5656
Merge pull request #46 from dwelix-project/drEnglish
ObeeJ Feb 9, 2026
e106707
Refactor Scout verification and viewing flows
MadubuiheJnr Feb 9, 2026
553f70a
Refactor Tenancy Application Flow
MadubuiheJnr Feb 10, 2026
acb385a
Merge pull request #47 from dwelix-project/drEnglish
ObeeJ Feb 10, 2026
ef0bab3
refactor: polish lawyer agreements UI and dashboard stats
MadubuiheJnr Feb 11, 2026
d453521
Merge pull request #48 from dwelix-project/drEnglish
ObeeJ Feb 11, 2026
d6d1177
feat(lawyer): enhance property verification details screen
MadubuiheJnr Feb 11, 2026
fc3a840
Merge pull request #49 from dwelix-project/drEnglish
ObeeJ Feb 11, 2026
89f9654
Refactor Lawyer Agreement Editor and Layout Corrections
MadubuiheJnr Feb 11, 2026
beeb7c7
Merge pull request #50 from dwelix-project/drEnglish
ObeeJ Feb 11, 2026
2b11556
Merge branch 'drEnglish' into stella
Starr365 Feb 12, 2026
68cbb5c
Refining Payment Page UI/UX: Enriched mock data, property carousels, …
Starr365 Feb 12, 2026
1603176
Merge pull request #51 from dwelix-project/stella
ObeeJ Feb 12, 2026
8af14f6
feat(lawyer-docs/comments): document viewer polish + comment-input fo…
MadubuiheJnr Feb 12, 2026
b38756b
Merge pull request #52 from dwelix-project/drEnglish
ObeeJ Feb 12, 2026
eb234e2
fix: refactored the comment input styling. The focus styles are now m…
MadubuiheJnr Feb 13, 2026
a2d4d0d
Merge pull request #53 from dwelix-project/drEnglish
ObeeJ Feb 13, 2026
e3caade
feat(lawyer-agreement-edit): implement modular rich text editor with …
MadubuiheJnr Feb 13, 2026
8f85f9f
Merge pull request #54 from dwelix-project/drEnglish
ObeeJ Feb 13, 2026
e82d010
feat(lawyer-agreement): implement comment bookmarking + repurpose tag…
MadubuiheJnr Feb 13, 2026
6ef6866
Merge branch 'sandbox' into drEnglish
MadubuiheJnr Feb 13, 2026
51c3430
fix: tsc error; removed unused import
MadubuiheJnr Feb 13, 2026
09e3c53
Merge pull request #55 from dwelix-project/drEnglish
ObeeJ Feb 13, 2026
d603214
merge sandbox
MadubuiheJnr Feb 14, 2026
e085a79
merge
MadubuiheJnr Feb 14, 2026
7f8dc32
cmmit
MadubuiheJnr Feb 14, 2026
e15eba6
Feat: Updated tenant payment page
Starr365 Feb 18, 2026
c3d8cda
Merge origin/stella into drEnglish, preferring local changes on confl…
MadubuiheJnr Feb 18, 2026
600b8c6
Refactor Wallet UX: standardized actions, unified withdrawal flow for…
MadubuiheJnr Feb 18, 2026
cac4546
Merge pull request #56 from dwelix-project/drEnglish
ObeeJ Feb 18, 2026
1f2318c
feat(scout): implement geolocation check-in and in-app directions
MadubuiheJnr Feb 18, 2026
14194a6
feat: refine property creation flow, add tenant map, fix stepper
MadubuiheJnr Feb 18, 2026
83619fe
feat: add navigation to agreement review from landlord/tenant dashboards
MadubuiheJnr Feb 19, 2026
2351604
Merge pull request #57 from dwelix-project/drEnglish
ObeeJ Feb 19, 2026
66206fb
Wallet overhaul: simplified Payout-only balance card, dashboard integ…
MadubuiheJnr Feb 20, 2026
1725fe8
Merge pull request #58 from dwelix-project/drEnglish
ObeeJ Feb 21, 2026
d2cc09d
Fix: Enchane Admin/Super admin dashboard
Starr365 Feb 21, 2026
1e4d70d
Chore: Updated the admin dashboard UX
Starr365 Feb 21, 2026
8b87770
Merge pull request #59 from dwelix-project/stella
ObeeJ Feb 21, 2026
af99d17
feat: scout location correction, refined address geocoding, and prope…
MadubuiheJnr Feb 23, 2026
9dbbf43
Merge pull request #62 from dwelix-project/drEnglish
ObeeJ Feb 23, 2026
ea9d2ba
Implement conventional Google Maps integration and unify PropertyLoca…
MadubuiheJnr Feb 24, 2026
c5e02f6
Fix unused variable and import lint errors
MadubuiheJnr Feb 24, 2026
4b13e94
Merge pull request #63 from dwelix-project/drEnglish
ObeeJ Feb 24, 2026
42d161b
Overhaul property creation flow to align with new API contract.
MadubuiheJnr Feb 24, 2026
6c98ee1
Merge pull request #64 from dwelix-project/drEnglish
ObeeJ Feb 24, 2026
4bae46a
feat(auth): wire all auth flows to real backend API
ObeeJ Feb 24, 2026
f6438f0
Refactor: move PropertyCard and related components to dedicated prope…
MadubuiheJnr Feb 25, 2026
e9072a5
Merge pull request #65 from dwelix-project/drEnglish
ObeeJ Feb 25, 2026
1265674
Implement tenant tenancy application submission, align listing featur…
MadubuiheJnr Feb 25, 2026
253f32c
Implement property creation, details retrieval, and listings for tena…
MadubuiheJnr Feb 25, 2026
5aa0155
feat: Implement comprehensive scout module API integration, including…
ObeeJ Feb 25, 2026
5861bd7
Implement PATCH /properties/applications/{id} and refactor landlord a…
MadubuiheJnr Feb 25, 2026
d080d23
feat: Implement scout availability management, incident reporting, an…
ObeeJ Feb 25, 2026
1a8b347
lawyer_implementation - e2e wire up
ObeeJ Feb 26, 2026
508da90
Implement Landlord Property Update flow and resolve Scout/Property TS…
MadubuiheJnr Feb 26, 2026
414bc4c
refactor: Update props to readonly and enhance accessibility in vario…
ObeeJ Feb 26, 2026
e9b1f98
Standardize Agreement and Comment types to snake_case and resolve bui…
MadubuiheJnr Feb 26, 2026
b1868e4
Merge sandbox into branch
MadubuiheJnr Feb 26, 2026
cbb45cb
Resolve merge regressions and fix tsconfig.json after sandbox sync
MadubuiheJnr Feb 26, 2026
aebf907
Cleanup: remove sensitive console.log in env.ts
MadubuiheJnr Feb 26, 2026
01cbb4d
fix: api endpoint
MadubuiheJnr Feb 26, 2026
a3df0b3
perf: lazy load html2pdf.js to reduce bundle size by 69%
ObeeJ Feb 26, 2026
5946d68
refactor(api): enhance service layer with improved error handling
ObeeJ Feb 26, 2026
9b1020f
feat(types): extend type definitions for auth and legal modules
ObeeJ Feb 26, 2026
a819187
refactor(store): update authStore with enhanced state management
ObeeJ Feb 26, 2026
30766db
feat(hooks): add new API hooks for notifications, payments, and agree…
ObeeJ Feb 26, 2026
0cedd3e
fix(auth): improve auth page UX and error handling
ObeeJ Feb 26, 2026
a24e394
feat(dashboard): enhance landlord and scout dashboards
ObeeJ Feb 26, 2026
a3aa019
feat(landlord): improve notifications and rent collection features
ObeeJ Feb 26, 2026
bc02003
refactor(agreements): redesign comments interface with improved UX
ObeeJ Feb 26, 2026
446d41e
fix(components): update UI components with bug fixes
ObeeJ Feb 26, 2026
bba7aa1
feat: sync API contracts, fix TS types, and build missing UI (phase 2)
MadubuiheJnr Feb 26, 2026
31c69a2
Contract sync
ObeeJ Feb 26, 2026
85283d1
feat: Implement comprehensive admin, legal, and authentication featur…
MadubuiheJnr Feb 27, 2026
7aa3918
vercel.json
ObeeJ Feb 27, 2026
563149a
fix: correct token refresh URL and add VITE_API_URL protocol guard
ObeeJ Feb 27, 2026
a2821bf
rate limit
ObeeJ Feb 27, 2026
4b6cc08
"Request failed with status code 401" is generic — Axios swallows the…
ObeeJ Feb 27, 2026
c43b832
Interceptor: don't redirect when the auth endpoints themselves retur…
ObeeJ Feb 27, 2026
c254253
All three bugs fixed in this flow:
ObeeJ Feb 27, 2026
e14ea78
fix(auth): extract backend error message in store, redirect unverifie…
ObeeJ Feb 27, 2026
d7c9554
chore: trigger vercel redeploy
ObeeJ Feb 27, 2026
e62b91c
fix(client): resolve TypeScript build errors in admin escrows query
MadubuiheJnr Feb 27, 2026
44961de
feat: update notifications, endpoints, auth service, and validation s…
ObeeJ Feb 27, 2026
195dd0f
user.roles as null even though the TypeScript type says UserRoleInfo[]
ObeeJ Feb 27, 2026
3e359e0
feat: complete API contract sync, ghost endpoint cleanup, and build fix
MadubuiheJnr Feb 27, 2026
fa8ec28
/assets/* — hashed filenames, cached for 1 year (safe, because hash c…
ObeeJ Feb 27, 2026
a2e4ccb
Added type="button" to the role card button (line 666)
ObeeJ Feb 27, 2026
7f6cae8
fix: PIN input not registering digits in setup modal
ObeeJ Feb 27, 2026
c55c68b
refactor: improve role onboarding and login flow
ObeeJ Feb 27, 2026
9090f04
For 409: a toast with a description and a "Log in" action button that…
ObeeJ Feb 27, 2026
96216b7
The stateFetchedRef guard ensures GET /auth/state only fires once per…
ObeeJ Feb 27, 2026
456f7aa
feat: restore route protection and clean up router file
MadubuiheJnr Feb 27, 2026
01a8b03
Removed isRoleOnboarded localStorage check entirely — replaced with !…
ObeeJ Feb 27, 2026
487a5c5
fix(auth): resolve user.roles null crashes and hydrate roles from /au…
ObeeJ Feb 27, 2026
43d5620
feat: tenant flow cleanup — real data, null states, button fixes and …
MadubuiheJnr Feb 27, 2026
be70185
feat(lawyer): full flow cleanup, real data wiring and UI audit
MadubuiheJnr Feb 27, 2026
49da116
feat(profile): wire profile management flow to real server endpoints
MadubuiheJnr Feb 27, 2026
c95be80
Fix: Pin Verify Success
Starr365 Feb 28, 2026
7a5d327
Fix: Auth side flow
Starr365 Feb 28, 2026
4eb1ed7
Fix: Linkt error fixed
Starr365 Feb 28, 2026
723cd11
Fix: Upgrade Node.js to 22 in CI workflow
Starr365 Feb 28, 2026
ffd45c2
fix(auth): remove erroneous createPin call from verifyPin
ObeeJ Feb 28, 2026
b886a0c
clean up
ObeeJ Feb 28, 2026
9427d03
fix(auth): skip onboard call when adding a new role to existing user
ObeeJ Feb 28, 2026
7c09ee0
Fix: Auth flow routing - server state check, direct add-role, no dupl…
Starr365 Feb 28, 2026
e856381
Merge remote sandbox, resolve conflicts (keep server-state routing)
Starr365 Feb 28, 2026
3aadc68
fix(api): wire all hooks to real endpoints, migrate listings off mock…
ObeeJ Mar 1, 2026
2eaf1c0
fix(tenant): unwrap tenancies array response in MyTenancy and Mainten…
ObeeJ Mar 1, 2026
86c802e
fix(auth): allow PENDING landlord role to access dashboard
ObeeJ Mar 1, 2026
7ef6d5d
fix(auth): SCOUT/LAWYER access matrix, token refresh after role switc…
ObeeJ Mar 1, 2026
97a8293
fix(auth): exchange TENANT login token for role-scoped token before l…
ObeeJ Mar 1, 2026
dfd1e4b
fix(auth): exchange token for role-scoped JWT after onboarding naviga…
ObeeJ Mar 1, 2026
bec1ced
fix(auth): pass PIN to switch-role and await token exchange before na…
ObeeJ Mar 1, 2026
ea4a91f
fix(auth): remove switchRole from login/onboarding — backend already …
ObeeJ Mar 1, 2026
5e24553
UI State → Validation → Server State (user.currentRole) → Correct Das…
ObeeJ Mar 1, 2026
a593259
fix: role switching with JWT token validation and PIN enforcement
ObeeJ Mar 1, 2026
af680ee
fix: role switch navigation and state management
ObeeJ Mar 1, 2026
7d6160f
fix: remove onboardedAt check blocking role switch
ObeeJ Mar 1, 2026
d4c0ee2
fix: implement PIN reset flow with backend integration
ObeeJ Mar 1, 2026
e664305
VITE_API_BASE_URL
ObeeJ Mar 1, 2026
77f11be
fix: full-stack gap audit — wire all endpoints, replace mock data, fi…
ObeeJ Mar 2, 2026
1c27f9d
fix: resolve remaining TS errors and accessibility warnings
ObeeJ Mar 2, 2026
e620afe
fix: resolve build-breaking TS errors
ObeeJ Mar 2, 2026
4f01218
feat(auth): implement refresh token auto-renewal with in-memory token…
MadubuiheJnr Mar 2, 2026
d6bfeb4
fix(profile): resolve profile sheet/drawer fetch error, implement res…
MadubuiheJnr Mar 2, 2026
f509868
Fix:Refactor agent/scout dashboard to handle APi calls
Starr365 Mar 2, 2026
11f9827
Fix: Role switch navigation loop + pending approval dialog for verifi…
Starr365 Mar 3, 2026
ce601af
refresh token fix
ObeeJ Mar 3, 2026
aedff9a
Merge branch 'sandbox' of github.com:dwelix-project/dwelix into sandbox
ObeeJ Mar 3, 2026
8bb3133
Fix: Remove clearRefreshToken call causing Netlify build failure
Starr365 Mar 3, 2026
8729a16
Merge branch 'sandbox' of https://github.com/dwelix-project/client-si…
Starr365 Mar 3, 2026
0060720
All JWT decoding has been removed. Frontend now treats JWT as opaque …
ObeeJ Mar 3, 2026
455bb06
refersh CD
ObeeJ Mar 3, 2026
2417b62
refactor: centered all states on scout and agent on zustand
Starr365 Mar 3, 2026
168ad28
Merge branch 'sandbox' of https://github.com/dwelix-project/client-si…
Starr365 Mar 3, 2026
9fec0d8
Refactor:handling error messages effectively and ensured agent dashbo…
Starr365 Mar 3, 2026
21d3e05
fix(auth): Correct RoleOnboarding redirects and RoleSwitchModal pendi…
Starr365 Mar 3, 2026
2887099
fix(api): resolve 400 on dashboard, 404 ghost conversations endpoint,…
MadubuiheJnr Mar 3, 2026
944d718
fix(onboarding): resolve 400 on POST /auth/add-role by correcting pay…
MadubuiheJnr Mar 3, 2026
44bd4dd
null type fix
ObeeJ Mar 3, 2026
6825328
fix(auth): resolve 403 on POST /auth/switch-role by correcting role a…
MadubuiheJnr Mar 3, 2026
56d0216
Applying the fix to replace mock setTimeout with real API calls in Ky…
ObeeJ Mar 3, 2026
6a2528d
fix(auth): resolve post-onboarding missing redirect to new role dashb…
MadubuiheJnr Mar 3, 2026
6e83781
fix(kyc): resolve TS2345 KYCStatus type mismatch in KycVerificationMo…
MadubuiheJnr Mar 3, 2026
3a837b6
fix: Replace mock implementations with real API calls
ObeeJ Mar 3, 2026
7ce68c1
API response structure mismatch
ObeeJ Mar 4, 2026
7a45b38
normalizing the data structures in RecentApplicationsSection.tsx and
ObeeJ Mar 4, 2026
200564f
fix(pin): remove auto-submit on last digit entry, wire CTA as only su…
MadubuiheJnr Mar 4, 2026
e779081
super-admin fix and clean up
ObeeJ Mar 4, 2026
7824c24
I've completed the task. I fixed the TypeError in Finance.tsx and ot…
ObeeJ Mar 4, 2026
bab2006
resolved several critical issues to ensure the application is stable …
ObeeJ Mar 4, 2026
526d487
I've addressed the 404 error for the /admin/users endpoint by reverti…
ObeeJ Mar 4, 2026
f446dd6
chore(cleanup): delete mockHandlers.ts and initMockOnboarding, remove…
MadubuiheJnr Mar 4, 2026
3253d49
feat: add SUPER_ADMIN dashboard features
ObeeJ Mar 4, 2026
83ef805
feat(profile): remove userId/lastLoginIp/memberSince fields, add KYC …
MadubuiheJnr Mar 4, 2026
a3d7e29
fix: remove icon on alert in profile management drawer
MadubuiheJnr Mar 4, 2026
e953d84
fix(kyc): remove duplicate /api/v1 prefix from KYC endpoint paths in …
MadubuiheJnr Mar 4, 2026
3bfef5a
feat(landlord): replace raw HTML date/time inputs with shadcn DatePic…
MadubuiheJnr Mar 4, 2026
15513c9
feat: implement complete KYC verification system with admin monitoring
ObeeJ Mar 4, 2026
b081d9f
fix: complete KYC system integration
ObeeJ Mar 4, 2026
ab7b0fa
fix: Scout Ops crash and KYC 404 errors
ObeeJ Mar 4, 2026
a5f49e7
refactor: remove all mock data from SuperAdmin/Admin dashboards
ObeeJ Mar 4, 2026
6909978
refactor: remove mock data from Finance page
ObeeJ Mar 4, 2026
ee8d8b5
fix(property): correct upload path /upload → /uploads, remove non-exi…
MadubuiheJnr Mar 4, 2026
6a31892
fix(auth): update role active logic and fix PENDING redirect rules
Starr365 Mar 4, 2026
c0f26c6
fix(auth): update role types to resolve typescript exceptions
Starr365 Mar 4, 2026
90785ee
fix(upload): correct image upload path from /upload/image to /uploads…
MadubuiheJnr Mar 4, 2026
772e907
Merge branch 'sandbox' of https://github.com/dwelix-project/client-si…
Starr365 Mar 4, 2026
d07ab27
fix(role-switch): remove circular redirect for PENDING roles in RoleS…
Starr365 Mar 5, 2026
614321f
fix(auth): harden PENDING LAWYER routing with server verification and…
Starr365 Mar 5, 2026
2aceb1a
fix(api): use snake_case payload fields for switchRole and addRole to…
Starr365 Mar 5, 2026
bafcc57
fix(role-switch): always show PIN modal, remove stale session cache, …
Starr365 Mar 5, 2026
c19f6f4
fix(role-switch): defensive role mapping with triple-fallback, Zustan…
Starr365 Mar 5, 2026
2334eba
feat(ui): centralize error messages and standardize validation/toast …
Starr365 Mar 5, 2026
b26e8e5
feat: enhance login error handling with rate limiting and email verif…
ObeeJ Mar 5, 2026
8342252
upload fixes
ObeeJ Mar 5, 2026
2216c62
fix: resolve build issues and finalize upload service
ObeeJ Mar 5, 2026
152c216
fix(auth): align role & auth payloads with backend, fix verify-email …
Starr365 Mar 5, 2026
de1cb69
feat(scout): synchronize api mappings and cleanup redundant hooks
Starr365 Mar 5, 2026
627c290
fix(auth): sync role management payloads/endpoints and remove redunda…
Starr365 Mar 5, 2026
aca1c41
fix(auth): resolve build errors by updating generated views with corr…
Starr365 Mar 5, 2026
f8abddd
fix(upload): add dedicated upload timeout and fix RoleOnboarding synt…
ObeeJ Mar 6, 2026
e12a083
fix(upload): clear Content-Type header to allow multipart/form-data
ObeeJ Mar 6, 2026
1dbb381
fix(upload): clear Content-Type in PhotosUploader direct postData call
ObeeJ Mar 6, 2026
df90d7a
Align auth and role access with backend
iamonah Mar 6, 2026
87a1851
Align tenant landlord and scout workflows
iamonah Mar 6, 2026
55590b7
Refactor admin workflows to match backend APIs
iamonah Mar 6, 2026
798bb66
Normalize frontend lockfile under npm 10
iamonah Mar 6, 2026
cf158c8
Merge pull request #68 from dwelix-project/codex/sandbox-backend-alig…
ObeeJ Mar 7, 2026
58ce3c2
fix(property): gate isOwner on LANDLORD role to prevent cross-role UI…
ObeeJ Mar 7, 2026
7da39ea
perf(auth): speed up auth route startup
iamonah Mar 7, 2026
43f0bc1
perf(maps): defer Google Maps bootstrapping
iamonah Mar 7, 2026
0b95712
fix(scout): harden and defer verification map
iamonah Mar 7, 2026
5fd545a
perf(public): lazy load noncritical hero media
iamonah Mar 7, 2026
d396547
fix(viewings): remove broken inspection payment redirect
iamonah Mar 7, 2026
50a7f7f
fix(auth): harden session restore and normalize errors
iamonah Mar 7, 2026
fd55b84
perf(build): drop html2pdf and pin build runtime
iamonah Mar 7, 2026
d8197d7
fix(nav): correct post-action navigation to valid routes
ObeeJ Mar 7, 2026
8e4ca75
feat(payments): support callback verification flows
iamonah Mar 7, 2026
6d2c60a
feat(viewings): add inspection payment checkout UX
iamonah Mar 7, 2026
8f8d6ed
Merge pull request #69 from dwelix-project/perf/auth-map-load-optimiz…
ObeeJ Mar 7, 2026
f4b3cf0
feat(auth): replace static left panel with 2-slide carousel, fix logi…
ObeeJ Mar 7, 2026
9d20189
fix(admin-login): blur background image, white Dwelix heading, fix fo…
ObeeJ Mar 7, 2026
3bf3000
fix(applications): enforce valid status transitions in landlord UI
ObeeJ Mar 7, 2026
2d9bb2f
fix(kyc): handle empty government_name in name mismatch dialog
ObeeJ Mar 7, 2026
4467052
feat(guards): wire KycGuard into route tree for all role-gated pages
ObeeJ Mar 7, 2026
2f282fc
fix(kyc): hide Back button in manual mode when government name is una…
ObeeJ Mar 7, 2026
a00966d
refactor(kyc): move landlord gates from routes to action points
ObeeJ Mar 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
File renamed without changes.
22 changes: 22 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
plugins: ['react-refresh'],
rules: {
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
'no-empty': 'warn',
'no-useless-catch': 'warn',
},
};
73 changes: 73 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Deploy DWELIX Client

on:
push:
branches: [dev, staging, main]
pull_request:
branches: [main]

env:
GCP_REGION: us-central1

jobs:
deploy:
runs-on: ubuntu-latest
if: github.event_name == 'push'

steps:
- uses: actions/checkout@v4

- name: Set environment variables
run: |
if [[ "${{ github.ref_name }}" == "main" ]]; then
echo "ENVIRONMENT=production" >> $GITHUB_ENV
echo "GCP_PROJECT_ID=dwelix-prod" >> $GITHUB_ENV
echo "SERVICE_NAME=dwelix-client" >> $GITHUB_ENV
elif [[ "${{ github.ref_name }}" == "staging" ]]; then
echo "ENVIRONMENT=staging" >> $GITHUB_ENV
echo "GCP_PROJECT_ID=dwelix-staging" >> $GITHUB_ENV
echo "SERVICE_NAME=dwelix-client-staging" >> $GITHUB_ENV
elif [[ "${{ github.ref_name }}" == "dev" ]]; then
echo "ENVIRONMENT=development" >> $GITHUB_ENV
echo "GCP_PROJECT_ID=dwelix-dev" >> $GITHUB_ENV
echo "SERVICE_NAME=dwelix-client-dev" >> $GITHUB_ENV
fi

- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}

- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2

- name: Deploy to Cloud Run
run: |
gcloud builds submit --config cloudbuild.yaml \
--substitutions=BRANCH_NAME=${{ github.ref_name }} \
--project=${{ env.GCP_PROJECT_ID }}

test:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Type check
run: npm run type-check

- name: Lint
run: npm run lint

- name: Build
run: npm run build
93 changes: 93 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Dependencies
node_modules/
/.pnp
.pnp.js

# Production build
/dist
/build

# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/
*.lcov

# nyc test coverage
.nyc_output

# ESLint cache
.eslintcache

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Storybook build outputs
.out
.storybook-out

# Temporary folders
tmp/
temp/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# Local Netlify folder
.netlify*.png
*.jpeg
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
25.8.0
8 changes: 8 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 80,
"tabWidth": 2,
"useTabs": false
}
47 changes: 47 additions & 0 deletions BACKEND_MISSING_ENDPOINTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Missing Backend Endpoints

## Critical: PIN Reset Flow

**Status:** ❌ NOT IMPLEMENTED

### Required Endpoints

1. **POST /auth/forgot-pin**
- Request body: `{ email: string }`
- Response: `{ message: string }`
- Action: Send PIN reset email with token

2. **POST /auth/reset-pin**
- Request body: `{ token: string, newPin: string }`
- Response: `{ message: string }`
- Action: Reset PIN using email token

### Current Frontend Implementation

- `/src/pages/auth/ForgotPin.tsx` - Mock implementation (line 19)
- `/src/pages/auth/ResetPin.tsx` - Likely also mock

### Impact

Users cannot reset their PIN if forgotten, blocking role switching functionality.

### Workaround

Admin must manually reset user PIN in database.

---

## Issue: Invalid PIN Error

**Error:** `POST /auth/switch-role` returns 403 "Invalid role or PIN"

### Possible Causes

1. PIN not set for role
2. PIN mismatch
3. Role not properly onboarded
4. Backend PIN validation logic issue

### Frontend Fix Applied

Better error messaging in `RoleSwitchModal.tsx` to guide users.
31 changes: 31 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Build stage
FROM node:18-alpine as build

WORKDIR /app

# Copy package files
COPY package*.json ./

# Install dependencies
RUN npm ci --only=production

# Copy source code
COPY . .

# Build the application
RUN npm run build

# Production stage
FROM nginx:alpine

# Copy built assets from build stage
COPY --from=build /app/dist /usr/share/nginx/html

# Copy nginx configuration
COPY nginx.conf /etc/nginx/nginx.conf

# Expose port 8080 (Cloud Run requirement)
EXPOSE 8080

# Start nginx
CMD ["nginx", "-g", "daemon off;"]
File renamed without changes.
Loading