From d865bd9c3b514ae81e063aedbc56cfe8a9f7e1cc Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Tue, 25 Mar 2025 14:18:33 +0300 Subject: [PATCH] user agreement updates --- lib/config/localized_values.dart | 88 ++++- lib/pages/Blood/user_agreement_page.dart | 447 ++++++++++++++++++++++- lib/uitl/translations_delegate_base.dart | 85 +++++ 3 files changed, 615 insertions(+), 5 deletions(-) diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 8dd0eb47..5aab18c9 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -2138,7 +2138,93 @@ const Map localizedValues = { "EROnlineCheckInWaitTurnInstruction": {"en": "Please wait in the waiting area until called by the nurse.", "ar": "يرجى الانتظار في منطقة الانتظار حتى يتم استدعاؤك من قبل الممرضة."}, "EROnlineCheckInHoldPhoneInstruction": {"en": "Hold the phone 1 to 2 cm from the NFC sign displayed on the board", "ar": "امسك الهاتف على مسافة 1 إلى 2 سم من علامة NFC المعروضة على اللوحة"}, "EROnlineCheckInTapOnCheckIn": {"en": "Tap on the check-in button within the app", "ar": "اضغط على زر تسجيل الدخول داخل التطبيق"}, - "download": {"en": "Download", "ar": "تحميل"}, "share": {"en": "Share", "ar": "يشارك"}, + + "termsHeading": {"en": "ONLINE SERVICES TERMS OF USE", "ar": "شروط استخدام الخدمات الالكترونية"}, + "termsConditions1": {"en": "These Online Services Terms of Use (Service Terms) govern certain online services provided by Dr Sulaiman Al Habib Medical Services Group Company (HMG, we, us, our) to the visitors and users of our websites and mobile app (you, your).", "ar": "تخضع الخدمات الالكترونية المحددة التي تقدمها شركة مجموعة الدكتور سليمان الحبيب للخدمات الطبية (المجموعة، نحن، والضمائر التي تشير إلينا) إلى زوار ومستخدمي مواقع الويب الخاصة بنا وتطبيقاتنا المحمولة (أنت، والضمائر التي تشير إليك) لشروط استخدام الخدمات الالكترونية (شروط الخدمة) هذه."}, + "termsConditions2": {"en": "By accessing our websites and/or mobile app, you agree to our Website Terms of Use and App User Agreement, as applicable (General Terms), which creates an agreement between you and us. When you accept these Service Terms they are incorporated into and become part of that same agreement. ", "ar": "بمجرد دخولك إلى مواقع الويب و/أو تطبيق الجوال الخاص بنا، فإنك توافق على شروط استخدام الموقع الإلكتروني الخاص بنا واتفاقية مستخدم التطبيق، حسب الاقتضاء (الشروط العامة)، والتي اتفاقاً بينك وبيننا. عندما تقبل شروط الخدمة هذه، فإنها تصبح مشمولة في وتشكل جزءا من نفس الاتفاقية."}, + "termsConditions3": {"en": "Please ensure you have read our Privacy Policy. Use of our online services may require you to provide us with personal information to create an account and may also require you to provide us with personal information, including information related to your health and wellbeing, to access specific services. If you purchase items from us and wish to bill charges to your insurance provider, we will need to provide personal information relating to you and your purchase to your insurance provider. By using our online services, you agree and consent to our use of your personal information in accordance with the Privacy Policy.", "ar": "يرجى التأكد من أنك قد قرأت سياسة الخصوصيةالخاصة بنا. قد يتطلب منك استخدام خدماتنا عبر الإنترنت أن تزودنا بالمعلومات الشخصية لإنشاء حساب قد تتطلب منك أيضاً تزويدنا بالمعلومات الشخصية بما في ذلك المعلومات المتعلقة بصحتك ورفاهيتك، للوصول إلى خدمات محددة. إذا قمت بشراء سلع منا وترغب منا في تقاضي قيمة الفاتورة من مزود التأمين الخاص بك، فسوف نحتاج إلى تقديم معلومات شخصية تتعلق بك وبمشترياتك لمزود التأمين الخاص بك. بمجرد استخدامك لخدماتنا الالكترونية، فإنك توافق على استخدامنا لمعلوماتك الشخصية وفقاً لسياسة الخصوصية."}, + "termsConditions4": {"en": "The Service Terms apply when you access services on our Sites, which require you to create a user account or log-in to your existing user account. You are required to indicate your acceptance of these Service Terms when creating your user account. If the Service Terms are updated by us, you will be required to confirm your agreement again, on your next log-in.", "ar": "تنطبق شروط الخدمة عند دخولك إلى الخدمات على مواقعنا التي تتطلب منك إنشاء حساب مستخدم أو تسجيل الدخول إلى حساب المستخدم الحالي. يتعين عليك الإشارة إلى قبولك لشروط الخدمة هذه عند إنشاء حساب المستخدم الخاص بك. إذا تم تحديث شروط الخدمة من قبلنا، فسيُطلب منك تأكيد موافقتك عليها مرة أخرى، عند تسجيل الدخول التالي الخاص بك."}, + "termsConditions5": {"en": "Telehealth and Online Pharmacy - Additional terms apply to our telehealth and online pharmacy services, and you will be required to agree to such terms before using those particular services.", "ar": "الرعاية الصحية عن بعد والصيدلية الإلكترونية – تنطبق شروط إضافية على خدماتنا المتعلقة بالرعاية الصحية عن بُعد والصيدلية الإلكترونية، ويتعين عليك الموافقة على هذه الشروط قبل استخدام هذه الخدمات."}, + "termsHeading2": {"en": "1. GENERAL TERMS", "ar": "1. أحكام عامة"}, + "termsConditions6": {"en": "The General Terms form part of this agreement, and all provisions of the General Terms apply to our online services.", "ar": "تشكل الشروط العامة جزءاً من هذه الاتفاقية وتُطبق جميع أحكام الشروط العامة على خدماتنا الإلكترونية عبر الإنترنت."}, + "termsHeading3": {"en": "2. APPOINTMENT BOOKING CONDITIONS", "ar": "2. شروط حجز الموعد"}, + "termsConditions7": {"en": "2.1 The Sites (all the websites defined in the General Terms, along with the mobile app) must not be used for speculative, false, or fraudulent appointment bookings. You warrant, represent and undertake that all information you provide about yourself and about anyone else is true and accurate when you are providing information to make an appointment.", "ar": "2-1 يتعين عليك ألا تستخدم المواقع (جميع مواقع الويب المحددة في الشروط العامة، إلى جانب تطبيق الجوال) لإجراء حجوزات غير مؤكدة أو خاطئة أو احتيالية. أنت تضمن وتقر وتتعهد بأن جميع المعلومات التي تقدمها عن نفسك وحول أي شخص آخر هي معلومات صحيحة ودقيقة عند تقديمك لمعلومات لحجز موعد."}, + "termsConditions8": {"en": "2.2 Appointment bookings can only be made through the Sites for selected HMG hospitals and clinics, to be determined at our sole discretion. ", "ar": "2-2 لا يمكن إجراء حجوزات المواعيد إلا من خلال مواقع مستشفيات وعيادات المجموعة المحددة، والتي نقوم بتحديدها وفقاً لتقديرنا الخاص."}, + "termsConditions9": {"en": "2.3 Once the appointment booking has been made through the Site, you will be required to confirm your appointment through the Sites, by phone, or in person at least twenty-four (24) hours prior to the appointment.", "ar": "2-3 بمجرد إجراء حجز المواعيد من خلال الموقع، سيُطلب منك تأكيد موعدك من خلال المواقع أو عن طريق الهاتف أو شخصياً قبل ما لا يقل عن أربعة وعشرين (24) ساعة من الموعد."}, + "termsConditions10": {"en": "2.4 For those HMG hospitals and clinics for which appointment bookings through the Sites are not permitted, you shall be required to book an appointment by phone or in person.", "ar": "2-4 بالنسبة لمستشفيات وعيادات المجموعة التي لا يسمح بحجز مواعيد فيها من خلال المواقع، يتعين عليك حجز موعد عبر الهاتف أو شخصياً. "}, + "termsConditions11": {"en": "2.5 You must register in accordance with the terms outlined in clause 7 to be able to make appointment bookings through the Sites.", "ar": "2-5 يتعين عليك التسجيل وفقاً للشروط المبينة في البند 7 لكي تتمكن من إجراء حجوزات المواعيد من خلال المواقع."}, + "termsConditions12": {"en": "2.6 In using the Sites, you will be entitled to:", "ar": "2-6 عند استخدامك للمواقع، فإنه يحق لك:"}, + "termsConditions12a": {"en": "a) book an appointment at an HMG hospital or clinic ", "ar": "(1) حجز موعد في إحدى مستشفيات أو عيادات المجوعة"}, + "termsConditions12b": {"en": "b) book one appointment at given time", "ar": "(2) حجز موعد في وقت معين"}, + "termsConditions12c": {"en": "c) book one appointment at given clinic. ", "ar": "(3) حجز موعد في عيادة معينة."}, + "termsConditions13": {"en": "To ensure there is no misunderstanding, In case that you won’t attend your confirmed appointment, you shall be required to cancel or reschedule appointment by phone or in person or through the Sites.", "ar": " تفادياً للشك، في حال عدم الرغبة في الحضور للموعد المؤكد، يتعين عليك إلغاء أو إعادة جدولة أي موعد مؤكد إما عن طريق الهاتف أو شخصياً أو من خلال المواقع."}, + "termsConditions14": {"en": "2.7 We reserve the right to disable your ability to book appointments through the Sites for a period, the duration of which is at sole discretion in the following circumstances: ", "ar": "2-7 نحن نحتفظ بالحق في تعطيل قدرتك على حجز المواعيد من خلال المواقع لفترة يتم تحديد مدتها وفقًا لتقديرنا الخاص، وذلك في الحالات التالية:"}, + "termsConditions14a": {"en": "a) you fail to attend appointments booked and confirmed through the Sites ", "ar": "(1) في حال أخفقت في حضور مواعيد تم حجزها وتأكيدها من خلال المواقع"}, + "termsConditions14b": {"en": "b) we determine at our sole discretion to do so for whatever reason. ", "ar": "(1) في حال أخفقت في حضور مواعيد تم حجزها وتأكيدها من خلال المواقع"}, + + "termsHeading4": {"en": "3. ONLINE ENQUIRY CONDITIONS", "ar": "3. شروط الاستفسار عبر الإنترنت"}, + "termsConditions15": {"en": "3.1 You shall be entitled to communicate your enquiries to doctors through the Sites should you have visited an HMG hospital or clinic within the last 14 days. The enquiry must be submitted to the doctor with whom you had your appointment. For enquiries that are not directed towards doctors, you can submit them through the Sites without any time limitation.", "ar": "3-1 يحق لك إيصال استفساراتك إلى الأطباء من خلال المواقع في حال كان قد سبق لك أن قمت بزيارة أي مستشفى أو عيادة في المجموعة خلال الـ 14 يوما الماضية. يجب تقديم الاستفسار إلى الطبيب الذي كان لديك موعد معه. بالنسبة للاستفسارات التي لا يتم توجيهها إلى الأطباء، يمكنك إرسالها عبر المواقع دون أي قيود زمنية."}, + "termsConditions16": {"en": "3.2 In using the Sites, you shall only be entitled to:", "ar": "3-2 عند استخدامك للمواقع، فإنه لا يحق لك سوى:"}, + "termsConditions16a": {"en": "a) submit the enquiry to the doctor with whom you had your appointment within the last 14 days.", "ar": "(1) إرسال الاستفسار للطبيب الذي كان لديك موعد معه خلال الـ 14 يوما الماضية."}, + "termsConditions16b": {"en": "b) only make one doctor enquiry in any twenty-four (24) hour period.", "ar": "(2) إرسال استفسار واحد فقط للطبيب في أي فترة أربع وعشرين (24) ساعة."}, + "termsConditions17": {"en": "3.3 A response to enquiries made through the Sites is not guaranteed and is subject to doctor availability. Responses to enquiries will be subject to the doctor's sole discretion.", "ar": "3-3 عدم ضمان استجابة الاستفسارات المقدمة من خلال المواقع وهي عرضة لتوافر الطبيب. الردود على الاستفسارات سوف تخضع لتقدير الطبيب وحده ."}, + "termsConditions18": {"en": "3.4 Any response to enquiries made through the Sites which include details concerning, amongst other things, prescriptions, lab results, and radiology reports should not be considered as final and should be verified and stamped by the relevant medical office.", "ar": "3-4 أي رد على الاستفسارات المقدمة من خلال المواقع التي تشمل تفاصيل تتعلق، من بين الأشياء الأخرى، بالوصفات الطبية، نتائج المختبرات وتقارير الأشعة ينبغي عدم اعتبارها نهائية وينبغي التحقق منها وختمها من قبل المكتب الطبي المختص."}, + "termsConditions19": {"en": "3.5 We reserve the right to disable your ability to make enquiries through the Sites for a period, the duration of which is at sole discretion in the following circumstances:", "ar": "3-5 نحن نحتفظ بالحق في تعطيل قدرتك على إرسال الاستفسارات من خلال المواقع لأي فترة يتم تحديد مدتها وفقًا لتقديرنا الخاص في الحالات التالية:"}, + "termsConditions19a": {"en": "a) you fail to attend three (3) appointments booked and confirmed through the Sites. ", "ar": "(1) في حال أخفقت في حضور ثلاثة (3) مواعيد تم حجزها وتأكيدها من خلال المواقع. "}, + "termsConditions19b": {"en": "b) we determine at our sole discretion to do so for whatever reason.", "ar": "(2) في حال ارتأينا القيام بذلك وفقاً لتقديرنا المنفرد لأي سبب كان."}, + + "termsHeading5": {"en": "4. PURCHASE CONDITIONS", "ar": "4. شروط الشراء"}, + "termsConditions20": {"en": "4.1 The Sites must not be used for speculative, false, or fraudulent purchases. You warrant, represent and undertake that all information you provide about yourself and about anyone else is true and accurate when you are making payments to the Sites. ", "ar": "4-1 يتعين عدم استخدام المواقع لإجراء مشتريات مضاربة أو خاطئة أو احتيالية. أنت تضمن وتقر وتتعهد بأن جميع المعلومات التي تقدمها عن نفسك وحول أي شخص آخر هي معلومات صحيحة ودقيقة عند سدادك لمدفوعات عبر المواقع."}, + "termsConditions21": {"en": "4.2 Services purchased through the Sites as a result of visits to the Sites made by you will be subject to the policy that applies to the particular services purchased by you (Policy). In the event of any discrepancy between these Terms of Use and the relevant Policy, the terms of the Policy will prevail, but only to the extent of the inconsistency. If there is a Policy for any particular service, it will be made clear to you before you access the service.", "ar": "4-2 الخدمات التي تم شراؤها من خلال المواقع نتيجة لزياراتك إلى المواقع، ستكون خاضعة للسياسة التي تنطبق على الخدمات المعينة التي تم شراؤها من جانبك (السياسة). في حالة وجود أي تباين بين شروط الاستخدام هذه والسياسة ذات الصلة، فإنه يُعتد بشروط السياسة، ولكن فقط في حدود ذلك التعارض . إذا كانت هناك سياسة محددة لأي خدمة معينة، فسيتم توضيحها لك قبل دخولك إلى الخدمة."}, + "termsHeading6": {"en": "5. PRICING AND AVAILABILITY", "ar": "5. التسعير والتوافر"}, + "termsConditions22": {"en": "5.1 Unless otherwise expressly stated, all prices on the Sites are exclusive of all applicable taxes and surcharges. All prices are expressed to be in Saudi riyals, as indicated on the Sites. We may also accept payment in US dollars, if indicated.", "ar": "5-1 ما لم يرد نص على خلاف ذلك صراحةً، فإن جميع الأسعار على المواقع لا تشمل أياً من الضرائب والرسوم الإضافية المعمول بها. جميع الأسعار معبر عنها بالريال السعودي، كما هو موضح في المواقع. قد نقبل أيضاً الدفع بالدولار الأمريكي، إذا تم بيان ذلك."}, + "termsConditions23": {"en": "5.2 Prices and availability stated on the Sites are subject to change at any time until your online purchase has been confirmed and your payment has been processed. While we will endeavour to ensure that the information on the Sites is as accurate and as up to date as possible, we do not provide a warranty to that effect. You acknowledge that we have no responsibility for the accuracy, completeness, currency or timeliness of price and availability information that is made available on the Sites.", "ar": "5-2 الأسعار ومدى التوافر الموضح على المواقع عرضة للتغيير في أي وقت حتى يتم تأكيد الشراء عبر الإنترنت ومعالجة مدفوعاتك بنجاح. رغم أننا سنسعى للتأكد من أن المعلومات الموجودة على المواقع دقيقة ومحدثة قدر الإمكان، إلا أننا لا نقدم أي ضمان بهذا الخصوص. أنت تقر بأننا لا نتحمل أي مسؤولية عن دقة معلومات السعر ومدى التوافر المبين على المواقع أو مدى اكتمالها أو حداثتها أو إتاحتها في الوقت المناسب."}, + "termsConditions24": {"en": "5.3 Special offers may be advertised on the Sites at any time. Special offers are not applicable to any transactions that have already been confirmed.", "ar": "5-3 قد يتم الإعلان عن عروض خاصة على المواقع في أي وقت. لا تنطبق العروض الخاصة على أي معاملات سبق أن تم تأكيدها بالفعل."}, + "termsHeading7": {"en": "6. PAYMENTS", "ar": "6. سداد المدفوعات"}, + "termsConditions25": {"en": "6.1 We may accept the following methods of payment: ", "ar": "6-1 يجوز لنا قبول طرق السداد التالية:"}, + "termsConditions25a": {"en": "a) direct debit bank transfers in accordance with the provisions of clause 6.2 below: ", "ar": "(1) تحويلات بنكية بالخصم المباشر وفقاً لأحكام البند 6-2 أدناه: "}, + "termsConditions25b": {"en": "b) credit card payments in accordance with the provisions of clauses 6.3, 6.4 and 6.5 below: ", "ar": "(2) مدفوعات بطاقات الائتمان وفقاً لبنود 6-3 و 6-4 و 6-5 أدناه: "}, + "termsConditions25c": {"en": "c) direct billing to medical insurance providers in accordance with the provisions of clause 6.6 below. ", "ar": "(3) الفواتير المباشرة لمزودي خدمات التأمين الطبي وفقاً لأحكام البند 6-6 أدناه."}, + "termsConditions26": {"en": "6.2 All payments made by direct debit bank transfer should be made to respective bank account that will be shown along with your purchasing activity.", "ar": "6-2 يجب أن يتم سداد جميع المدفوعات التي تتم عن طريق التحويل المصرفي بالخصم المباشر إلى الحساب المصرفي المعني الذي سيتم بيانه جنباً إلى جنب مع عملية الشراء التي تخصك."}, + "termsConditions27": {"en": "6.3 We accept all major international credit and debit cards (each a Card). Your Card will be debited when you click the 'confirm payment' button. ", "ar": "6-3 نقبل جميع بطاقات الائتمان والخصم الدولية الرئيسية (ويُشار إلى كل منها بلفظ بطاقة). سيتم الخصم من بطاقتك عندما تنقر على زر 'تأكيد الدفع'."}, + "termsConditions28": {"en": "6.3 We accept all major international credit and debit cards (each a Card). Your Card will be debited when you click the 'confirm payment' button. ", "ar": "6-3 نقبل جميع بطاقات الائتمان والخصم الدولية الرئيسية (ويُشار إلى كل منها بلفظ بطاقة). سيتم الخصم من بطاقتك عندما تنقر على زر 'تأكيد الدفع'."}, + "termsConditions29": {"en": "6.4 Please supply us with the correct c card billing and cardholder information (Payment Information). If you do not supply the correct Payment Information, purchases made through the Sites may be delayed. We reserve the right to cancel purchases made through the Sites if payment is declined or if you have supplied incorrect Payment Information.", "ar": "6-4 يرجى تزويدنا بفاتورة البطاقة الصحيحة ومعلومات حامل البطاقة (معلومات الدفع). إذا لم تقدم معلومات الدفع الصحيحة، فقد تتأخر عمليات الشراء التي تتم عبر المواقع. نحتفظ بالحق في إلغاء المشتريات التي تتم عبر المواقع إذا تم رفض الدفع أو إذا قدمت معلومات دفع غير صحيحة."}, + "termsConditions30": {"en": "6.5 We may incur charges when a booking is made through the Sites using a Card. We reserve the right to pass on to you, in full, any changes incurred by us in connection with any purchase made through the Sites by you using a Card. We will let you know of any applicable charges prior to you clicking the 'confirm payment' button.", "ar": "6-5 قد نتحمل رسوماً عند إجراء الحجز عبر المواقع باستخدام البطاقة. نحتفظ بالحق في أن نتقاضى منك، بالكامل، أي تغييرات نُطالب بدفعها فيما يتعلق بأي عملية شراء يتم إجراؤها عبر المواقع بواسطتك باستخدام البطاقة. سنخبرك بأي رسوم مطبقة قبل النقر فوق زر 'تأكيد الدفع'."}, + "termsConditions31": {"en": "6.6 If our Site provides the option for you to submit insurance provider details for the purposes of direct billing then you may do so. We may provide the ability for you to store insurance details on your account profile. You are responsible for ensuring all insurance details provided are valid and up to date. You represent and warrant to us that any insurance details you provide will relate to a valid medical insurance policy which covers treatment in the country from which you are making your purchase. You acknowledge that we will need to provide details to your insurer of your purchase, and you hereby consent to us doing so. Before we confirm an order, we will need to verify that your insurer accepts payment for the order. If the insurer declines payment or you are required to pay part or all of the order price, we will contact you and the order will not progress until you have paid the remainder of the total amount due. Aside from seeking approval of costs in accordance with the information you provide with your order, we cannot act as an intermediary for communications between you and your insurer and we accept no liability whatsoever for any delay, act or omission of your insurer. If you are unhappy with your insurer’s treatment of your claim you must contact your insurer or the appropriate supervisory authority directly. ", "ar": "6-6 إذا كان موقعنا يوفر لك خيار إرسال تفاصيل مزود التأمين لأغراض الفوترة المباشرة، فيمكنك القيام بذلك. قد نوفر لك القدرة على تخزين تفاصيل التأمين في ملف تعريف حسابك. أنت مسؤول عن التأكد من أن جميع تفاصيل التأمين المقدمة صحيحة ومحدثة. أنت تقر وتضمن لنا أن أي تفاصيل تأمين تقدمها سوف تتعلق بوثيقة تأمين طبي سارية المفعول تغطي العلاج في البلد الذي تقوم بالشراء منه. أنت تقر بأننا سنحتاج إلى تقديم تفاصيل إلى شركة التأمين الخاصة بك عن مشترياتك وأنت توافق بموجبه على قيامنا بذلك. قبل تأكيد طلب الشراء، سنحتاج إلى التحقق من أن شركة التأمين توافق على سداد قيمة طلب الشراء. إذا رفضت شركة التأمين سداد ذلك أو طُلب منك سداد جزء من قيمة الطلبية أو جميعها، فسنقوم بالاتصال بك ولن يتم تنفيذ طلب الشراء حتى تقوم بسداد باقي المبلغ الإجمالي المستحق. بصرف النظر عن السعي للحصول على الموافقة على التكاليف وفقاً للمعلومات التي تقدمها مع طلبك، لا يمكننا العمل كوسيط للاتصالات بينك وبين شركة التأمين الخاصة بك ولا نتحمل أي مسؤولية من أي نوع عن أي تأخير أو فعل أو إغفال من جانب شركة التأمين الخاصة بك. إذا لم تكن راضيًا عن كيفية معاملة شركة التأمين الخاصة بك لطلبك، فيجب عليك الاتصال بشركة التأمين أو السلطة الإشرافية المناسبة بشكل مباشر."}, + "termsConditions32": {"en": "6.7 We may outsource payment processing to a third party provider. We will not be liable to you or anyone else for any loss resulting from an act or omission of a third party payment provider.", "ar": "6-7 يجوز لنا تعهيد مسألة معالجة المدفوعات لمزود خارجي. لن نتحمل أي مسؤولية تجاهك أو تجاه أي شخص آخر عن أي خسارة ناتجة عن أي فعل أو إغفال من قبل مزود خارجي لخدمات المدفوعات."}, + "termsHeading8": {"en": "7. ACCOUNT RULES ", "ar": "7. قواعد الحساب"}, + "termsConditions33": {"en": "7.1 In order to access certain services, you will need to: ", "ar": "7-1 من أجل الدخول إلى خدمات معينة، سوف تحتاج إلى:"}, + "termsConditions33a": {"en": "(a) enter your credentials (registered National ID and mobile number). ", "ar": "(1) إدخال بيانات الاعتماد الخاصة بك (رقم الهوية الوطنية المسجل ورقم الجوال )"}, + "termsConditions33b": {"en": "(b) enter the onetime secure-access code that you will receive to your registered mobile number. ", "ar": "(2) إدخال رمز الدخول الآمن لمرة واحدة الذي ستتلقاه على رقم هاتفك الجوال المسجل."}, + "termsConditions34": {"en": "7.2 In order to create an account to obtain full access to the services on the Sites, you must: ", "ar": "7-2 لإنشاء حساب والحصول على حق الوصول الكامل إلى الخدمات على المواقع، يتعين عليك:"}, + "termsConditions34a": {"en": "(a) satisfy the minimum age requirement of 18 years (measured according to the Gregorian calendar); ", "ar": "(1) استيفاء شرط الحد الأدنى للسن وهو 18 سنة (يُقاس بالتقويم الميلادي)؛"}, + "termsConditions34b": {"en": "(b) provide us with complete and accurate registration information in accordance with requested information fields on the Site;", "ar": "(2) تزويدنا بمعلومات تسجيل كاملة ودقيقة وفقاً لحقول المعلومات المطلوبة على الموقع؛"}, + "termsConditions34c": {"en": "(c) ensure your use of the Sites is in accordance with these Online Services Terms of Use and any applicable laws;", "ar": "(3) التأكد من أن استخدامك للمواقع يتوافق مع شروط استخدام الخدمات الالكترونية هذه وأي أنظمة معمول بها؛"}, + "termsConditions34d": {"en": "(d) enter your national ID card number; ", "ar": "(4)إدخال رقم بطاقة الهوية الوطنية الخاصة بك؛ و"}, + "termsConditions34e": {"en": "(e) enter your mobile telephone number to receive a confidential secure-access code via SMS. ", "ar": "(5) إدخال رقم هاتفك الجوال لتلقي رمز دخول آمن سري عبر رسالة نصية قصيرة."}, + "termsConditions35": {"en": "7.3 When you create an account, and any time you attempt to access our on-line services, you warrant, represent and undertake that: ", "ar": "7-3 عندما تنشئ حساباً، وفي أي وقت تحاول فيه الدخول إلى خدماتنا الالكترونية عبر الإنترنت، فإنك تضمن وتقر وتتعهد بما يلي:"}, + "termsConditions35a": {"en": "(a) you meet the minimum age requirement ", "ar": "(1)أنك تستوفي الحد الأدنى من متطلبات العمر"}, + "termsConditions35b": {"en": "(b) you have given complete and accurate registration information, and will keep that information updated; ", "ar": "(2) أنك قدمت معلومات تسجيل كاملة ودقيقة، وأنك ستقوم بتحديث هذه المعلومات "}, + "termsConditions35c": {"en": "(c) you are resident in the Kingdom of Saudi Arabia. ", "ar": "(3) أنك مقيم في المملكة العربية السعودية؛"}, + "termsConditions35d": {"en": "(d) you have authorised us to execute all instructions and transactions on your behalf in relation to your use of the Sites; ", "ar": "(4) أنك قد فوضتنا بتنفيذ جميع التعليمات والمعاملات نيابة عنك فيما يتعلق باستخدامك للمواقع"}, + "termsConditions35e": {"en": "(e) your use of the Sites will not violate these Online Services Terms of Use or breach any applicable laws. ", "ar": "(5) أن استخدامك للمواقع لا ينتهك شروط استخدام الخدمات الالكترونية هذه ولا ينتهك أي أنظمة معمول بها. "}, + "termsConditions36": {"en": "7.4 We reserve the right to reject or revoke, for whatever reason and at our sole discretion, your request to access the Sites or to freeze access to the Sites.", "ar": "7-4 نحتفظ بالحق في رفض أو إلغاء طلبك للدخول إلى المواقع أو تجميد إمكانية الوصول إلى إلى المواقع، لأي سبب من الأسباب ووفقاً لتقديرنا الخاص ."}, + "termsConditions37": {"en": "7.5 In order to use the Sites, you will require access to the Internet. You are responsible for any connection, service and other fees associated with such access and for providing all equipment necessary to enable you to connect to the Internet (including a computer and modem or other access device).", "ar": "7-5 من أجل استخدام المواقع، سوف تحتاج إلى الاتصال بالإنترنت. أنت مسؤول عن أي رسوم اتصال أو رسوم خدمة أو أي رسوم أخرى مرتبطة بهذا الدخول وعن توفير جميع المعدات اللازمة لتمكينك من الاتصال بالإنترنت (بما في ذلك الكمبيوتر والمودم أو أي جهاز اتصال آخر)."}, + "termsConditions38": {"en": "7.6 We may use information from your profile for aggregated analysis purposes (such as your age, gender, nationality etc.) to enable us to gain insights into who is using our online services and how we may improve the reach and quality of the services. We will not use any information which can personally identify you, including any information which links you to any medical procedure or health status, for any such purpose. Please see our Privacy Policy for more information about how we use your information.", "ar": "7-6 قد نستخدم معلومات من ملفك الشخصي لأغراض التحليل المجمع (مثل عمرك وجنسك وجنسيتك وما إلى ذلك) لتمكيننا من اكتساب نظرة عامة بشأن من يستخدم خدماتنا الإلكترونية عبر الإنترنت وكيف يمكننا تحسين الدخول إلى الخدمات وجودتها. لن نستخدم أي معلومات يمكن أن تحدد هويتك، بما في ذلك أي معلومات تربطك بأي إجراء طبي أو حالة صحية لأي غرض من هذا القبيل. يرجى الاطلاع على سياسة الخصوصية الخاصة بنا للحصول على مزيد من المعلومات حول كيفية استخدامنا لمعلوماتك."}, + "termsConditions39": {"en": "7.7 You may create an account on behalf of a child for whom you have legal responsibility. If you create an account on behalf of a child you warrant, represent and undertake that:", "ar": "7-7 يمكنك إنشاء حساب نيابة عن طفل ما تكون مسؤولاً عنه بموجب النظام. إذا أنشأت حساباً نيابةً عن أي طفل، فإنك تضمن وتقر وتتعهد بما يلي:"}, + "termsConditions39a": {"en": "(a) you are a parent or legal guardian of that child and are lawfully authorised to direct the medical care of the child and to provide us will all necessary information in connection with the child (such as identification documents, medical history etc.)", "ar": "(1)أنك أحد الوالدين أو الوصي الشرعي لذلك الطفل ومصرح لك نظاماً بتوجيه الرعاية الطبية للطفل وتزويدنا بجميع المعلومات اللازمة فيما يتعلق بالطفل (مثل وثائق الهوية والتاريخ الطبي وما إلى ذلك)"}, + "termsConditions39b": {"en": "(b) you have authorised us to execute all instructions and transactions on behalf of the child in relation to your use of the Sites;", "ar": "(2) أنك قد فوضتنا بتنفيذ جميع التعليمات والمعاملات نيابة عن الطفل فيما يتعلق باستخدامك للمواقع"}, + "termsConditions39c": {"en": "(c) without prejudice to any patient/doctor confidentiality obligations that may occur if the child independently seeks medical advice, you will supervise and direct all use of the child’s account on the Site and will not permit the child to use the account without supervision;", "ar": "(3) دون الإخلال بأي التزامات سرية بين المريض / الطبيب قد تحدث إذا طلب الطفل مشورة طبية بشكل مستقل، فسوف تشرف وتوجه كافة استخدامات حساب الطفل على الموقع ولن تسمح للطفل باستخدام الحساب دون إشراف؛ و"}, + "termsConditions39d": {"en": "(d) you will remain responsible for all charges incurred in connection with the account.", "ar": "(4) ستظل مسؤولاً عن جميع الرسوم المستحقة فيما يتعلق بالحساب."}, + "termsHeading9": {"en": "8.PASSWORD SECURITY AND NOTIFICATION", "ar": "8. أمن كلمة المرور والإشعار"}, + "termsConditions40": {"en": "8.1 You are solely responsible for all activities that occur in connection with your log-in details in respect of the Sites. You must take steps to protect the confidentiality of your log-in details and you must not allow any other person to use your account.", "ar": "8-1 أنت وحدك المسؤول عن جميع الأنشطة التي تحدث فيما يتعلق بتفاصيل تسجيل الدخول الخاصة بك بخصوص المواقع. يتعين عليك اتخاذ خطوات لحماية سرية بيانات تسجيل الدخول الخاصة بك ويجب ألا تسمح لأي شخص آخر باستخدام حسابك."}, + "termsConditions41": {"en": "8.2 You must notify us immediately if you become aware of any disclosure, loss, theft or unauthorised use of your log-In details.", "ar": "8-2 يتعين عليك إخطارنا على الفور إذا علمت بأي إفشاء أو ضياع أو سرقة أو استخدام غير مصرح به لبيانات تسجيل الدخول الخاصة بك."}, + "termsHeading10": {"en": "9.TERMINATION", "ar": "9. الإنهاء"}, + "termsConditions42": {"en": "9.1 We may discontinue any service at any time or terminate your access to one or more services at any time for any reason, with or without notice to you and without incurring any liability to you, however that liability may arise.", "ar": "9-1 يجوز لنا التوقف عن توفير أي خدمة أو أنهاء حقك في الدخول إلى أي خدمة أو أكثر في أي وقت ولأي سبب سواء بموجب إخطار نرسله لك أو بدونه ودون أنت نتحمل أي مسؤولية تجاهك، بغض النظر عن كيفية نشوء تلك المسؤولية."}, + "termsConditions43": {"en": "9.2 All restrictions and all disclaimers and exclusions and limitations of our liability will survive any termination. Upon termination, you must not directly or indirectly access or use the services.", "ar": "9-2 ستظل جميع القيود وجميع إخلاءات الطرف من المسؤولية والاستثناءات والقيود الخاصة بمسؤوليتنا سارية بعد أي إنهاء. عند الإنهاء، يتعين عليك عدم الدخول إلى الخدمات سواء بشكل مباشر أو غير مباشر."}, + "termsConditions44": {"en": "9.2 All restrictions and all disclaimers and exclusions and limitations of our liability will survive any termination. Upon termination, you must not directly or indirectly access or use the services.", "ar": "9-2 ستظل جميع القيود وجميع إخلاءات الطرف من المسؤولية والاستثناءات والقيود الخاصة بمسؤوليتنا سارية بعد أي إنهاء. عند الإنهاء، يتعين عليك عدم الدخول إلى الخدمات سواء بشكل مباشر أو غير مباشر."}, + + }; diff --git a/lib/pages/Blood/user_agreement_page.dart b/lib/pages/Blood/user_agreement_page.dart index a5c086b3..c53ebb23 100644 --- a/lib/pages/Blood/user_agreement_page.dart +++ b/lib/pages/Blood/user_agreement_page.dart @@ -1,13 +1,19 @@ import 'package:diplomaticquarterapp/core/viewModels/TermsConditionsViewModel.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_html/flutter_html.dart'; +import 'package:provider/provider.dart'; class UserAgreementPage extends StatelessWidget { + late ProjectViewModel projectViewModel; + @override Widget build(BuildContext context) { + projectViewModel = Provider.of(context); return BaseView( onModelReady: (model) => model.getUserTermsAndConditions(), builder: (_, model, w) => AppScaffold( @@ -15,12 +21,445 @@ class UserAgreementPage extends StatelessWidget { showNewAppBarTitle: true, showNewAppBar: true, isShowDecPage: false, - appBarTitle: TranslationBase.of(context).userAgreement, + appBarTitle: TranslationBase.of(context).termsConditions, body: SingleChildScrollView( - child: Html( - data: model.userAgreementContent, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + TranslationBase.of(context).termsHeading, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions1, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions2, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions3, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions4, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions5, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading2, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions6, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading3, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions7, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions8, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions9, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions10, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions11, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions12, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions12a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions12b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions12c, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions13, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions14, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions14a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions14b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading4, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions15, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions16, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions16a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions16b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions17, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions18, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions19, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions19a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions19b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading5, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions20, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions21, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading6, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions21, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions22, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions23, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions24, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading7, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions25, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions25a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions25b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions25c, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions26, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions27, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions28, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions29, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions30, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions31, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions32, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading8, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions33, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions33a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions33b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions34, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions34a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions34b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions34c, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions34d, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions34e, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions35, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions35a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions35b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions35c, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions35d, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions35e, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions36, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions37, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions38, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions39, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions39a, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions39b, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions39c, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions39d, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading9, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions40, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions41, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsHeading10, + style: TextStyle( + fontSize: 20, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions42, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions43, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + Text( + TranslationBase.of(context).termsConditions44, + style: TextStyle(fontSize: 16, fontFamily: (projectViewModel.isArabic ? 'Cairo' : 'Poppins'), color: Color(0xff2B353E), letterSpacing: -1.44, height: 35 / 24), + ), + mHeight(12.0), + ], ), - )), + ) + // Html( + // data: model.userAgreementContent, + // ), + )), ); } } diff --git a/lib/uitl/translations_delegate_base.dart b/lib/uitl/translations_delegate_base.dart index 99b113f7..78626610 100644 --- a/lib/uitl/translations_delegate_base.dart +++ b/lib/uitl/translations_delegate_base.dart @@ -3268,6 +3268,91 @@ class TranslationBase { String get download => localizedValues["download"][locale.languageCode]; String get share => localizedValues["share"][locale.languageCode]; + + String get termsHeading => localizedValues["termsHeading"][locale.languageCode]; + String get termsConditions1 => localizedValues["termsConditions1"][locale.languageCode]; + String get termsConditions2 => localizedValues["termsConditions2"][locale.languageCode]; + String get termsConditions3 => localizedValues["termsConditions3"][locale.languageCode]; + String get termsConditions4 => localizedValues["termsConditions4"][locale.languageCode]; + String get termsConditions5 => localizedValues["termsConditions5"][locale.languageCode]; + String get termsHeading2 => localizedValues["termsHeading2"][locale.languageCode]; + String get termsConditions6 => localizedValues["termsConditions6"][locale.languageCode]; + String get termsHeading3 => localizedValues["termsHeading3"][locale.languageCode]; + String get termsConditions7 => localizedValues["termsConditions7"][locale.languageCode]; + String get termsConditions8 => localizedValues["termsConditions8"][locale.languageCode]; + String get termsConditions9 => localizedValues["termsConditions9"][locale.languageCode]; + String get termsConditions10 => localizedValues["termsConditions10"][locale.languageCode]; + String get termsConditions11 => localizedValues["termsConditions11"][locale.languageCode]; + String get termsConditions12 => localizedValues["termsConditions12"][locale.languageCode]; + String get termsConditions12a => localizedValues["termsConditions12a"][locale.languageCode]; + String get termsConditions12b => localizedValues["termsConditions12b"][locale.languageCode]; + String get termsConditions12c => localizedValues["termsConditions12c"][locale.languageCode]; + String get termsConditions13 => localizedValues["termsConditions13"][locale.languageCode]; + String get termsConditions14 => localizedValues["termsConditions14"][locale.languageCode]; + String get termsConditions14a => localizedValues["termsConditions14a"][locale.languageCode]; + String get termsConditions14b => localizedValues["termsConditions14b"][locale.languageCode]; + + String get termsHeading4 => localizedValues["termsHeading4"][locale.languageCode]; + String get termsConditions15 => localizedValues["termsConditions15"][locale.languageCode]; + String get termsConditions16 => localizedValues["termsConditions16"][locale.languageCode]; + String get termsConditions16a => localizedValues["termsConditions16a"][locale.languageCode]; + String get termsConditions16b => localizedValues["termsConditions16b"][locale.languageCode]; + String get termsConditions17 => localizedValues["termsConditions17"][locale.languageCode]; + String get termsConditions18 => localizedValues["termsConditions18"][locale.languageCode]; + String get termsConditions19 => localizedValues["termsConditions19"][locale.languageCode]; + String get termsConditions19a => localizedValues["termsConditions19a"][locale.languageCode]; + String get termsConditions19b => localizedValues["termsConditions19b"][locale.languageCode]; + + String get termsHeading5 => localizedValues["termsHeading5"][locale.languageCode]; + String get termsConditions20 => localizedValues["termsConditions20"][locale.languageCode]; + String get termsConditions21 => localizedValues["termsConditions21"][locale.languageCode]; + String get termsHeading6 => localizedValues["termsHeading6"][locale.languageCode]; + String get termsConditions22 => localizedValues["termsConditions22"][locale.languageCode]; + String get termsConditions23 => localizedValues["termsConditions23"][locale.languageCode]; + String get termsConditions24 => localizedValues["termsConditions24"][locale.languageCode]; + String get termsHeading7 => localizedValues["termsHeading7"][locale.languageCode]; + String get termsConditions25 => localizedValues["termsConditions25"][locale.languageCode]; + String get termsConditions25a => localizedValues["termsConditions25a"][locale.languageCode]; + String get termsConditions25b => localizedValues["termsConditions20"][locale.languageCode]; + String get termsConditions25c => localizedValues["termsConditions25b"][locale.languageCode]; + String get termsConditions26 => localizedValues["termsConditions26"][locale.languageCode]; + String get termsConditions27 => localizedValues["termsConditions27"][locale.languageCode]; + String get termsConditions28 => localizedValues["termsConditions28"][locale.languageCode]; + String get termsConditions29 => localizedValues["termsConditions29"][locale.languageCode]; + String get termsConditions30 => localizedValues["termsConditions30"][locale.languageCode]; + String get termsConditions31 => localizedValues["termsConditions31"][locale.languageCode]; + String get termsConditions32 => localizedValues["termsConditions32"][locale.languageCode]; + String get termsHeading8 => localizedValues["termsHeading8"][locale.languageCode]; + String get termsConditions33 => localizedValues["termsConditions33"][locale.languageCode]; + String get termsConditions33a => localizedValues["termsConditions33a"][locale.languageCode]; + String get termsConditions33b => localizedValues["termsConditions33b"][locale.languageCode]; + String get termsConditions34 => localizedValues["termsConditions34"][locale.languageCode]; + String get termsConditions34a => localizedValues["termsConditions34a"][locale.languageCode]; + String get termsConditions34b => localizedValues["termsConditions34b"][locale.languageCode]; + String get termsConditions34c => localizedValues["termsConditions34c"][locale.languageCode]; + String get termsConditions34d => localizedValues["termsConditions34d"][locale.languageCode]; + String get termsConditions34e => localizedValues["termsConditions34e"][locale.languageCode]; + String get termsConditions35 => localizedValues["termsConditions35"][locale.languageCode]; + String get termsConditions35a => localizedValues["termsConditions35a"][locale.languageCode]; + String get termsConditions35b => localizedValues["termsConditions35b"][locale.languageCode]; + String get termsConditions35c => localizedValues["termsConditions35c"][locale.languageCode]; + String get termsConditions35d => localizedValues["termsConditions35d"][locale.languageCode]; + String get termsConditions35e => localizedValues["termsConditions35e"][locale.languageCode]; + String get termsConditions36 => localizedValues["termsConditions36"][locale.languageCode]; + String get termsConditions37 => localizedValues["termsConditions37"][locale.languageCode]; + String get termsConditions38 => localizedValues["termsConditions38"][locale.languageCode]; + String get termsConditions39 => localizedValues["termsConditions39"][locale.languageCode]; + String get termsConditions39a => localizedValues["termsConditions39a"][locale.languageCode]; + String get termsConditions39b => localizedValues["termsConditions39b"][locale.languageCode]; + String get termsConditions39c => localizedValues["termsConditions39c"][locale.languageCode]; + String get termsConditions39d => localizedValues["termsConditions39d"][locale.languageCode]; + String get termsHeading9 => localizedValues["termsHeading9"][locale.languageCode]; + String get termsConditions40 => localizedValues["termsConditions40"][locale.languageCode]; + String get termsConditions41 => localizedValues["termsConditions41"][locale.languageCode]; + String get termsHeading10 => localizedValues["termsHeading10"][locale.languageCode]; + String get termsConditions42 => localizedValues["termsConditions42"][locale.languageCode]; + String get termsConditions43 => localizedValues["termsConditions43"][locale.languageCode]; + String get termsConditions44 => localizedValues["termsConditions44"][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate {