diff --git a/assets/images/svg/fb.svg b/assets/images/svg/fb.svg
new file mode 100644
index 00000000..972aac93
--- /dev/null
+++ b/assets/images/svg/fb.svg
@@ -0,0 +1,11 @@
+
diff --git a/assets/images/svg/linkedin.svg b/assets/images/svg/linkedin.svg
new file mode 100644
index 00000000..43d7ff39
--- /dev/null
+++ b/assets/images/svg/linkedin.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/svg/twitter.svg b/assets/images/svg/twitter.svg
new file mode 100644
index 00000000..9c5bfa6b
--- /dev/null
+++ b/assets/images/svg/twitter.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/twitter2.svg b/assets/images/svg/twitter2.svg
new file mode 100644
index 00000000..e804498a
--- /dev/null
+++ b/assets/images/svg/twitter2.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/youtube.svg b/assets/images/svg/youtube.svg
new file mode 100644
index 00000000..5e83e5a4
--- /dev/null
+++ b/assets/images/svg/youtube.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json
index 1e01bb26..bb2663dd 100644
--- a/assets/langs/ar-SA.json
+++ b/assets/langs/ar-SA.json
@@ -1795,5 +1795,10 @@
"selectBloodDonationCity": "اختر المدينة",
"selectBloodDonationGender": "اختر الجنس",
"selectBloodType": "اختر الفصيلة",
- "startLiveChat": "بدء المحادثة المباشرة"
+ "startLiveChat": "بدء المحادثة المباشرة",
+ "followUsOn": "تابعنا على:",
+ "followUsOnX": "تابعنا على X",
+ "likeUsOnFB": "سجل إعجابك بنا على فيسبوك",
+ "watchUsOnYoutube": "شاهدنا على إنستغرام",
+ "connectOnLinkedin": "تواصل معنا على لينكد إن"
}
diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json
index 36501173..fbbfb26d 100644
--- a/assets/langs/en-US.json
+++ b/assets/langs/en-US.json
@@ -1785,7 +1785,12 @@
"illurgyInfomation": "Allergy",
"vaccineInfomation": "Vaccine",
"approvals1": "Approvals",
- "startLiveChat": "Start Live Chat"
+ "startLiveChat": "Start Live Chat",
+ "followUsOn": "Follow us on:",
+ "followUsOnX": "Follow us on X",
+ "likeUsOnFB": "Like us on Facebook",
+ "watchUsOnYoutube": "Watch us on Instagram",
+ "connectOnLinkedin": "Connect on LinkedIn"
}
diff --git a/lib/core/app_assets.dart b/lib/core/app_assets.dart
index 215b2421..1b0013f1 100644
--- a/lib/core/app_assets.dart
+++ b/lib/core/app_assets.dart
@@ -21,6 +21,11 @@ class AppAssets {
static const String report = '$svgBasePath/report.svg';
static const String sucess = '$svgBasePath/sucess.svg';
static const String livechatMessage = '$svgBasePath/live_chat_message_icon.svg';
+ static const String fb = '$svgBasePath/fb.svg';
+ static const String linkedin = '$svgBasePath/linkedin.svg';
+ static const String youtube = '$svgBasePath/youtube.svg';
+ static const String x = '$svgBasePath/twitter.svg';
+ static const String x2 = '$svgBasePath/twitter2.svg';
// static const String globeOther = '$svgBasePath/globe_other.svg';
static const String cancel = '$svgBasePath/cancel.svg';
diff --git a/lib/features/authentication/authentication_view_model.dart b/lib/features/authentication/authentication_view_model.dart
index eb922652..6126a5df 100644
--- a/lib/features/authentication/authentication_view_model.dart
+++ b/lib/features/authentication/authentication_view_model.dart
@@ -1120,7 +1120,7 @@ class AuthenticationViewModel extends ChangeNotifier {
_dialogService.showPhoneNumberPickerSheet(
// label: "Where would you like to receive OTP?",
label: LocaleKeys.receiveOtpToast.tr(),
- message: _appState.isArabic() ? "يرجى الاختيار من الخيارات أدناه لاستلام رمز التحقق." "Please select from the below options to receive OTP.",
+ message: _appState.isArabic() ? "يرجى الاختيار من الخيارات أدناه لاستلام رمز التحقق." :"Please select from the below options to receive OTP.",
onSMSPress: () {
checkUserAuthentication(otpTypeEnum: OTPTypeEnum.sms);
},
diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart
index b3478629..2bca4d18 100644
--- a/lib/generated/locale_keys.g.dart
+++ b/lib/generated/locale_keys.g.dart
@@ -1788,5 +1788,10 @@ abstract class LocaleKeys {
static const selectBloodDonationGender = 'selectBloodDonationGender';
static const selectBloodType = 'selectBloodType';
static const startLiveChat = 'startLiveChat';
+ static const followUsOn = 'followUsOn';
+ static const followUsOnX = 'followUsOnX';
+ static const likeUsOnFB = 'likeUsOnFB';
+ static const watchUsOnYoutube = 'watchUsOnYoutube';
+ static const connectOnLinkedin = 'connectOnLinkedin';
}
diff --git a/lib/presentation/hmg_services/services_page.dart b/lib/presentation/hmg_services/services_page.dart
index af6672ea..827ff8c7 100644
--- a/lib/presentation/hmg_services/services_page.dart
+++ b/lib/presentation/hmg_services/services_page.dart
@@ -45,6 +45,7 @@ import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
import 'package:provider/provider.dart';
+import 'package:url_launcher/url_launcher.dart';
import '../../core/dependencies.dart' show getIt;
import '../../features/qr_parking/qr_parking_view_model.dart';
@@ -375,6 +376,52 @@ class _ServicesPageState extends State {
),
];
+ late final List socialLinkedinMessage = [
+ HmgServicesComponentModel(
+ 101,
+ LocaleKeys.followUsOnX.tr(),
+ "",
+ AppAssets.x,
+ bgColor: AppColors.whiteColor,
+ true,
+ route: null,
+ onTap: () async {
+ launchUrl(Uri.parse("https://twitter.com/HMG"));
+ },
+ ),
+ HmgServicesComponentModel(
+ 102,
+ LocaleKeys.likeUsOnFB.tr(),
+ "",
+ AppAssets.fb,
+ bgColor: AppColors.whiteColor,
+ true,
+ route: null, // Set to null since we handle navigation in onTap
+ onTap: () async {
+ launchUrl(Uri.parse("https://www.facebook.com/DrSulaimanAlHabib?ref=tn_tnmn"));
+ },
+ ),
+ HmgServicesComponentModel(
+ 103,
+ LocaleKeys.watchUsOnYoutube.tr(),
+ "",
+ AppAssets.youtube,
+ bgColor: AppColors.whiteColor,
+ true,
+ onTap:()=> launchUrl(Uri.parse("https://www.youtube.com/c/DrsulaimanAlhabibHospitals"))
+ ),
+ HmgServicesComponentModel(
+ 104,
+ LocaleKeys.connectOnLinkedin.tr(),
+ "",
+ AppAssets.linkedin,
+ bgColor: AppColors.whiteColor,
+ true,
+ onTap:()=> launchUrl(Uri.parse("https://www.linkedin.com/company/drsulaiman-alhabib-medical-group")),
+ ),
+
+ ];
+
@override
void initState() {
// TODO: implement initState
@@ -840,6 +887,27 @@ class _ServicesPageState extends State {
)
],
).paddingSymmetrical(24.w, 0),
+ SizedBox(height: 16.h),
+ GridView.builder(
+ gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
+ crossAxisCount: (isFoldable || isTablet) ? 6 : 4, // 4 icons per row
+ crossAxisSpacing: 21.w,
+ mainAxisSpacing: 18.h,
+ childAspectRatio: 80.w / 94.h,
+ ),
+ physics: NeverScrollableScrollPhysics(),
+ shrinkWrap: true,
+ itemCount: socialLinkedinMessage.length,
+ padding: EdgeInsets.zero,
+ itemBuilder: (BuildContext context, int index) {
+ return ServiceGridViewItem(
+ socialLinkedinMessage[index],
+ index,
+ false,
+ isHealthToolIcon: true,
+ );
+ },
+ ).paddingSymmetrical(24.w, 0),
SizedBox(height: 24.h),
],
),
diff --git a/lib/presentation/profile_settings/profile_settings.dart b/lib/presentation/profile_settings/profile_settings.dart
index be7ddb54..16c2a383 100644
--- a/lib/presentation/profile_settings/profile_settings.dart
+++ b/lib/presentation/profile_settings/profile_settings.dart
@@ -346,6 +346,8 @@ class ProfileSettingsState extends State {
url: 'https://hmg.com/en/Pages/Terms.aspx',
);
}, isExternalLink: true),
+ 1.divider,
+ socialMedia(AppAssets.privacy_terms, LocaleKeys.followUsOn.tr(context: context)),
],
),
),
@@ -420,6 +422,30 @@ class ProfileSettingsState extends State {
).paddingOnly(left: 16.w, right: 16.w).onPress(onPress),
);
}
+
+ Widget socialMedia(String icon, String label,
+ ) {
+ return SizedBox(
+ height: 56.h,
+ child: Row(
+ spacing: 8.w,
+ children: [
+ Utils.buildSvgWithAssets(icon: icon, iconColor: AppColors.greyTextColor),
+ label.toText14(isBold: true, textOverflow: TextOverflow.ellipsis, maxlines: 1).expanded,
+
+ Row(
+ spacing: 24.w,
+ children: [
+ Utils.buildSvgWithAssets(icon: AppAssets.x2).onPress(()=> launchUrl(Uri.parse("https://twitter.com/HMG"))),
+ Utils.buildSvgWithAssets(icon: AppAssets.fb).onPress(()=> launchUrl(Uri.parse("https://www.facebook.com/DrSulaimanAlHabib?ref=tn_tnmn"))),
+ Utils.buildSvgWithAssets(icon: AppAssets.linkedin).onPress(()=> launchUrl(Uri.parse("https://www.linkedin.com/company/drsulaiman-alhabib-medical-group"))),
+ Utils.buildSvgWithAssets(icon: AppAssets.youtube).onPress(()=> launchUrl(Uri.parse("https://www.youtube.com/c/DrsulaimanAlhabibHospitals"))),
+ ],
+ )
+ ],
+ ).paddingOnly(left: 16.w, right: 16.w),
+ );
+ }
}
class FamilyCardWidget extends StatefulWidget {