pharmacy_mobile/lib/pages/list_stocks.dart
2025-02-03 11:00:42 +08:00

76 lines
2 KiB
Dart

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<ListStocksPage> createState() => _ListStocksPageState();
}
class _ListStocksPageState extends State<ListStocksPage> {
final _stocks = Stocks();
late List _stockList = [];
List<DataRow> _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<DataColumn> _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()),
])));
}
}