TIF_E41202429/Mobile/patrolin/skripsi/lib/view/data_training_page.dart

95 lines
3.2 KiB
Dart

import 'package:d_view/d_view.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:skripsi/config/theme.dart';
import 'package:skripsi/controller/cKasusTraining.dart';
import 'package:skripsi/model/kasus_training.dart';
import 'package:skripsi/view/detail_training_page.dart';
import 'package:skripsi/view/tambah_data_training.dart';
import 'package:skripsi/widget/card_kasus_training.dart';
class TrainingPage extends StatefulWidget {
const TrainingPage({super.key});
@override
State<TrainingPage> createState() => TrainingPageState();
}
class TrainingPageState extends State<TrainingPage> {
final cKasusTraining = Get.put(CKasusTraining());
refresh() {
cKasusTraining.getListKasusTraining();
}
@override
void initState() {
refresh();
cKasusTraining.listKasusTraining;
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
elevation: 0,
backgroundColor: whiteColor,
leadingWidth: 70.w,
centerTitle: true,
title: Text(
'Data Training',
style: robotoSedangHitam,
),
leading:
Text('', style: robotoSedangHitam.copyWith(color: whiteColor)),
actions: [
TextButton(
onPressed: () {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => const TmbhDataTraining()));
Get.to(const TmbhDataTraining());
},
child: const Icon(Icons.add)),
],
),
body: Padding(
padding: EdgeInsets.fromLTRB(10.w, 10.w, 10.w, 60.w),
child: Column(
children: [
Expanded(child: GetBuilder<CKasusTraining>(
builder: (_) {
if (_.loading) return DView.loadingCircle();
if (_.listKasusTraining.isEmpty) return DView.empty('Kosong');
return RefreshIndicator(
onRefresh: () async => refresh(),
child: ListView.builder(
itemCount: _.listKasusTraining.length,
itemBuilder: (BuildContext context, int index) {
KasusTraining kasusTraining =
_.listKasusTraining[index];
return CardKasusTraining(
kasusTraining: kasusTraining,
onTap: () {
Get.to(DetailPage(
tkp: kasusTraining.tkp ?? "Kosong",
jk: kasusTraining.jumlahKejahatan ?? "Kosong",
jtp: kasusTraining.jarakTkpPolres ?? "Kosong",
status: kasusTraining.status ?? "Kosong",
name: kasusTraining.name ?? "Kosong"));
},
);
},
),
);
},
)),
],
),
));
}
}