You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
5.2 KiB
Dart
108 lines
5.2 KiB
Dart
|
1 month ago
|
// import 'package:flutter/material.dart';
|
||
|
|
// import 'package:get/get.dart';
|
||
|
|
// import 'package:uco_mobile_poc_project/app/core/constants/translation_keys.dart';
|
||
|
|
// import 'package:uco_mobile_poc_project/app/custom_widgets/custom_no_record.dart';
|
||
|
|
// import 'package:uco_mobile_poc_project/app/res/app_colors.dart';
|
||
|
|
// import 'package:uco_mobile_poc_project/app/res/app_dimensions.dart';
|
||
|
|
//
|
||
|
|
// import '../../../custom_widgets/custom_app_bar.dart';
|
||
|
|
// import '../controllers/contacts_screen_controller.dart';
|
||
|
|
//
|
||
|
|
// class ContactsScreenView extends GetView<ContactsScreenController> {
|
||
|
|
// const ContactsScreenView({Key? key}) : super(key: key);
|
||
|
|
//
|
||
|
|
// @override
|
||
|
|
// Widget build(BuildContext context) {
|
||
|
|
// String className = runtimeType.toString().split('.').last;
|
||
|
|
// return Scaffold(
|
||
|
|
// appBar: DashBoardAppBar(
|
||
|
|
// title: TranslationKeys.makeTranslation("Contacts"),
|
||
|
|
// onBackButtonPressed: () {
|
||
|
|
// Get.back();
|
||
|
|
// },
|
||
|
|
// ),
|
||
|
|
// body: Padding(
|
||
|
|
// padding: EdgeInsets.symmetric(vertical: AppDimensions.screenVerticalPadding, horizontal: AppDimensions.screenHorizontalPadding),
|
||
|
|
// child: Column(
|
||
|
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||
|
|
// children: [
|
||
|
|
// TextField(
|
||
|
|
// style: Theme.of(context).textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.w400, fontSize: 12),
|
||
|
|
// decoration: const InputDecoration(
|
||
|
|
// suffixIconColor: AppColors.colorPrimary,
|
||
|
|
// filled: true,
|
||
|
|
// fillColor: AppColors.colorGrey200,
|
||
|
|
// enabledBorder: OutlineInputBorder(borderRadius: BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 1, color: Colors.transparent)),
|
||
|
|
// border: OutlineInputBorder(borderRadius: BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 1, color: AppColors.colorGrey500)),
|
||
|
|
// focusedBorder: OutlineInputBorder(borderRadius: BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 1, style: BorderStyle.solid, color: Colors.transparent)),
|
||
|
|
// hintText: 'Search contact number',
|
||
|
|
// hintStyle: TextStyle(fontSize: 14, fontWeight: FontWeight.w400, color: AppColors.colorGrey500),
|
||
|
|
// suffixIcon: Icon(Icons.search_rounded, size: 22),
|
||
|
|
// ),
|
||
|
|
// onChanged: (value) {
|
||
|
|
// controller.filterContacts(value);
|
||
|
|
// }),
|
||
|
|
// const SizedBox(height: 20),
|
||
|
|
// Text(TranslationKeys.makeTranslation("Contacts"), style: Theme.of(context).textTheme.bodyMedium),
|
||
|
|
// const SizedBox(height: 10),
|
||
|
|
// Obx(() {
|
||
|
|
// return controller.filteredContacts.isEmpty
|
||
|
|
// ? const Center(
|
||
|
|
// child: CustomNoRecord(title: "No Record Found", description: "We couldn't find any activity at this moment"),
|
||
|
|
// )
|
||
|
|
// : Expanded(
|
||
|
|
// flex: 2,
|
||
|
|
// child: ListView.builder(
|
||
|
|
// itemCount: controller.filteredContacts.length,
|
||
|
|
// itemBuilder: (context, index) {
|
||
|
|
// final contact = controller.filteredContacts[index];
|
||
|
|
// final phoneNumber = contact.phones.isNotEmpty ? contact.phones[0].number : 'No phone number';
|
||
|
|
// return ListTile(
|
||
|
|
// onTap: () {
|
||
|
|
// controller.handleContactSelection(contact);
|
||
|
|
// },
|
||
|
|
// title: Text(contact.displayName),
|
||
|
|
// subtitle: Text(
|
||
|
|
// phoneNumber,
|
||
|
|
// style: Theme.of(context).textTheme.bodySmall,
|
||
|
|
// ),
|
||
|
|
// leading: CircleAvatar(
|
||
|
|
// backgroundColor: AppColors.colorPrimary,
|
||
|
|
// backgroundImage: contact.photo != null ? MemoryImage(contact.photo!) : null,
|
||
|
|
// child: Text(
|
||
|
|
// getInitials(contact.displayName),
|
||
|
|
// style: Theme.of(context).textTheme.titleSmall?.copyWith(color: Colors.white),
|
||
|
|
// ),
|
||
|
|
// ),
|
||
|
|
// );
|
||
|
|
// },
|
||
|
|
// ),
|
||
|
|
// );
|
||
|
|
// }),
|
||
|
|
// ],
|
||
|
|
// ),
|
||
|
|
// ),
|
||
|
|
// );
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// String getInitials(String fullName) {
|
||
|
|
// if (fullName.isEmpty) {
|
||
|
|
// return "";
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// // Split the full name into words
|
||
|
|
// List<String> nameParts = fullName.trim().split(' ');
|
||
|
|
//
|
||
|
|
// // Check if there's at least a first and last name
|
||
|
|
// if (nameParts.length < 2) {
|
||
|
|
// return fullName.substring(0, 1).toUpperCase(); // Get first character
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// // Get first characters of first and last name
|
||
|
|
// String firstInitial = nameParts[0].substring(0, 1).toUpperCase();
|
||
|
|
// String lastInitial = nameParts[nameParts.length - 1].substring(0, 1).toUpperCase();
|
||
|
|
//
|
||
|
|
// return firstInitial + lastInitial;
|
||
|
|
// }
|
||
|
|
// }
|