DiscoverModule/lib/ui_screen/new_contacts.dart

813 lines
32 KiB
Dart
Raw Normal View History

2024-07-19 08:45:14 +00:00
// // import 'package:discover_module/provider_class/hcp%20_provider.dart';
// // import 'package:discover_module/ui_screen/interactionform/NewtworkConnectivity.dart';
// // import 'package:discover_module/ui_screen/new_profile.dart';
// // import 'package:flutter/cupertino.dart';
// // import 'package:flutter/material.dart';
// // import 'package:flutter_profile_picture/flutter_profile_picture.dart';
// // import 'package:hive_flutter/hive_flutter.dart';
// // import 'package:provider/provider.dart';
// // import 'package:flutter/services.dart';
// // import 'package:discover_module/ui_screen/profile.dart';
// // class Contacts1 extends StatefulWidget {
// // const Contacts1({Key? key}) : super(key: key);
// // @override
// // State<Contacts1> createState() => _Contacts1State();
// // }
// // class _Contacts1State extends State<Contacts1> {
// // final _contactBox = Hive.box("mycontact");
// // bool _switchValue = false;
// // bool isOnline2 = true;
// // final TextEditingController _searchController = TextEditingController();
// // @override
// // void initState() {
// // super.initState();
// // setupConnectivityListener();
// // getCall();
// // }
// // Future<void> setupConnectivityListener() async {
// // while (true) {
// // bool isOnline = await NetworkConnectivity().isInternetAvailable();
// // print('Internet contact available: $isOnline');
// // await Future.delayed(Duration(seconds: 2));
// // if (mounted) {
// // setState(() {
// // isOnline2 = isOnline;
// // });
// // }
// // }
// // }
// // // @override
// // // void dispose() {
// // // // TODO: implement dispose
// // // }
// // void getCall() async {
// // await Provider.of<hcpProvider>(context, listen: false).getHCPProvider();
// // }
// // @override
// // Widget build(BuildContext context) {
// // SystemChrome.setSystemUIOverlayStyle(
// // SystemUiOverlayStyle(statusBarColor: Color.fromARGB(255, 0, 71, 132)));
// // return SafeArea(
// // child: Scaffold(
// // body: Consumer<hcpProvider>(
// // builder: (context, value, child) {
// // return Column(
// // children: [
// // Row(
// // mainAxisAlignment: MainAxisAlignment.center,
// // children: [
// // Expanded(
// // child: Padding(
// // padding: const EdgeInsets.only(left: 45.0),
// // child: Text(
// // _switchValue ? "My Contacts" : "All Contacts",
// // textAlign: TextAlign.center,
// // style: TextStyle(
// // fontSize: 20.0,
// // fontWeight: FontWeight.w500,
// // ),
// // ),
// // ),
// // ),
// // Row(
// // mainAxisSize: MainAxisSize.min,
// // children: [
// // _switchValue
// // ? const Text(
// // 'All',
// // style: TextStyle(
// // fontSize: 12,
// // decoration: TextDecoration.lineThrough,
// // decorationThickness: 0.85,
// // ),
// // )
// // : const Text(
// // 'All',
// // style: TextStyle(
// // fontSize: 12,
// // ),
// // ),
// // CupertinoSwitch(
// // activeColor: Color.fromARGB(255, 0, 71, 132),
// // value: _switchValue,
// // onChanged: (value) {
// // setState(() {
// // _switchValue = value;
// // });
// // },
// // ),
// // Padding(
// // padding: const EdgeInsets.only(right: 8.0),
// // child: !_switchValue
// // ? const Text(
// // 'My',
// // style: TextStyle(
// // fontSize: 12,
// // decoration: TextDecoration.lineThrough,
// // decorationThickness: 0.85,
// // ),
// // )
// // : const Text(
// // 'My',
// // style: TextStyle(
// // fontSize: 12,
// // ),
// // ),
// // )
// // ],
// // ),
// // ],
// // ),
// // Padding(
// // padding: const EdgeInsets.only(
// // top: 8.0, bottom: 8.0, left: 20.0, right: 20.0),
// // child: Center(
// // child: TextField(
// // controller: _searchController,
// // onChanged: (value) {
// // setState(() {
// // Provider.of<hcpProvider>(context, listen: false)
// // .getHCPProvider();
// // // Provider.of<HiveDataRepository>(context,
// // // listen: false)
// // // .searchInHive(
// // // value); // Update the search results
// // });
// // },
// // // ignore: prefer_const_constructors
// // decoration: InputDecoration(
// // contentPadding: const EdgeInsets.symmetric(
// // vertical: 9.0), // Adjust the vertical padding
// // border: const OutlineInputBorder(),
// // labelText: ' Search',
// // prefixIcon: const Icon(Icons.search),
// // )),
// // ),
// // ),
// // !_switchValue ? Listdisplay(value) : Listdisplay1(_contactBox)
// // // Expanded(
// // // child: ListView.builder(
// // // itemCount: _contactBox.values.length,
// // // itemBuilder: (BuildContext context, int index) {
// // // var data = _contactBox.get(index);
// // // print(":data_is: $data");
// // // return ListTile(
// // // onTap: () {
// // // Navigator.push(
// // // context,
// // // MaterialPageRoute(
// // // builder: (context) => NewProfile(
// // // text: data!,
// // // ),
// // // ),
// // // );
// // // },
// // // leading: ProfilePicture(
// // // name: data["name"],
// // // radius: 20,
// // // fontsize: 12,
// // // ),
// // // title: Text(
// // // data["name"],
// // // style: TextStyle(
// // // fontSize: 18.0,
// // // fontWeight: FontWeight.bold,
// // // ),
// // // ),
// // // subtitle: Text(
// // // "Added by Pooja.K",
// // // style: TextStyle(
// // // fontSize: 14.0,
// // // fontWeight: FontWeight.normal,
// // // ),
// // // ),
// // // );
// // // },
// // // ),
// // // ),
// // ],
// // );
// // },
// // ),
// // ),
// // );
// // }
// // Listdisplay(hcpProvider value) {
// // return Expanded(
// // child: ListView.builder(
// // itemCount: value.list.length,
// // itemBuilder: (BuildContext context, int index) {
// // var data = value.list[index];
// // return Column(
// // children: [
// // ListTile(
// // onTap: () {
// // // Navigator.push(
// // // context,
// // // MaterialPageRoute(
// // // builder: (context) => Profile(
// // // text: data,
// // // ),
// // // ),
// // // );
// // Navigator.push(
// // context,
// // MaterialPageRoute(
// // builder: (_) => NewProfile(text: data)));
// // },
// // leading: data["img_path"] == null
// // ? ProfilePicture(
// // name: data["name"],
// // radius: 20,
// // fontsize: 12,
// // )
// // : ClipOval(
// // child: SizedBox.fromSize(
// // size: Size.fromRadius(20),
// // child: Image.network(data["img_path"],
// // fit: BoxFit.cover),
// // ),
// // ),
// // trailing: Text("Added by\nPooja k"),
// // title: Text(
// // "${data["name"]}",
// // style: const TextStyle(
// // fontSize: 18.0,
// // fontWeight: FontWeight.bold,
// // ),
// // ),
// // subtitle: Text(
// // "${data["speciality"]}\n${data["addr"]},",
// // style: const TextStyle(
// // fontSize: 14.0,
// // fontWeight: FontWeight.normal,
// // ),
// // ),
// // ),
// // Divider(),
// // ],
// // );
// // },
// // ),
// // );
// // }
// // Listdisplay1(Box value) {
// // return Expanded(
// // child: ListView.builder(
// // itemCount: value.values.length,
// // itemBuilder: (BuildContext context, int index) {
// // var data = value.get(index);
// // return Column(
// // children: [
// // ListTile(
// // onTap: () {
// // // Navigator.push(
// // // context,
// // // MaterialPageRoute(
// // // builder: (context) => Profile(
// // // text: data,
// // // ),
// // // ),
// // // );
// // Navigator.push(
// // context,
// // MaterialPageRoute(
// // builder: (_) => NewProfile(text: data)));
// // },
// // leading: data["img_path"] == null
// // ? ProfilePicture(
// // name: data["name"],
// // radius: 20,
// // fontsize: 12,
// // )
// // : ClipOval(
// // child: SizedBox.fromSize(
// // size: Size.fromRadius(20),
// // child: Image.network(data["img_path"],
// // fit: BoxFit.cover),
// // ),
// // ),
// // trailing: Text("Added by\nPooja k"),
// // title: Text(
// // "${data["name"]}",
// // style: const TextStyle(
// // fontSize: 18.0,
// // fontWeight: FontWeight.bold,
// // ),
// // ),
// // subtitle: Text(
// // "${data["speciality"]}\n${data["addr"]},",
// // style: const TextStyle(
// // fontSize: 14.0,
// // fontWeight: FontWeight.normal,
// // ),
// // ),
// // ),
// // Divider(),
// // ],
// // );
// // },
// // ),
// // );
// // }
// // }
// import 'package:flutter/material.dart';
// import 'package:flutter/cupertino.dart';
// import 'package:flutter_profile_picture/flutter_profile_picture.dart';
// import 'package:hive_flutter/hive_flutter.dart';
// import 'package:provider/provider.dart';
// import 'package:flutter/services.dart';
// import 'package:discover_module/provider_class/hcp%20_provider.dart';
// import 'package:discover_module/ui_screen/profile.dart';
// import 'package:discover_module/ui_screen/new_profile.dart';
// import 'package:discover_module/ui_screen/interactionform/NewtworkConnectivity.dart';
// class Contacts1 extends StatefulWidget {
// const Contacts1({Key? key}) : super(key: key);
// @override
// State<Contacts1> createState() => _Contacts1State();
// }
// class _Contacts1State extends State<Contacts1> {
// final _contactBox = Hive.box("mycontact");
// bool _switchValue = false;
// bool isOnline2 = true;
// final TextEditingController _searchController = TextEditingController();
// @override
// void initState() {
// super.initState();
// setupConnectivityListener();
// getCall();
// }
// Future<void> setupConnectivityListener() async {
// while (true) {
// bool isOnline = await NetworkConnectivity().isInternetAvailable();
// print('Internet contact available: $isOnline');
// await Future.delayed(Duration(seconds: 2));
// if (mounted) {
// setState(() {
// isOnline2 = isOnline;
// });
// }
// }
// }
// void getCall() async {
// await Provider.of<hcpProvider>(context, listen: false).getHCPProvider();
// }
// @override
// Widget build(BuildContext context) {
// SystemChrome.setSystemUIOverlayStyle(
// SystemUiOverlayStyle(statusBarColor: Color.fromARGB(255, 0, 71, 132)));
// return SafeArea(
// child: Scaffold(
// body: Consumer<hcpProvider>(
// builder: (context, value, child) {
// return Column(
// children: [
// Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Expanded(
// child: Padding(
// padding: const EdgeInsets.only(left: 45.0),
// child: Text(
// _switchValue ? "My Contacts" : "All Contacts",
// textAlign: TextAlign.center,
// style: TextStyle(
// fontSize: 20.0,
// fontWeight: FontWeight.w500,
// ),
// ),
// ),
// ),
// Row(
// mainAxisSize: MainAxisSize.min,
// children: [
// _switchValue
// ? const Text(
// 'All',
// style: TextStyle(
// fontSize: 12,
// decoration: TextDecoration.lineThrough,
// decorationThickness: 0.85,
// ),
// )
// : const Text(
// 'All',
// style: TextStyle(
// fontSize: 12,
// ),
// ),
// CupertinoSwitch(
// activeColor: Color.fromARGB(255, 0, 71, 132),
// value: _switchValue,
// onChanged: (value) {
// setState(() {
// _switchValue = value;
// });
// },
// ),
// Padding(
// padding: const EdgeInsets.only(right: 8.0),
// child: !_switchValue
// ? const Text(
// 'My',
// style: TextStyle(
// fontSize: 12,
// decoration: TextDecoration.lineThrough,
// decorationThickness: 0.85,
// ),
// )
// : const Text(
// 'My',
// style: TextStyle(
// fontSize: 12,
// ),
// ),
// )
// ],
// ),
// ],
// ),
// Padding(
// padding: const EdgeInsets.only(
// top: 8.0, bottom: 8.0, left: 20.0, right: 20.0),
// child: Center(
// child: TextField(
// controller: _searchController,
// onChanged: (value) {
// setState(() {
// Provider.of<hcpProvider>(context, listen: false)
// .getHCPProvider1(query: value);
// });
// },
// decoration: InputDecoration(
// contentPadding:
// const EdgeInsets.symmetric(vertical: 9.0),
// border: const OutlineInputBorder(),
// labelText: ' Search',
// prefixIcon: const Icon(Icons.search),
// ),
// ),
// ),
// ),
// !_switchValue ? Listdisplay(value) : Listdisplay1(_contactBox),
// ],
// );
// },
// ),
// ),
// );
// }
// Widget Listdisplay(hcpProvider value) {
// return Expanded(
// child: ListView.builder(
// itemCount: value.list.length,
// itemBuilder: (BuildContext context, int index) {
// var data = value.list[index];
// return Column(
// children: [
// ListTile(
// onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => NewProfile(text: data),
// ),
// );
// },
// leading: data["img_path"] == null
// ? ProfilePicture(
// name: data["name"],
// radius: 20,
// fontsize: 12,
// )
// : ClipOval(
// child: SizedBox.fromSize(
// size: Size.fromRadius(20),
// child: Image.network(data["img_path"],
// fit: BoxFit.cover),
// ),
// ),
// trailing: Text("Added by\nPooja k"),
// title: Text(
// "${data["name"]}",
// style: const TextStyle(
// fontSize: 18.0,
// fontWeight: FontWeight.bold,
// ),
// ),
// subtitle: Text(
// "${data["speciality"]}\n${data["addr"]},",
// style: const TextStyle(
// fontSize: 14.0,
// fontWeight: FontWeight.normal,
// ),
// ),
// ),
// Divider(),
// ],
// );
// },
// ),
// );
// }
// Widget Listdisplay1(Box value) {
// return Expanded(
// child: ListView.builder(
// itemCount: value.values.length,
// itemBuilder: (BuildContext context, int index) {
// var data = value.get(index);
// return Column(
// children: [
// ListTile(
// onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => NewProfile(text: data),
// ),
// );
// },
// leading: data["img_path"] == null
// ? ProfilePicture(
// name: data["name"],
// radius: 20,
// fontsize: 12,
// )
// : ClipOval(
// child: SizedBox.fromSize(
// size: Size.fromRadius(20),
// child: Image.network(data["img_path"],
// fit: BoxFit.cover),
// ),
// ),
// trailing: Text("Added by\nPooja k"),
// title: Text(
// "${data["name"]}",
// style: const TextStyle(
// fontSize: 18.0,
// fontWeight: FontWeight.bold,
// ),
// ),
// subtitle: Text(
// "${data["speciality"]}\n${data["addr"]},",
// style: const TextStyle(
// fontSize: 14.0,
// fontWeight: FontWeight.normal,
// ),
// ),
// ),
// Divider(),
// ],
// );
// },
// ),
// );
// }
// }
import 'package:discover_module/constants.dart';
2024-07-05 08:48:29 +00:00
import 'package:discover_module/provider_class/hcp%20_provider.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:flutter/services.dart';
2024-07-19 08:45:14 +00:00
import 'package:flutter_profile_picture/flutter_profile_picture.dart';
import 'package:hive_flutter/hive_flutter.dart';
2024-07-05 08:48:29 +00:00
import 'package:discover_module/ui_screen/profile.dart';
2024-07-19 08:45:14 +00:00
import 'package:discover_module/ui_screen/new_profile.dart';
import 'package:discover_module/ui_screen/interactionform/NewtworkConnectivity.dart';
2024-07-05 08:48:29 +00:00
class Contacts1 extends StatefulWidget {
const Contacts1({Key? key}) : super(key: key);
@override
State<Contacts1> createState() => _Contacts1State();
}
class _Contacts1State extends State<Contacts1> {
final _contactBox = Hive.box("mycontact");
bool _switchValue = false;
bool isOnline2 = true;
2024-07-19 08:45:14 +00:00
final TextEditingController _searchController = TextEditingController();
2024-07-05 08:48:29 +00:00
@override
void initState() {
super.initState();
setupConnectivityListener();
2024-07-19 08:45:14 +00:00
Provider.of<hcpProvider>(context, listen: false).getHCPProvider();
2024-07-05 08:48:29 +00:00
}
Future<void> setupConnectivityListener() async {
2024-07-19 08:45:14 +00:00
// Your connectivity setup code
2024-07-05 08:48:29 +00:00
}
@override
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(statusBarColor: Color.fromARGB(255, 0, 71, 132)));
return SafeArea(
child: Scaffold(
body: Consumer<hcpProvider>(
2024-07-19 08:45:14 +00:00
builder: (context, hcpProvider, child) {
List<dynamic> displayedHCPList =
hcpProvider.searchHCP(_searchController.text);
2024-07-05 08:48:29 +00:00
return Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.only(left: 45.0),
child: Text(
_switchValue ? "My Contacts" : "All Contacts",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w500,
),
),
),
),
Row(
mainAxisSize: MainAxisSize.min,
children: [
_switchValue
? const Text(
'All',
style: TextStyle(
fontSize: 12,
decoration: TextDecoration.lineThrough,
decorationThickness: 0.85,
),
)
: const Text(
'All',
style: TextStyle(
fontSize: 12,
),
),
CupertinoSwitch(
activeColor: Color.fromARGB(255, 0, 71, 132),
value: _switchValue,
onChanged: (value) {
setState(() {
_switchValue = value;
});
},
),
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: !_switchValue
? const Text(
'My',
style: TextStyle(
fontSize: 12,
decoration: TextDecoration.lineThrough,
decorationThickness: 0.85,
),
)
: const Text(
'My',
style: TextStyle(
fontSize: 12,
),
),
)
],
),
],
),
2024-07-19 08:45:14 +00:00
Padding(
padding: const EdgeInsets.only(
top: 8.0, bottom: 8.0, left: 20.0, right: 20.0),
child: Center(
child: TextField(
controller: _searchController,
onChanged: (value) {
setState(() {});
},
decoration: InputDecoration(
fillColor: Constants.k2color,
contentPadding: EdgeInsets.symmetric(vertical: 9.0),
border: OutlineInputBorder(),
labelText: ' Search',
prefixIcon: Icon(
Icons.search,
2024-07-05 08:48:29 +00:00
),
),
2024-07-19 08:45:14 +00:00
),
2024-07-12 08:40:20 +00:00
),
),
2024-07-19 08:45:14 +00:00
Expanded(
child: ListView.builder(
itemCount: displayedHCPList.length,
itemBuilder: (BuildContext context, int index) {
var data = displayedHCPList[index];
return Column(
children: [
ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NewProfile(text: data),
),
);
},
leading: data["img_path"] == null
? ProfilePicture(
name: data["name"],
radius: 20,
fontsize: 12,
)
: ClipOval(
child: SizedBox.fromSize(
size: Size.fromRadius(25),
child: Image.network(data["img_path"],
fit: BoxFit.fill),
),
),
trailing: Icon(
Icons.person_add_rounded,
color: Constants.k2color,
size: 30.0,
),
title: Text(
"${data["name"]}",
style: const TextStyle(
fontSize: 18.0,
fontWeight: FontWeight.bold,
),
),
subtitle: Column(
children: [
Row(
children: [
Text(
"${data["speciality"]}\n${data["addr"]},",
style: const TextStyle(
fontSize: 14.0,
fontWeight: FontWeight.normal,
),
),
],
),
Row(
children: [
Text(
"Added by Pooja k\nAdded on 01/07/2023",
style: const TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.normal,
),
)
],
)
],
),
),
Divider(),
],
);
},
2024-07-12 08:40:20 +00:00
),
),
2024-07-19 08:45:14 +00:00
],
);
},
),
2024-07-05 08:48:29 +00:00
),
);
}
}