import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:skripsi_pos_dg/data/models/posyandu_model.dart'; import 'package:skripsi_pos_dg/data/remote/controller/c_posyandu.dart'; import 'package:skripsi_pos_dg/view/pages/bidan/posyandu_detail_page.dart'; class PosyanduPageBidan extends StatefulWidget { const PosyanduPageBidan({super.key}); @override State createState() => _PosyanduPageBidanState(); } class _PosyanduPageBidanState extends State { final cPosyandu = Get.put(PosyanduController()); refresh() { cPosyandu.getListPosyandu(); } @override void initState() { refresh(); cPosyandu.getListPosyandu(); super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( automaticallyImplyLeading: false, // title: Text('posyandu'), ), body: Padding( padding: const EdgeInsets.only(top: 4.0), child: Column( children: [ Expanded( child: GetBuilder( builder: (_) { if (_.loading) { return const Center( child: CircularProgressIndicator(), ); } return RefreshIndicator( onRefresh: () async => refresh(), child: buildListPosyandu(_.listPosyandu), ); }, ), ), ], ), ), ); } buildListPosyandu(List listPosyandu) { return ListView.builder( itemCount: listPosyandu.length, itemBuilder: (context, index) { PosyanduModel posyandu = listPosyandu[index]; return Card( child: ListTile( title: Text(posyandu.name!), subtitle: Text(posyandu.alamat!), onTap: () { Get.to( () => PosyanduDetailPageBidan(id: posyandu.id!), ); }, ), ); }, ); } }