Files
Tanami_App/lib/features/contactAdmin/presentation/widgets/bottom_section.dart
2024-07-25 19:19:25 +05:30

95 lines
2.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gap/gap.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/core/styles/app_images.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/core/utils/url_launcher/url_launcher.dart';
import 'package:tanami_app/features/contactAdmin/domain/model/contact_admin_model.dart';
import '../../../../core/utils/language/localizations_delegate.dart';
import '../../../../shared/components/text_widget.dart';
Widget bottomSection(
BuildContext context, ContactAdminModel contactAdminModel) {
var localizations = AppLocalizations.of(context);
return Padding(
padding: const EdgeInsets.all(22.0),
child: Column(
children: [
const Gap(50.0),
contactOption(
icon: AppImages.byPhoneIcon,
title: localizations.translate(AppText.byPhoneText),
subtitle: contactAdminModel.data![0].phoneNumber!,
onTap: () {
launchPhone(contactAdminModel.data![0].phoneNumber!);
},
),
const Gap(16.0),
contactOption(
icon: AppImages.byMailIcon,
title: localizations.translate(AppText.byEmailText),
subtitle: contactAdminModel.data![0].emailAddress!,
onTap: () {
launchEmail(contactAdminModel.data![0].emailAddress!);
},
),
const Gap(16.0),
contactOption(
icon: AppImages.languageIcon,
title: localizations.translate(AppText.websiteText),
subtitle: contactAdminModel.data![0].websiteUrl!,
onTap: () {
launchWebsiteUrl("https://tanamicapital.com/");
},
),
],
),
);
}
Widget contactOption({
required String icon,
required String title,
required String subtitle,
required VoidCallback onTap,
}) {
return GestureDetector(
onTap: onTap,
child: Container(
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 16.0),
decoration: BoxDecoration(
color: AppColor.contactAdminBgColor,
borderRadius: BorderRadius.circular(22.0),
),
child: Row(
children: [
SvgPicture.asset(
icon,
),
const Gap(16.0),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W600(
title,
clr: AppColor.contactAdminIconColor,
),
TextWidget().text14W400(
subtitle,
clr: AppColor.contactAdminIconColor,
),
],
),
const Spacer(),
const Icon(
Icons.arrow_forward_ios,
color: AppColor.contactAdminIconColor,
),
],
),
),
);
}