|
|
|
|
@ -19,6 +19,7 @@ import 'package:mohem_flutter_app/widgets/bottom_sheets/search_employee_bottom_s
|
|
|
|
|
import 'package:mohem_flutter_app/widgets/circular_avatar.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/widgets/shimmer/dashboard_shimmer_widget.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
import 'package:pull_to_refresh/pull_to_refresh.dart';
|
|
|
|
|
|
|
|
|
|
class ChatHomeScreen extends StatefulWidget {
|
|
|
|
|
const ChatHomeScreen({Key? key}) : super(key: key);
|
|
|
|
|
@ -31,6 +32,16 @@ class _ChatHomeScreenState extends State<ChatHomeScreen> {
|
|
|
|
|
TextEditingController search = TextEditingController();
|
|
|
|
|
late ChatProviderModel data;
|
|
|
|
|
|
|
|
|
|
final RefreshController _rc = RefreshController(initialRefresh: false);
|
|
|
|
|
|
|
|
|
|
void getMoreChat() async {
|
|
|
|
|
data.getUserRecentChats();
|
|
|
|
|
await Future.delayed(
|
|
|
|
|
const Duration(milliseconds: 1000),
|
|
|
|
|
);
|
|
|
|
|
_rc.loadComplete();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
super.initState();
|
|
|
|
|
@ -84,7 +95,18 @@ class _ChatHomeScreenState extends State<ChatHomeScreen> {
|
|
|
|
|
),
|
|
|
|
|
).paddingOnly(top: 20, bottom: 14),
|
|
|
|
|
if (m.searchedChats != null)
|
|
|
|
|
ListView.separated(
|
|
|
|
|
SmartRefresher(
|
|
|
|
|
enablePullDown: true,
|
|
|
|
|
enablePullUp: false,
|
|
|
|
|
onRefresh: (){
|
|
|
|
|
getMoreChat();
|
|
|
|
|
},
|
|
|
|
|
header: const MaterialClassicHeader(
|
|
|
|
|
color: MyColors.gradiantEndColor,
|
|
|
|
|
),
|
|
|
|
|
controller: _rc,
|
|
|
|
|
reverse: false,
|
|
|
|
|
child: ListView.separated(
|
|
|
|
|
itemCount: m.searchedChats!.length,
|
|
|
|
|
shrinkWrap: true,
|
|
|
|
|
physics: const ClampingScrollPhysics(),
|
|
|
|
|
@ -127,7 +149,9 @@ class _ChatHomeScreenState extends State<ChatHomeScreen> {
|
|
|
|
|
).circle(10),
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
).onPress(() {
|
|
|
|
|
print(jsonEncode(m.searchedChats![index]));
|
|
|
|
|
}),
|
|
|
|
|
Column(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
@ -200,6 +224,7 @@ class _ChatHomeScreenState extends State<ChatHomeScreen> {
|
|
|
|
|
},
|
|
|
|
|
separatorBuilder: (BuildContext context, int index) => const Divider(color: MyColors.lightGreyE5Color).paddingOnly(left: 59),
|
|
|
|
|
),
|
|
|
|
|
).expanded,
|
|
|
|
|
],
|
|
|
|
|
).paddingOnly(left: 21, right: 21);
|
|
|
|
|
},
|
|
|
|
|
|