Update client-side redirection logic across multiple routes to ensure
routing decisions are only made after the profile data has been
successfully fetched from the server. This prevents premature or
incorrect redirects based on stale or incomplete hydrated data.
- Add `isFetched` check to `useEffect` guards in candidate-contact,
finding-match, new-match, request-accepted, and request-sent clients
- Update `QuestionsListClient` to wait for `isProfileFetched` before
triggering redirects
- Clean up dependency arrays to include new fetch status variables
Update client components to signal readiness to the Flutter wrapper
immediately upon mounting, rather than waiting for data hydration.
Additionally, adjust profile query settings to prioritize fresh
server-side data.
- Force `useHabibWebReady(true)` in all client-side route components
- Set `staleTime` to 0 in `useMarriageProfileQuery` to ensure fresh
data on mount
- Simplify `queryClient.setQueryData` logic in profile hook
Inject marriage data into the global window object from cookies during
the initial server-side render to prevent hydration mismatches and
reduce client-side latency.
- Add script injection in `RootLayout` to bootstrap `window.HABIB_MARRIAGE`
- Update `AuthBridge` to support `__HABIB_BOOTSTRAP__` and improved
cookie parsing logic
- Enhance `getClientCookie` with robust URI decoding error handling
- Adjusted the border radius of the InformationSheet component for a more modern look.
- Added new optional phone number fields for "Home Phone Number" and "Father's Phone Number" in English and Persian localization files.
- Introduced new SVG assets for various UI components.
- Created new components for handling phone number input and advisor actions.
- Implemented a FemaleConsentSheet component for user consent interactions.
- Added a terms page route and linked it to the main application.