import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:pharmacy_mobile/tables/stocks.dart'; import 'package:pharmacy_mobile/widgets/datatable_widget.dart'; import 'package:pharmacy_mobile/widgets/page_background_widget.dart'; import 'package:pharmacy_mobile/widgets/text_widget.dart'; import 'package:pharmacy_mobile/widgets/title_widget.dart'; import 'package:intl/intl.dart'; class ListStocksPage extends StatefulWidget { const ListStocksPage({super.key}); @override State createState() => _ListStocksPageState(); } class _ListStocksPageState extends State { final _stocks = Stocks(); late List _stockList = []; List _createRows() { return _stockList.map((item) { final dateString = item['expiration_date']; final date = DateTime.parse(dateString); final formattedDate = DateFormat('MMMM d, yyyy').format(date); return DataRow(cells: [ DataCell(Text(item['medicine_name'])), DataCell(Text(item['quantity'].toString())), DataCell(Text(formattedDate)), ]); }).toList(); } List _createColumns() { return [ DataColumn(label: Text('Medicine')), DataColumn(label: Text('Quantity')), DataColumn(label: Text('Expiration')) ]; } void autoRun() async { _stockList = await _stocks.getList(); setState(() {}); } @override void initState() { autoRun(); super.initState(); } @override void dispose() { _stockList = []; super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( body: PageBackgroundWidget( child: Column(children: [ const Gap(104), const TitleWidget(firstTextSize: 20, secondTextSize: 32), const Gap(32), const TextWidget(text: 'List of Stocks'), const Gap(16), DataTableWidget(column: _createColumns(), row: _createRows()), ]))); } }