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
Relocate the profile edit/lock button from inside the `<main>` element
to outside of it. This prevents the `page-slide-enter` animation's
`will-change: transform` property from creating a new containing block,
which was causing layout issues with `position: fixed` elements.
Refactor various client components to improve UI responsiveness, spacing, and icon sizing. Additionally, update the profile redirection logic to allow users to access specific sections when their profile is not locked.
- Update `FindingMatchClient` with improved min-height, padding, and responsive spacing.
- Standardize icon sizes using `size-[18px]` in `FindingMatchClient` and `NewMatchClient`.
- Refactor `isProfileRedirecting` in `QuestionsListClient` using `useMemo` to allow access to `finding-match` when `can_edit_profile` is true.
- Adjust `Button` component to use flexbox for better text alignment and centering.
- 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.
- Adjusted dimensions of the image container in FindingMatchPage.
- Modified the submit path logic in Intro component to handle new case statuses.
- Changed button to link in NewMatchPage for profile viewing and added a locked profile indicator.
- Enhanced NewMatchProfilePage with mutation for responding to marriage cases and improved button states.
- Updated QuestionsListPage to change text size for optional info prompt.
- Refactored RequestAcceptedPage to include subscription handling and improved layout.
- Added SubscriptionRequiredSheet for subscription prompts and payment handling.
- Implemented useHabcoinPayment hook for managing Habcoin payments.
- Introduced new RequestSentPage for displaying request status.
- Added new SVG asset for request sent confirmation.
- Implemented `useMarriageProfileQuery` and `getMarriageProfile` for fetching main marriage profile data.
- Created `useMarriageSectionDataQuery` and `updateMarriageSectionData` for managing section data with query and mutation hooks.
- Added `useMarriageSectionsQuery` for retrieving available marriage sections.
feat: add temporary media upload hook
- Introduced `useUploadTmpMediaMutation` and `uploadTmpMedia` for handling temporary media uploads.
feat: implement internationalization support
- Added localization configuration and dictionaries for English and Persian languages.
- Created `I18nProvider` for managing locale and dictionary context.
- Implemented utility functions for locale management and path localization.
feat: define API communication layer
- Established an HTTP client using Axios with proxy path handling for API requests.