- 1. Eligibility and Membership Requirements
+ 1. Acceptance of Rules and Platform Goal
+
+
+
+
+ Full Acceptance of Agreement:
+ {" "}
+
+ Registration and use of any part of the application means
+ reading and fully accepting all rules. If you do not agree,
+ you must refrain from further use.
+
+
+
+
+
+ Changes and Updates:
+ {" "}
+
+ The application reserves the right to edit the rules when
+ necessary, and your continued use will constitute acceptance
+ of the new changes.
+
+
+
+
+
+ Exclusive Goal of the Application:
+ {" "}
+
+ This platform is designed solely for matchmaking and permanent
+ marriage. Use with the purpose of dating, temporary
+ relationships, or entertainment is prohibited.
+
+
+
+
+
+ Age and Legal Capacity Requirement:
+ {" "}
+
+ Use of services is allowed only for individuals over 18 years
+ of age who have the legal and religious capacity for marriage.
+
+
+
+
+
+
+ 2. User Account, Security, and Authentication
+
+
+
+
+ Accuracy of Personal Information:
+ {" "}
+
+ The user is obliged to enter all identity, occupational,
+ educational, and marital status information completely
+ accurately and honestly.
+
+
+
+
+
+ Prohibition of Fake Accounts:
+ {" "}
+
+ Creating an account using the identity, name, mobile number,
+ or photos of others, as well as creating multiple user
+ accounts, is a serious violation.
+
+
+
+
+
+ Maintaining Account Security:
+ {" "}
+
+ The responsibility for maintaining the confidentiality of the
+ password and login code lies with the user, and transferring
+ or renting the account to another person is prohibited.
+
+
+
+
+
+ Introducing a Trusted Person:
+ {" "}
+
+ To enhance security, users can introduce a trusted family
+ member. This information is used strictly for security and
+ urgent cases.
+
+
+
+
+
+
+ 3. Communications, Ethics, and User Behavior
+
+
+
+
+ Mutual Respect:
+ {" "}
+
+ Conversations must be ethical and purposeful. Sending
+ offensive, sexual, obscene, threatening, or harassing messages
+ is strictly prohibited.
+
+
+
+
+
+ Respecting Others' Privacy:
+ {" "}
+
+ Saving, sending, or publishing screenshots of conversations
+ and photos of other users outside the application is a
+ violation of privacy.
+
+
+
+
+
+ Absolute Prohibition of Financial Requests:
+ {" "}
+
+ Requesting money, loans, gift cards, cryptocurrency, or any
+ financial benefit from other users under any pretext is
+ prohibited.
+
+
+
+
+
+ Prohibition of Commercial Activity:
+ {" "}
+
+ Any advertising, marketing, selling goods, or raising capital
+ within the application environment is considered a violation.
+
+
+
+
+
+ Respectful End of Conversation:
+ {" "}
+
+ If the other party does not wish to continue the
+ communication, the user is obliged to respect their decision
+ and refrain from pursuing or causing harassment.
+
+
+
+
+
+
+ 4. Privacy, Data, and Intellectual Property
+
+
+
+
+ Personal Information Protection:
+ {" "}
+
+ The application is committed to protecting your sensitive
+ information in accordance with the privacy policy and will not
+ sell it to third parties without permission.
+
+
+
+
+
+ Public Profile Display:
+ {" "}
+
+ By completing the profile, the user consents to their public
+ information being displayed to other qualified users for
+ service delivery.
+
+
+
+
+
+ Account Deletion Rules:
+ {" "}
+
+ Upon requesting account deletion, your information is removed
+ from public view, but necessary data for legal and security
+ requirements will remain archived in the system.
+
+
+
+
+
+ Intellectual Property Rights:
+ {" "}
+
+ All rights to software codes, design, database, and brand name
+ belong to the platform, and any copying or scraping is
+ prohibited.
+
+
+
+
+
+
+ 5. Financial Terms and Subscriptions
- Legal Age: {" "}
+
+ Nature of Paid Services:
+ {" "}
- Users must meet the minimum legal age for independent
- registration.
+ Payment is solely for using premium features and software
+ infrastructure and does not provide any guarantee for marriage
+ or finding a spouse.
+
+
+
+
+ Refund Policy: {" "}
+
+ Paid fees are non-refundable, except in definitive cases of
+ system technical errors.
- Identity Verification:
+ Disclaimer for External Transactions:
{" "}
- Mandatory submission of valid government-issued ID upon
- registration.
+ The application holds no responsibility for financial
+ transactions between users or outside the application's
+ official payment gateway.
+
+
+
+
+ 6. Monitoring, Violations, and Legal Prosecution
+
- Single Status Commitment:
+ Confidential Reporting:
{" "}
- Users must provide proof of being single, or documents
- confirming divorce or spouse's death upon request.
+ Users must report violations, suspicious behavior, or
+ financial requests through the report violation option. The
+ identity of the reporter remains confidential.
- Intent: {" "}
+
+ Authorities of Application Moderators:
+ {" "}
- Commitment to monogamy and intention for permanent marriage
- only (no simultaneous or temporary relationships).
+ The platform reserves the right to block, restrict, or suspend
+ the user account without prior notice if any violation or
+ breach of rules is detected.
- General Health:
+ Cooperation with Law Enforcement:
{" "}
- Self-declaration regarding mental health, absence of
- addiction, and no criminal record.
+ In the event of cybercrimes, fraud, or threats, the
+ application will refer the necessary information to judicial
+ and law enforcement authorities.
+
+
+
+
+
+ Dispute Resolution:
+ {" "}
+
+ Any legal dispute must first be pursued through application
+ support. If no agreement is reached, the competent authority
+ will be the courts of the city where the application is
+ registered.
- 2. Privacy and Data Management
+ 7. Disclaimer and In-Person Meetings
- Content Security:
+ Role of the Application:
+ {" "}
+
+ This platform is only a facilitator for initial communication
+ and does not replace family background research, counseling,
+ and pre-marital investigations.
+
+
+
+
+
+ Responsibility for Accuracy of Claims:
+ {" "}
+
+ Accurate verification of users' claims regarding their
+ financial, occupational, marital, and health status is the
+ responsibility of the user and their family.
+
+
+
+
+
+ Responsibility for In-Person Meetings:
+ {" "}
+
+ Planning and deciding to meet in person is entirely the
+ responsibility of the users, and the application assumes no
+ liability for any incidents or potential damages.
+
+
+
+
+
+ Safety Recommendations in Meetings:
{" "}
- Technical prevention of screenshots from profiles and chat
- environments.
+ It is strongly recommended that initial meetings be held in
+ crowded public places, and that a family member or a trusted
+ person be kept informed.
- Progressive Disclosure:
+ Force Majeure Conditions:
{" "}
- Sensitive information (face, contact details) revealed
- step-by-step only with mutual consent.
+ In the event of occurrences beyond control, such as a
+ nationwide internet outage, natural disasters, or sanctions,
+ the application will have no liability for temporary service
+ outages.
@@ -122,10 +435,12 @@ export function SliderSlideOne({ index }: SliderSlideProps) {
type SliderSlideOneActionsProps = {
onAccept: () => void;
+ disabled?: boolean;
};
export function SliderSlideOneActions({
onAccept,
+ disabled,
}: SliderSlideOneActionsProps) {
return (
@@ -137,6 +452,7 @@ export function SliderSlideOneActions({
countdownSeconds={0}
onClick={onAccept}
className="flex-1"
+ disabled={disabled}
>
Accept
diff --git a/src/components/Componentes/slider-slide-three.tsx b/src/components/Componentes/slider-slide-three.tsx
index 179a5f1..cfee8d4 100644
--- a/src/components/Componentes/slider-slide-three.tsx
+++ b/src/components/Componentes/slider-slide-three.tsx
@@ -1,10 +1,8 @@
"use client";
import Image from "next/image";
-import type {
- GenderAnswer,
- SliderSlideProps,
-} from "./slider-slide";
+import { SliderHeader } from "./slider-header";
+import type { GenderAnswer, SliderSlideProps } from "./slider-slide";
type GenderOption = {
id: GenderAnswer;
@@ -17,14 +15,14 @@ type GenderOption = {
const GENDER_OPTIONS: GenderOption[] = [
{
id: "man",
- label: "Submit Man",
+ label: "Man",
alt: "man",
enabledSrc: "/assets/images/Group 27033.svg",
disabledSrc: "/assets/images/disabled Group 27033.svg",
},
{
id: "woman",
- label: "Submit Woman",
+ label: "Woman",
alt: "woman",
enabledSrc: "/assets/images/enabled Group 27032.svg",
disabledSrc: "/assets/images/Group 27032.svg",
@@ -46,14 +44,9 @@ export function SliderSlideThree({
aria-label={`Slide ${index + 1}`}
className="flex h-full min-h-0 w-full shrink-0 flex-col justify-between"
>
-
-
Submit Process
-
- {index + 1}/4 Select Gender
-
-
+
-
+
{GENDER_OPTIONS.map((option) => {
const isSelected = option.id === selectedGender;
diff --git a/src/components/Componentes/slider-slide-two.tsx b/src/components/Componentes/slider-slide-two.tsx
index 111ff68..1cb802a 100644
--- a/src/components/Componentes/slider-slide-two.tsx
+++ b/src/components/Componentes/slider-slide-two.tsx
@@ -1,36 +1,44 @@
+"use client";
+
import Image from "next/image";
+import { useState } from "react";
+import { useMarriageConfigQuery } from "@/hooks/marriage/use-marriage-config";
+import { SliderHeader } from "./slider-header";
import type { SliderSlideProps } from "./slider-slide";
+import VideoPlayer from "./video-player";
export function SliderSlideTwo({ index }: SliderSlideProps) {
+ const [isPlayerOpen, setIsPlayerOpen] = useState(false);
+ const { data: config } = useMarriageConfigQuery();
+
return (
-
-
- Submit Process
-
-
- {index + 1}/4 Watch Video
-
-
-
+
+
setIsPlayerOpen(true)}
+ >
@@ -53,6 +61,11 @@ export function SliderSlideTwo({ index }: SliderSlideProps) {
+ setIsPlayerOpen(false)}
+ videoUrl={config?.video_step_2_url}
+ />
);
}
diff --git a/src/components/Componentes/token-switcher.tsx b/src/components/Componentes/token-switcher.tsx
index 8375a78..b3390dd 100644
--- a/src/components/Componentes/token-switcher.tsx
+++ b/src/components/Componentes/token-switcher.tsx
@@ -98,7 +98,12 @@ export function TokenSwitcher({
}
// 3. Set the target token in the cookies and redirect to /
- const targetToken = userId === 17119 ? MALE_TOKEN : userId === 147714 ? FEMALE_TOKEN : "NO_TOKEN";
+ const targetToken =
+ userId === 17119
+ ? MALE_TOKEN
+ : userId === 147714
+ ? FEMALE_TOKEN
+ : "NO_TOKEN";
setClientCookie(TOKEN_COOKIE_NAME, targetToken);
setClientCookie("habib_token", targetToken);
@@ -134,7 +139,15 @@ export function TokenSwitcher({
.join(" ")}
>
-
{isMale ? "آقا 👨" : isFemale ? "خانم 👩" : isNoToken ? "بدون توکن 👤" : "توکن 🔑"}
+
+ {isMale
+ ? "آقا 👨"
+ : isFemale
+ ? "خانم 👩"
+ : isNoToken
+ ? "بدون توکن 👤"
+ : "توکن 🔑"}
+
{isOpen && (
diff --git a/src/components/Componentes/video-player.tsx b/src/components/Componentes/video-player.tsx
new file mode 100644
index 0000000..d1ceeee
--- /dev/null
+++ b/src/components/Componentes/video-player.tsx
@@ -0,0 +1,90 @@
+"use client";
+
+import { useEffect, useState, type FC } from "react";
+import { createPortal } from "react-dom";
+
+type VideoPlayerProps = {
+ isOpen: boolean;
+ onClose: () => void;
+ videoUrl?: string;
+};
+
+export const VideoPlayer: FC
= ({
+ isOpen,
+ onClose,
+ videoUrl,
+}) => {
+ const [mounted, setMounted] = useState(false);
+ // Default to a responsive landscape layout that adapts nicely
+ const [containerStyle, setContainerStyle] = useState(
+ "relative w-full max-w-[640px] aspect-video rounded-2xl overflow-hidden bg-black shadow-2xl transition-all duration-300 ease-out",
+ );
+
+ useEffect(() => {
+ setMounted(true);
+ }, []);
+
+ const handleLoadedMetadata = (e: React.SyntheticEvent) => {
+ const video = e.currentTarget;
+ if (video.videoWidth && video.videoHeight) {
+ const ratio = video.videoWidth / video.videoHeight;
+ if (ratio < 0.8) {
+ // Vertical/portrait video (mobile format like TikTok/selfie)
+ setContainerStyle(
+ "relative w-full max-w-[340px] sm:max-w-[380px] aspect-[9/16] rounded-2xl overflow-hidden bg-black shadow-2xl max-h-[82vh] transition-all duration-300 ease-out",
+ );
+ } else {
+ // Horizontal/landscape video (standard format)
+ setContainerStyle(
+ "relative w-full max-w-[640px] sm:max-w-[720px] md:max-w-[800px] aspect-video rounded-2xl overflow-hidden bg-black shadow-2xl max-h-[85vh] transition-all duration-300 ease-out",
+ );
+ }
+ }
+ };
+
+ if (!isOpen || !mounted) return null;
+
+ return createPortal(
+
+
e.stopPropagation()}>
+
+
+
+
+
+
+
+
,
+ document.body,
+ );
+};
+
+export default VideoPlayer;
diff --git a/src/data/questions/en.json b/src/data/questions/en.json
index d3fc097..477ac6a 100644
--- a/src/data/questions/en.json
+++ b/src/data/questions/en.json
@@ -14,10 +14,7 @@
"required": true,
"extras": {
"placeHolder": "Sarah Smith",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": false
@@ -28,10 +25,7 @@
"required": true,
"extras": {
"placeHolder": "YYYY-MM-DD",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -41,10 +35,7 @@
"required": false,
"extras": {
"placeHolder": "",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -54,10 +45,7 @@
"required": true,
"extras": {
"placeHolder": "City, region, or neighborhood",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Iran",
"United States",
@@ -86,10 +74,7 @@
"required": true,
"extras": {
"placeHolder": "Select country",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Iran",
"United States",
@@ -119,10 +104,7 @@
"required": true,
"extras": {
"placeHolder": "British",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -132,10 +114,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Persian",
"English",
@@ -158,10 +137,7 @@
"required": false,
"extras": {
"placeHolder": "Select options",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Persian",
"English",
@@ -195,10 +171,7 @@
"required": true,
"extras": {
"placeHolder": "+44 7911 123456",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -209,10 +182,7 @@
"required": true,
"extras": {
"placeHolder": "user@example.com",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -224,10 +194,7 @@
"tooltip": "A precise address is not required. Just the general area of where you live is sufficient, such as the city, region, neighborhood, or nearest major city.",
"extras": {
"placeHolder": "City, region, or neighborhood",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Iran",
"United States",
@@ -256,10 +223,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Citizen / National",
"Permanent Residence",
@@ -278,10 +242,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Fully flexible; moving to another city or country is not a problem.",
"Willing to move to another city, but only within my current country.",
@@ -296,24 +257,17 @@
"type": "text",
"required": false,
"requiredWhen": {
- "genders": [
- "female"
- ],
+ "genders": ["female"],
"maxAge": 26
},
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"showGuardianNotice": true,
"tooltip": "This field specifies the full name of the designated intermediary whose contact information is provided to the other party to facilitate communication.",
"extras": {
"placeHolder": "Sarah Smith",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -323,22 +277,15 @@
"type": "dropdown",
"required": false,
"requiredWhen": {
- "genders": [
- "female"
- ],
+ "genders": ["female"],
"maxAge": 26
},
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Father",
"Mother",
@@ -359,22 +306,15 @@
"type": "phone",
"required": false,
"requiredWhen": {
- "genders": [
- "female"
- ],
+ "genders": ["female"],
"maxAge": 26
},
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "+44 7911 123456",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -396,10 +336,7 @@
"required": true,
"extras": {
"placeHolder": "175",
- "range": [
- 100,
- 230
- ],
+ "range": [100, 230],
"options": []
},
"private": true
@@ -410,10 +347,7 @@
"required": true,
"extras": {
"placeHolder": "70",
- "range": [
- 40,
- 180
- ],
+ "range": [40, 180],
"options": []
},
"private": true
@@ -424,10 +358,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Fair / White",
"Light Tan / Wheatish",
@@ -443,10 +374,7 @@
"private": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"I am in perfect health.",
"I have a specific or chronic illness.",
@@ -471,10 +399,7 @@
"tooltip": "Provide more details if you have any health conditions or limitations.",
"extras": {
"placeHolder": "Enter details here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -485,10 +410,7 @@
"private": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"I have no specific issues.",
"I have a history of counseling or am currently undergoing treatment.",
@@ -503,18 +425,13 @@
"logic": {
"dependsOn": {
"title": "Mental Health Status",
- "values": [
- "I am undergoing pharmacotherapy."
- ]
+ "values": ["I am undergoing pharmacotherapy."]
}
},
"tooltip": "This field requires the user to declare all permanent medications currently being taken for any physical, psychological, medical, or non-medical condition.",
"extras": {
"placeHolder": "Insulin, etc.",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -536,10 +453,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Below High School",
"High School Diploma",
@@ -560,10 +474,7 @@
"required": false,
"extras": {
"placeHolder": "Computer Science",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -573,10 +484,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Full-time Employed",
"Part-time Employed",
@@ -598,10 +506,7 @@
"required": false,
"extras": {
"placeHolder": "Software Engineer",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -611,10 +516,7 @@
"required": false,
"extras": {
"placeHolder": "London, Remote",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -624,10 +526,7 @@
"required": true,
"extras": {
"placeHolder": "3500 GBP, 4000 USD",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -638,10 +537,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Stable and reliable income",
"Income is variable",
@@ -658,16 +554,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Fully able to support expenses",
"Able to support the main portion of expenses",
@@ -684,16 +575,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Homeowner",
"Renting independently",
@@ -711,16 +597,11 @@
"type": "radio",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Have a personal home for living together",
"Can buy a home",
@@ -736,10 +617,7 @@
"required": false,
"extras": {
"placeHolder": "Enter your explanation here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -762,10 +640,7 @@
"required": true,
"extras": {
"placeHolder": "2",
- "range": [
- 0,
- 20
- ],
+ "range": [0, 20],
"options": []
}
},
@@ -775,10 +650,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Both parents are alive",
"Father has passed away",
@@ -793,10 +665,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Living together",
"Separated / Divorced",
@@ -811,10 +680,7 @@
"required": true,
"extras": {
"placeHolder": "Select option(s)",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"No, I do not have any ongoing responsibility.",
"I am responsible for caring for my parent(s) (father, mother, or both).",
@@ -830,10 +696,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Yes, they live with me permanently.",
"Yes, they live with me temporarily or periodically.",
@@ -859,10 +722,7 @@
"required": true,
"extras": {
"placeHolder": "Enter details here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -886,10 +746,7 @@
"tooltip": "### Family Religious Atmosphere Options\n\n* **Religious and Strictly Observant:** This specifies a family highly dedicated to performing all **obligatory duties**, strictly maintaining **religious boundaries** (such as Mahram rules), and upholding **religious rituals and teachings** across all aspects of life.\n* **Religious (Observant of Obligations):** This indicates a family committed to core **religious duties** (such as prayer and fasting) and **Islamic ethics**, living within the standard frameworks of a religious society.\n* **Traditional (Respectful of Religious Values):** This describes a family that holds devotion to moral values and **respects religion**, but may not strictly execute every specific **religious law** or obligation.\n* **Non-religious / Secular:** This represents a family where **religious rituals and frameworks** do not significantly influence their daily **lifestyle, relationships, or decisions**, despite holding a general respect for religion.",
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Religious and strictly observant",
"Religious (observant of obligations)",
@@ -904,16 +761,8 @@
"required": false,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
- "options": [
- "Weak",
- "Average",
- "Good",
- "Prosperous"
- ]
+ "range": [0, 0],
+ "options": ["Weak", "Average", "Good", "Prosperous"]
}
},
{
@@ -922,10 +771,7 @@
"required": true,
"extras": {
"placeHolder": "Enter details here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"tooltip": "Write any important point that was not covered in the options above here."
@@ -947,10 +793,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Single; never married",
"Failed engagement / Annulled marriage; without living together",
@@ -977,10 +820,7 @@
},
"extras": {
"placeHolder": "3 years",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1000,10 +840,7 @@
},
"extras": {
"placeHolder": "Enter details here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1014,10 +851,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"No children",
"Have children living with me",
@@ -1034,18 +868,12 @@
"logic": {
"dependsOn": {
"title": "Current Marital Status",
- "values": [
- "Divorced; after living together",
- "Widowed"
- ]
+ "values": ["Divorced; after living together", "Widowed"]
}
},
"extras": {
"placeHolder": "2",
- "range": [
- 0,
- 10
- ],
+ "range": [0, 10],
"options": []
},
"private": true
@@ -1056,10 +884,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"I have full custody of the child(ren).",
"Joint custody or periodic visitation/relocation between parents.",
@@ -1085,10 +910,7 @@
"required": false,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Permanently or most days of the week with me.",
"Approximately half the time (joint custody/schedule).",
@@ -1113,10 +935,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"No, it has no significant impact on residence or relocation.",
"Yes, relocation or immigration requires coordination, agreement, or a legal permit.",
@@ -1141,10 +960,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Ongoing financial commitment (paying child support or sharing expenses).",
"Receiving child support regularly.",
@@ -1169,10 +985,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"I accept necessary, respectful, and limited communication regarding child matters.",
"I only accept formal and highly limited communication regarding essential child matters.",
@@ -1198,10 +1011,7 @@
"required": false,
"extras": {
"placeHolder": "Enter details here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1223,10 +1033,7 @@
"required": true,
"extras": {
"placeHolder": "Ayatollah Sistani",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1237,10 +1044,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Always committed, preferably at the earliest time",
"Always committed, but not necessarily at the earliest time",
@@ -1256,10 +1060,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Fully committed",
"Do not fast for religious or medical reasons",
@@ -1275,10 +1076,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Full Islamic covering (Maximum Hijab) - Abaya, Jilbab, Chador, or Niqab with full observance.",
"Full Hijab with modest clothing - Modest styling with hair completely covered.",
@@ -1296,16 +1094,11 @@
"type": "radio",
"required": false,
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Do not wear makeup at all",
"Only very light makeup",
@@ -1321,10 +1114,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Religion and politics are inseparable; my spouse must share this outlook.",
"Religion and politics are inseparable, but active engagement is not a requirement for my spouse.",
@@ -1343,10 +1133,7 @@
"required": false,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Supporter of the current government; serious opposition from my spouse is a red line.",
"Supporter of the current government, but a difference in view is not a red line.",
@@ -1365,10 +1152,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Very formal and limited (Only as necessary) - Avoid any unnecessary conversation or jokes.",
"Respectful and conventional (No intimacy) - Polite interactions with clear personal boundaries.",
@@ -1385,10 +1169,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Do not smoke at all",
"Occasional / Recreational",
@@ -1404,10 +1185,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Do not smoke hookah at all",
"Occasional / Recreational",
@@ -1423,10 +1201,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Do not use at all",
"Occasional / Recreational",
@@ -1442,10 +1217,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Do not consume at all",
"Alcohol is a serious red line for me",
@@ -1461,10 +1233,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Never used",
"Used in the past, but not anymore",
@@ -1480,10 +1249,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Do not listen to any music",
"Only listen to Nasheeds, Acapella, religious, or instrument-free music",
@@ -1499,10 +1265,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"No ceremony or very simple",
"Strictly religious and gender-segregated",
@@ -1520,10 +1283,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 1,
- 10
- ],
+ "range": [1, 10],
"options": [
"Calm and Introverted",
"Social and Extroverted",
@@ -1552,10 +1312,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 1,
- 15
- ],
+ "range": [1, 15],
"options": [
"Quran Recitation and Religious Studies",
"Mosque and Religious Gatherings",
@@ -1585,10 +1342,7 @@
"required": false,
"extras": {
"placeHolder": "Enter details here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -1632,10 +1386,7 @@
"description": "",
"extras": {
"placeHolder": "25-30",
- "range": [
- 18,
- 80
- ],
+ "range": [18, 80],
"options": []
},
"private": true
@@ -1646,10 +1397,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Under 160",
@@ -1668,10 +1416,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Slim",
@@ -1690,10 +1435,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Fair / White",
@@ -1712,10 +1454,7 @@
"description": "",
"extras": {
"placeHolder": "English, French, etc.",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1726,10 +1465,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Minimum High School",
@@ -1749,10 +1485,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Employed",
@@ -1772,10 +1505,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Never married only; history is a red line",
"Never married preferred, but open to special cases",
@@ -1791,10 +1521,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Will not accept",
"Accept in special conditions",
@@ -1818,16 +1545,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Full Islamic covering mandatory",
"Sharia Hijab mandatory, type doesn't matter",
@@ -1844,16 +1566,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Formal, dignified, and religious",
"Simple, neat, and modest",
@@ -1871,10 +1588,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Must intend to continue",
@@ -1891,16 +1605,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Must be employed",
@@ -1919,10 +1628,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Doesn't matter.",
"Parents not divorced",
@@ -1941,10 +1647,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Close and active",
"Respectful but independent",
@@ -1960,10 +1663,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Very religious and committed",
"Moderate religious",
@@ -1979,10 +1679,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Must align with mine",
"Differences okay with mutual respect",
@@ -1998,10 +1695,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Very formal and limited",
"Normal and respectful",
@@ -2016,10 +1710,7 @@
"required": true,
"extras": {
"placeHolder": "Select options",
- "range": [
- 1,
- 10
- ],
+ "range": [1, 10],
"options": [
"Smoking is a red line",
"Hookah is a red line",
@@ -2039,10 +1730,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Should not listen",
"Only religious/instrument-free okay",
@@ -2058,10 +1746,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Simple or no ceremony",
"Strictly religious and segregated",
@@ -2079,10 +1764,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Red line",
"Consider in special cases",
@@ -2098,10 +1780,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"No problem",
"Depends on stability",
@@ -2117,10 +1796,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Country doesn't matter",
"Stay in my current country",
@@ -2139,10 +1815,7 @@
"required": true,
"extras": {
"placeHolder": "Select one option",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"Only independent life",
"Temporary with family okay",
@@ -2159,10 +1832,7 @@
"description": "",
"extras": {
"placeHolder": "Enter details here...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -2187,15 +1857,8 @@
"description": "This field requires the user to upload a recent, clear facial photograph that will remain private and accessible exclusively to advisors.",
"extras": {
"placeHolder": "Upload photo",
- "range": [
- 0,
- 0
- ],
- "options": [
- ".jpg",
- ".jpeg",
- ".png"
- ]
+ "range": [0, 0],
+ "options": [".jpg", ".jpeg", ".png"]
}
},
{
@@ -2206,16 +1869,8 @@
"description": "Passport, National ID, or Driver's License",
"extras": {
"placeHolder": "Upload document",
- "range": [
- 0,
- 0
- ],
- "options": [
- ".pdf",
- ".jpg",
- ".jpeg",
- ".png"
- ]
+ "range": [0, 0],
+ "options": [".pdf", ".jpg", ".jpeg", ".png"]
}
},
{
@@ -2224,10 +1879,7 @@
"required": true,
"extras": {
"placeHolder": "I confirm",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"I confirm that my name, age, photo, and identity details match the uploaded documents."
]
@@ -2236,4 +1888,4 @@
}
]
}
-]
\ No newline at end of file
+]
diff --git a/src/data/questions/fa.json b/src/data/questions/fa.json
index 52845a6..4029d0c 100644
--- a/src/data/questions/fa.json
+++ b/src/data/questions/fa.json
@@ -14,10 +14,7 @@
"required": true,
"extras": {
"placeHolder": "سارا اسمیت",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": false
@@ -28,10 +25,7 @@
"required": true,
"extras": {
"placeHolder": "YYYY-MM-DD",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -41,10 +35,7 @@
"required": false,
"extras": {
"placeHolder": "",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -54,10 +45,7 @@
"required": true,
"extras": {
"placeHolder": "شهر، منطقه یا محله",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"ایران",
"ایالات متحده",
@@ -86,10 +74,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کشور",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"ایران",
"ایالات متحده",
@@ -119,10 +104,7 @@
"required": true,
"extras": {
"placeHolder": "انگلستان",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -132,10 +114,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"فارسی",
"انگلیسی",
@@ -158,10 +137,7 @@
"required": false,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"فارسی",
"انگلیسی",
@@ -195,10 +171,7 @@
"required": true,
"extras": {
"placeHolder": "+44 7911 123456",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -209,10 +182,7 @@
"required": true,
"extras": {
"placeHolder": "user@example.com",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -224,10 +194,7 @@
"tooltip": "نیازی به آدرس دقیق نیست. فقط محدوده کلی محل زندگی کافی است؛ مثلاً نام شهر، منطقه، ناحیه یا نزدیکترین شهر بزرگ.",
"extras": {
"placeHolder": "شهر، منطقه یا محله",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"ایران",
"ایالات متحده",
@@ -256,10 +223,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"شهروند / دارای تابعیت",
"اقامت دائم",
@@ -278,10 +242,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"کاملاً منعطف هستم؛ جابجایی به شهر یا کشور دیگر برایم مشکلی ندارد.",
"حاضرم به شهر دیگری نقل مکان کنم، اما فقط در کشور فعلی خودم حاضر به زندگی هستم.",
@@ -296,24 +257,17 @@
"type": "text",
"required": false,
"requiredWhen": {
- "genders": [
- "female"
- ],
+ "genders": ["female"],
"maxAge": 26
},
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"showGuardianNotice": true,
"tooltip": "این فیلد نام و نام خانوادگی رابط مشخصشده را تعیین میکند که اطلاعات تماس او جهت تسهیل ارتباط در اختیار طرف مقابل قرار میگیرد.",
"extras": {
"placeHolder": "سارا اسمیت",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -323,22 +277,15 @@
"type": "dropdown",
"required": false,
"requiredWhen": {
- "genders": [
- "female"
- ],
+ "genders": ["female"],
"maxAge": 26
},
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"پدر",
"مادر",
@@ -359,22 +306,15 @@
"type": "phone",
"required": false,
"requiredWhen": {
- "genders": [
- "female"
- ],
+ "genders": ["female"],
"maxAge": 26
},
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "+44 7911 123456",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -396,10 +336,7 @@
"required": true,
"extras": {
"placeHolder": "۱۷۵",
- "range": [
- 100,
- 230
- ],
+ "range": [100, 230],
"options": []
},
"private": true
@@ -410,10 +347,7 @@
"required": true,
"extras": {
"placeHolder": "۷۰",
- "range": [
- 40,
- 180
- ],
+ "range": [40, 180],
"options": []
},
"private": true
@@ -424,10 +358,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"سفید / روشن",
"گندمگون / سبزه روشن",
@@ -443,10 +374,7 @@
"private": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"در سلامت کامل هستم.",
"بیماری خاص یا مزمن دارم.",
@@ -471,10 +399,7 @@
"tooltip": "وضعیت بیماریهای مزمن، محدودیتهای جسمانی یا داروهای مصرفی خود را به دقت شرح داده و در صورت سلامت، عبارت «دارای سلامت کامل جسمانی» را در این کادر ثبت کنید.",
"extras": {
"placeHolder": "توضیحات را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -485,10 +410,7 @@
"private": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مشکل خاصی ندارم.",
"سابقه مشاوره داشته یا در حال حاضر تحت درمان هستم.",
@@ -503,18 +425,13 @@
"logic": {
"dependsOn": {
"title": "وضعیت سلامت روان",
- "values": [
- "تحت دارو درمانی هستم."
- ]
+ "values": ["تحت دارو درمانی هستم."]
}
},
"tooltip": "این فیلد برای ثبت تمامی داروهای دائمی است که در حال حاضر به دلایل جسمی، روانی، پزشکی یا غیرپزشکی مصرف میکنید.",
"extras": {
"placeHolder": "انسولین و غیره",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -536,10 +453,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"زیر دیپلم",
"دیپلم / High School",
@@ -560,10 +474,7 @@
"required": false,
"extras": {
"placeHolder": "مهندسی کامپیوتر",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -573,10 +484,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"شاغل تماموقت",
"شاغل پارهوقت",
@@ -598,10 +506,7 @@
"required": false,
"extras": {
"placeHolder": "مهندس نرمافزار",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -611,10 +516,7 @@
"required": false,
"extras": {
"placeHolder": "لندن، دورکاری",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
}
},
@@ -624,10 +526,7 @@
"required": true,
"extras": {
"placeHolder": "۳۵۰۰ پوند، ۴۰۰۰ دلار",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -638,10 +537,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"درآمد پایدار و قابل اتکا دارم.",
"درآمد دارم، اما متغیر است.",
@@ -658,16 +554,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"توانایی تأمین کامل هزینههای زندگی مشترک را دارم.",
"توانایی تأمین بخش اصلی هزینهها را دارم.",
@@ -684,16 +575,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مالک خانه شخصی هستم.",
"مستأجر هستم و مستقل زندگی میکنم.",
@@ -711,16 +597,11 @@
"type": "radio",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"خانه شخصی دارم و امکان زندگی مشترک در آن وجود دارد.",
"امکان خرید خانه دارم.",
@@ -736,10 +617,7 @@
"required": false,
"extras": {
"placeHolder": "توضیحات خود را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -762,10 +640,7 @@
"required": true,
"extras": {
"placeHolder": "۲",
- "range": [
- 0,
- 20
- ],
+ "range": [0, 20],
"options": []
}
},
@@ -775,10 +650,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"هر دو در قید حیات هستند.",
"پدر فوت شده است.",
@@ -793,10 +665,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"با هم زندگی میکنند.",
"از هم جدا شدهاند / طلاق گرفتهاند.",
@@ -811,10 +680,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب گزینهها",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"خیر، مسئولیت مستمری ندارم.",
"مسئولیت مراقبت از والدین (پدر، مادر یا هر دو) را بر عهده دارم.",
@@ -830,10 +696,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"بله، بهصورت دائم با من زندگی میکنند.",
"بله، بهصورت موقت یا دورهای با من زندگی میکنند.",
@@ -859,10 +722,7 @@
"required": true,
"extras": {
"placeHolder": "توضیحات خود را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -886,10 +746,7 @@
"tooltip": "### راهنمای گزینههای فضای مذهبی خانواده\n\n* **مذهبی و کاملاً مقید:** خانوادهای که تقید بسیار بالایی به انجام تمام واجبات دارد، حدود شرعی (مانند محرم و نامحرم) را به شدت رعایت میکند و آداب و مناسک مذهبی در تمام شئون زندگی آنها جریان دارد.\n* **مذهبی (مقید به واجبات):** خانوادهای که متعهد به واجبات اصلی مذهبی (مانند نماز و روزه) و اخلاق اسلامی است و در چارچوبهای متعارف یک جامعه متدین زندگی میکند.\n* **سنتی (محترم به ارزشهای دینی):** خانوادهای که به ارزشهای اخلاقی پایبند است و به دین احترام میگذارد، اما ممکن است تمام احکام و واجبات مذهبی را به طور دقیق و کامل اجرا نکند.\n* **غیرمذهبی / عرفی:** خانوادهای که مناسک و چارچوبهای مذهبی تاثیر تعیینکنندهای بر سبک زندگی، ارتباطات یا تصمیمگیریهای روزمرهشان ندارد، هرچند ممکن است احترامی کلی برای مذهب قائل باشند.",
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مذهبی و کاملاً مقید",
"مذهبی (مقید به واجبات)",
@@ -904,16 +761,8 @@
"required": false,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
- "options": [
- "ضعیف",
- "متوسط",
- "خوب",
- "مرفه"
- ]
+ "range": [0, 0],
+ "options": ["ضعیف", "متوسط", "خوب", "مرفه"]
}
},
{
@@ -922,10 +771,7 @@
"required": false,
"extras": {
"placeHolder": "توضیحات خود را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"tooltip": "هر نکته مهمی که در گزینههای بالا نبود، اینجا بنویسید."
@@ -947,10 +793,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مجرد؛ بدون هیچگونه سابقه عقد یا ازدواج",
"عقد ناموفق / فسخ نامزدی؛ بدون شروع زندگی مشترک",
@@ -977,10 +820,7 @@
},
"extras": {
"placeHolder": "۳ سال",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1000,10 +840,7 @@
},
"extras": {
"placeHolder": "توضیحات را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1014,10 +851,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"فرزندی ندارم.",
"فرزند دارم و با من زندگی میکند.",
@@ -1034,18 +868,12 @@
"logic": {
"dependsOn": {
"title": "وضعیت تأهل فعلی",
- "values": [
- "جدا شده؛ طلاق پس از زندگی مشترک",
- "همسر فوت شده"
- ]
+ "values": ["جدا شده؛ طلاق پس از زندگی مشترک", "همسر فوت شده"]
}
},
"extras": {
"placeHolder": "۲",
- "range": [
- 0,
- 10
- ],
+ "range": [0, 10],
"options": []
},
"private": true
@@ -1056,10 +884,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"حضانت کامل فرزند یا فرزندان با من است.",
"حضانت به صورت مشترک یا رفتوآمد دورهای انجام میشود.",
@@ -1085,10 +910,7 @@
"required": false,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"بهصورت تماموقت یا بیشتر روزهای هفته با من زندگی میکنند.",
"تقریباً نیمی از زمان (بهصورت مشترک) با من زندگی میکنند.",
@@ -1113,10 +935,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"خیر، تأثیر قابلتوجهی بر محل زندگی یا مهاجرت ندارد.",
"بله، جابهجایی یا مهاجرت نیازمند هماهنگی، رضایت والد دیگر یا مجوز قانونی است.",
@@ -1141,10 +960,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"تعهد مالی مستمر دارم (پرداخت منظم نفقه یا تقسیم هزینهها).",
"حمایت مالی مستمر دریافت میکنم (دریافت منظم نفقه).",
@@ -1169,10 +985,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"ارتباط ضروری، محترمانه و محدود به امور فرزند را میپذیرم.",
"فقط ارتباط رسمی و محدود درباره امور ضروری فرزند را میپذیرم.",
@@ -1198,10 +1011,7 @@
"required": false,
"extras": {
"placeHolder": "توضیحات را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1223,10 +1033,7 @@
"required": true,
"extras": {
"placeHolder": "آیتالله سیستانی",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1237,10 +1044,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"همیشه مقید هستم، ترجیحاً اول وقت",
"همیشه مقید هستم، اما نه لزوماً اول وقت",
@@ -1256,10 +1060,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"کاملاً مقید هستم",
"به دلیل عذر شرعی یا پزشکی روزه نمیگیرم",
@@ -1275,10 +1076,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"پوشش کامل اسلامی (حداکثری) - چادر، عبا یا پوششهای مشابه با رعایت کامل حدود شرعی.",
"حجاب کامل با لباسهای پوشیده و آزاد - مانتوهای بلند و گشاد با پوشش کامل موی سر.",
@@ -1296,16 +1094,11 @@
"type": "radio",
"required": false,
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"اصلاً آرایش نمیکنم",
"فقط آرایش بسیار ملایم",
@@ -1321,10 +1114,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"دین و سیاست از هم جداییناپذیرند و حتماً همسرم باید همین دیدگاه را داشته باشد.",
"دین و سیاست از هم جداییناپذیرند، اما فعالیت سیاسی همسرم الزامی نیست.",
@@ -1343,10 +1133,7 @@
"required": false,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"موافق و حامی نظام فعلی؛ مخالفت جدی همسرم خط قرمز است.",
"موافق و حامی نظام فعلی، اما تفاوت دیدگاه همسرم خط قرمز نیست.",
@@ -1365,10 +1152,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"بسیار رسمی و محدود (فقط در حد ضرورت) - اجتناب از هرگونه گفتگوی غیرضروری یا شوخی.",
"محترمانه و متعارف (بدون صمیمیت) - تعاملات مؤدبانه با حفظ مرزهای مشخص شخصی.",
@@ -1385,10 +1169,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"اصلاً مصرف نمیکنم",
"گاهی / تفریحی مصرف میکنم",
@@ -1404,10 +1185,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"اصلاً مصرف نمیکنم",
"گاهی / تفریحی مصرف میکنم",
@@ -1423,10 +1201,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"اصلاً مصرف نمیکنم",
"گاهی / تفریحی مصرف میکنم",
@@ -1442,10 +1217,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"اصلاً مصرف نمیکنم",
"مصرف الکل برای من خط قرمز جدی است",
@@ -1461,10 +1233,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"هرگز مصرف نکردهام",
"در گذشته مصرف داشتهام اما اکنون ترک کردهام",
@@ -1480,10 +1249,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"اصلاً به هیچ موسیقی گوش نمیدهم",
"فقط به تواشیح، موسیقیهای مذهبی یا بدون ساز گوش میدهم",
@@ -1499,10 +1265,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"بدون مراسم یا بسیار ساده",
"کاملاً مذهبی و تفکیکشده (زنانه و مردانه جدا)",
@@ -1520,10 +1283,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 1,
- 10
- ],
+ "range": [1, 10],
"options": [
"آرام و درونگرا",
"اجتماعی و برونگرا",
@@ -1552,10 +1312,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 1,
- 15
- ],
+ "range": [1, 15],
"options": [
"تلاوت قرآن و مطالعه دینی",
"حضور در مسجد و هیئت",
@@ -1585,10 +1342,7 @@
"required": false,
"extras": {
"placeHolder": "توضیحات را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -1632,10 +1386,7 @@
"description": "",
"extras": {
"placeHolder": "۲۵-۳۰",
- "range": [
- 18,
- 80
- ],
+ "range": [18, 80],
"options": []
},
"private": true
@@ -1646,10 +1397,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مهم نیست.",
"کمتر از ۱۶۰",
@@ -1668,10 +1416,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مهم نیست.",
"لاغراندام",
@@ -1690,10 +1435,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مهم نیست.",
"سفید / روشن",
@@ -1712,10 +1454,7 @@
"description": "",
"extras": {
"placeHolder": "انگلیسی، فرانسوی و...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true
@@ -1726,10 +1465,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مهم نیست.",
"حداقل دیپلم",
@@ -1749,10 +1485,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مهم نیست.",
"شاغل باشد.",
@@ -1772,10 +1505,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"فقط مجرد؛ سابقه عقد یا ازدواج قبلی برایم خط قرمز است.",
"مجرد ترجیح دارد، اما شرایط خاص را بررسی میکنم.",
@@ -1791,10 +1521,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"به هیچ وجه نمیپذیرم.",
"در شرایط خاص میپذیرم.",
@@ -1818,16 +1545,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "male"
- ]
+ "genders": ["male"]
},
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"پوشش کامل اسلامی مانند چادر، عبایا یا جلباب الزامی است.",
"حجاب شرعی الزامی است، اما نوع آن مهم نیست.",
@@ -1844,16 +1566,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"پوشش رسمی، سنگین و مذهبی داشته باشد.",
"ساده، مرتب و محجوب باشد.",
@@ -1871,10 +1588,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مهم نیست.",
"حتماً قصد ادامه تحصیل داشته باشد.",
@@ -1891,16 +1605,11 @@
"type": "dropdown",
"required": true,
"audience": {
- "genders": [
- "female"
- ]
+ "genders": ["female"]
},
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مهم نیست.",
"حتماً شاغل باشد.",
@@ -1919,10 +1628,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"این معیارها برایم مهم نیست.",
"والدین همسرم طلاق نگرفته باشند.",
@@ -1941,10 +1647,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"ارتباط نزدیک و پررنگ با خانوادهها را دوست دارم.",
"ارتباط محترمانه اما با حفظ استقلال زندگی مشترک را ترجیح میدهم.",
@@ -1960,10 +1663,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"بسیار مذهبی و مقید",
"مذهبی معتدل",
@@ -1979,10 +1679,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"حتماً همسو با دیدگاه من باشد.",
"تفاوت دیدگاه سیاسی مهم نیست، به شرط احترام متقابل.",
@@ -1998,10 +1695,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"بسیار رسمی و محدود باشد.",
"معمولی و محترمانه باشد.",
@@ -2016,10 +1710,7 @@
"required": true,
"extras": {
"placeHolder": "انتخاب کنید",
- "range": [
- 1,
- 10
- ],
+ "range": [1, 10],
"options": [
"سیگار برایم خط قرمز است.",
"قلیان برایم خط قرمز است.",
@@ -2039,10 +1730,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"نباید به موسیقی گوش بدهد.",
"فقط موسیقی مذهبی / بدون ساز / نشید قابل قبول است.",
@@ -2058,10 +1746,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"مراسم ساده یا بدون مراسم را ترجیح دهد.",
"فقط مراسم کاملاً شرعی و تفکیکشده قابل قبول است.",
@@ -2079,10 +1764,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"برایم خط قرمز است.",
"در شرایط خاص و با توضیح کامل بررسی میکنم.",
@@ -2098,10 +1780,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"برایم مشکلی ندارد.",
"بستگی به شرایط فعلی و میزان ثبات دارد.",
@@ -2117,10 +1796,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"کشور محل زندگی طرف مقابل برایم مهم نیست.",
"ترجیح میدهم در کشور فعلی خودم بمانم.",
@@ -2139,10 +1815,7 @@
"required": true,
"extras": {
"placeHolder": "یک گزینه را انتخاب کنید",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"فقط زندگی مستقل را میپذیرم.",
"زندگی موقت با خانواده در ابتدای ازدواج قابل قبول است.",
@@ -2159,10 +1832,7 @@
"description": "",
"extras": {
"placeHolder": "توضیحات تکمیلی را اینجا وارد کنید...",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": []
},
"private": true,
@@ -2187,15 +1857,8 @@
"description": "این بخش از کاربر میخواهد یک عکس جدید و واضح از چهره خود بارگذاری کند که کاملاً خصوصی باقی مانده و منحصراً برای معرفها قابل دسترسی خواهد بود.",
"extras": {
"placeHolder": "بارگذاری تصویر",
- "range": [
- 0,
- 0
- ],
- "options": [
- ".jpg",
- ".jpeg",
- ".png"
- ]
+ "range": [0, 0],
+ "options": [".jpg", ".jpeg", ".png"]
}
},
{
@@ -2206,16 +1869,8 @@
"description": "پاسپورت، کارت ملی یا گواهینامه",
"extras": {
"placeHolder": "بارگذاری مدرک",
- "range": [
- 0,
- 0
- ],
- "options": [
- ".pdf",
- ".jpg",
- ".jpeg",
- ".png"
- ]
+ "range": [0, 0],
+ "options": [".pdf", ".jpg", ".jpeg", ".png"]
}
},
{
@@ -2224,10 +1879,7 @@
"required": true,
"extras": {
"placeHolder": "تأیید میکنم",
- "range": [
- 0,
- 0
- ],
+ "range": [0, 0],
"options": [
"تأیید میکنم که نام، سن، تصویر و اطلاعات هویتی من با مدارک بارگذاریشده مطابقت دارد."
]
@@ -2236,4 +1888,4 @@
}
]
}
-]
\ No newline at end of file
+]
diff --git a/src/hooks/marriage/use-marriage-config.ts b/src/hooks/marriage/use-marriage-config.ts
index 7475e52..51d9ea1 100644
--- a/src/hooks/marriage/use-marriage-config.ts
+++ b/src/hooks/marriage/use-marriage-config.ts
@@ -6,6 +6,7 @@ import { http } from "@/lib/http";
export type MarriageConfig = {
intro_video_url: string;
intro_video_thumbnail_url: string;
+ video_step_2_url?: string;
};
export async function getMarriageConfig() {
diff --git a/src/hooks/marriage/use-section-data.ts b/src/hooks/marriage/use-section-data.ts
index 08431f2..081c937 100644
--- a/src/hooks/marriage/use-section-data.ts
+++ b/src/hooks/marriage/use-section-data.ts
@@ -80,21 +80,31 @@ export async function updateMarriageSectionData(
payload: UpdateMarriageSectionDataPayload,
) {
if (slug === "family_marital_history") {
- const mergedItemEn = getQuestionListItemBySlug("family_marital_history", "en");
- const mergedItemFa = getQuestionListItemBySlug("family_marital_history", "fa");
-
- const fbQuestionsEn = mergedItemEn?.questions.filter(
- (q) => q.originalSlug === "family_background",
- ) || [];
- const mhQuestionsEn = mergedItemEn?.questions.filter(
- (q) => q.originalSlug === "marital_history_children",
- ) || [];
- const fbQuestionsFa = mergedItemFa?.questions.filter(
- (q) => q.originalSlug === "family_background",
- ) || [];
- const mhQuestionsFa = mergedItemFa?.questions.filter(
- (q) => q.originalSlug === "marital_history_children",
- ) || [];
+ const mergedItemEn = getQuestionListItemBySlug(
+ "family_marital_history",
+ "en",
+ );
+ const mergedItemFa = getQuestionListItemBySlug(
+ "family_marital_history",
+ "fa",
+ );
+
+ const fbQuestionsEn =
+ mergedItemEn?.questions.filter(
+ (q) => q.originalSlug === "family_background",
+ ) || [];
+ const mhQuestionsEn =
+ mergedItemEn?.questions.filter(
+ (q) => q.originalSlug === "marital_history_children",
+ ) || [];
+ const fbQuestionsFa =
+ mergedItemFa?.questions.filter(
+ (q) => q.originalSlug === "family_background",
+ ) || [];
+ const mhQuestionsFa =
+ mergedItemFa?.questions.filter(
+ (q) => q.originalSlug === "marital_history_children",
+ ) || [];
const fbKeys = new Set([
...fbQuestionsEn.map((q, idx) =>
diff --git a/src/lib/auth-bridge.ts b/src/lib/auth-bridge.ts
index 36c548b..f4431df 100644
--- a/src/lib/auth-bridge.ts
+++ b/src/lib/auth-bridge.ts
@@ -217,18 +217,21 @@ class AuthBridge {
const cookieToken =
getClientCookie(TOKEN_COOKIE_NAME) ??
getClientCookie("habib_token") ??
- (typeof window !== "undefined" ? sessionStorage.getItem(TOKEN_COOKIE_NAME) : null);
+ (typeof window !== "undefined"
+ ? sessionStorage.getItem(TOKEN_COOKIE_NAME)
+ : null);
- if (cookieToken === "NO_TOKEN") {
- return null;
- }
+ // Treat "NO_TOKEN" the same as having no cookie at all — fall through
+ // to the default token instead of returning null.
+ const effectiveCookie =
+ cookieToken && cookieToken !== "NO_TOKEN" ? cookieToken : null;
if (this.token) {
return this.token;
}
- if (cookieToken) {
- return cookieToken;
+ if (effectiveCookie) {
+ return effectiveCookie;
}
return (
@@ -248,4 +251,3 @@ class AuthBridge {
}
export const authBridge = new AuthBridge();
-
diff --git a/src/lib/http.ts b/src/lib/http.ts
index 8a81213..ba4762f 100644
--- a/src/lib/http.ts
+++ b/src/lib/http.ts
@@ -87,22 +87,34 @@ http.interceptors.request.use((config) => {
config.headers["Cache-Control"] = "no-cache, no-store, must-revalidate";
config.headers["Pragma"] = "no-cache";
+ const stripNoToken = (v: string | null) =>
+ v && v !== "NO_TOKEN" ? v : null;
+
const token =
authBridge.getToken() ??
- getClientCookie("HABIB_TOKEN") ??
- getClientCookie("habib_token");
+ stripNoToken(getClientCookie("HABIB_TOKEN")) ??
+ stripNoToken(getClientCookie("habib_token"));
if (token) {
config.headers.Authorization = `Token ${token}`;
}
- let lang: string | undefined = (getClientCookie("HABIB_LANGUAGE") ?? getClientCookie("habib_language")) ?? undefined;
+ let lang: string | undefined =
+ getClientCookie("HABIB_LANGUAGE") ??
+ getClientCookie("habib_language") ??
+ undefined;
if (!isLocale(lang)) {
- const pathSegment = typeof window !== "undefined" ? window.location.pathname.split("/")[1] : undefined;
+ const pathSegment =
+ typeof window !== "undefined"
+ ? window.location.pathname.split("/")[1]
+ : undefined;
if (isLocale(pathSegment)) {
lang = pathSegment;
} else {
- const docLang = typeof document !== "undefined" ? document.documentElement.lang : undefined;
+ const docLang =
+ typeof document !== "undefined"
+ ? document.documentElement.lang
+ : undefined;
lang = isLocale(docLang) ? docLang : "fa";
}
}
diff --git a/src/translations/locales/ar.json b/src/translations/locales/ar.json
index 23a2537..63e17d1 100644
--- a/src/translations/locales/ar.json
+++ b/src/translations/locales/ar.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/az.json b/src/translations/locales/az.json
index 3883f28..a439c94 100644
--- a/src/translations/locales/az.json
+++ b/src/translations/locales/az.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/bn.json b/src/translations/locales/bn.json
index 62761d2..fdc0e5c 100644
--- a/src/translations/locales/bn.json
+++ b/src/translations/locales/bn.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/da.json b/src/translations/locales/da.json
index 922efaf..9412cd9 100644
--- a/src/translations/locales/da.json
+++ b/src/translations/locales/da.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/de.json b/src/translations/locales/de.json
index d70fac9..8cc9a9b 100644
--- a/src/translations/locales/de.json
+++ b/src/translations/locales/de.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/en.json b/src/translations/locales/en.json
index 2a493db..e3607fa 100644
--- a/src/translations/locales/en.json
+++ b/src/translations/locales/en.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/es.json b/src/translations/locales/es.json
index e1aaf4e..35c37e4 100644
--- a/src/translations/locales/es.json
+++ b/src/translations/locales/es.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/fa.json b/src/translations/locales/fa.json
index 92973b9..1e7e743 100644
--- a/src/translations/locales/fa.json
+++ b/src/translations/locales/fa.json
@@ -226,4 +226,4 @@
"back": "قبلی",
"accept": "پذیرش"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/fr.json b/src/translations/locales/fr.json
index 197209c..55c8daf 100644
--- a/src/translations/locales/fr.json
+++ b/src/translations/locales/fr.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/gu.json b/src/translations/locales/gu.json
index ede3d6e..4dcd222 100644
--- a/src/translations/locales/gu.json
+++ b/src/translations/locales/gu.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/ha.json b/src/translations/locales/ha.json
index 5ef5eee..77dd9e3 100644
--- a/src/translations/locales/ha.json
+++ b/src/translations/locales/ha.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/he.json b/src/translations/locales/he.json
index 0e1dd7c..c5e76f2 100644
--- a/src/translations/locales/he.json
+++ b/src/translations/locales/he.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/hi.json b/src/translations/locales/hi.json
index 70595cc..68dec07 100644
--- a/src/translations/locales/hi.json
+++ b/src/translations/locales/hi.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/id.json b/src/translations/locales/id.json
index 72edbcf..9e405a9 100644
--- a/src/translations/locales/id.json
+++ b/src/translations/locales/id.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/ks.json b/src/translations/locales/ks.json
index 4c816fa..008cc0a 100644
--- a/src/translations/locales/ks.json
+++ b/src/translations/locales/ks.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/pt.json b/src/translations/locales/pt.json
index 741fa24..a172383 100644
--- a/src/translations/locales/pt.json
+++ b/src/translations/locales/pt.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/ru.json b/src/translations/locales/ru.json
index 99d1fe9..eee7926 100644
--- a/src/translations/locales/ru.json
+++ b/src/translations/locales/ru.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/sw.json b/src/translations/locales/sw.json
index 95e90a7..54eeb70 100644
--- a/src/translations/locales/sw.json
+++ b/src/translations/locales/sw.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/tg.json b/src/translations/locales/tg.json
index 3950328..70a1975 100644
--- a/src/translations/locales/tg.json
+++ b/src/translations/locales/tg.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/tr.json b/src/translations/locales/tr.json
index bd2675a..f7724ac 100644
--- a/src/translations/locales/tr.json
+++ b/src/translations/locales/tr.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/ul.json b/src/translations/locales/ul.json
index f0f4897..42fa232 100644
--- a/src/translations/locales/ul.json
+++ b/src/translations/locales/ul.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/ur.json b/src/translations/locales/ur.json
index a8b5747..dfdd09f 100644
--- a/src/translations/locales/ur.json
+++ b/src/translations/locales/ur.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/uz.json b/src/translations/locales/uz.json
index e51b50e..1d27413 100644
--- a/src/translations/locales/uz.json
+++ b/src/translations/locales/uz.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}
diff --git a/src/translations/locales/zh.json b/src/translations/locales/zh.json
index 0c41c14..8c98322 100644
--- a/src/translations/locales/zh.json
+++ b/src/translations/locales/zh.json
@@ -226,4 +226,4 @@
"back": "Back",
"accept": "Accept"
}
-}
\ No newline at end of file
+}