2
0
mirror of https://github.com/inventree/inventree-app.git synced 2026-07-10 06:41:02 +00:00
Files
inventree-app/lib/settings/purchase_order_settings.dart
T
Oliver 349a8e0ef5 UI updates (#849)
* Updated dashboard

- Display "outstanding" badges
- Display "overdue" badges
- Pull-to-refresh

* Remove dead code

* Refactor app colors

* Add "pending shipments" icon

* Remove custom spinner

* Refactor error dialog

* Updated redirect after login

* Refactor login/account pages

- Better UX and confirmation messages

* Refactor API error messages

* Improve token management

- Secure storage
- Handle session expiry
- Per-profile HTTPS certificate checks

* Improved error messages
2026-07-06 21:10:10 +10:00

105 lines
3.0 KiB
Dart

import "package:flutter/material.dart";
import "package:flutter_tabler_icons/flutter_tabler_icons.dart";
import "package:inventree/l10.dart";
import "package:inventree/preferences.dart";
class InvenTreePurchaseOrderSettingsWidget extends StatefulWidget {
@override
_InvenTreePurchaseOrderSettingsState createState() =>
_InvenTreePurchaseOrderSettingsState();
}
class _InvenTreePurchaseOrderSettingsState
extends State<InvenTreePurchaseOrderSettingsWidget> {
_InvenTreePurchaseOrderSettingsState();
bool poEnable = true;
bool poShowCamera = true;
bool poConfirmScan = true;
@override
void initState() {
super.initState();
loadSettings();
}
Future<void> loadSettings() async {
poEnable = await InvenTreeSettingsManager().getBool(INV_PO_ENABLE, true);
poShowCamera = await InvenTreeSettingsManager().getBool(
INV_PO_SHOW_CAMERA,
true,
);
poConfirmScan = await InvenTreeSettingsManager().getBool(
INV_PO_CONFIRM_SCAN,
true,
);
if (mounted) {
setState(() {});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(L10().purchaseOrderSettings)),
body: Container(
child: ListView(
children: [
ListTile(
title: Text(L10().purchaseOrderEnable),
subtitle: Text(L10().purchaseOrderEnableDetail),
leading: Icon(TablerIcons.shopping_cart),
trailing: Switch(
value: poEnable,
onChanged: (bool value) {
InvenTreeSettingsManager().setValue(INV_PO_ENABLE, value);
setState(() {
poEnable = value;
});
},
),
),
ListTile(
title: Text(L10().purchaseOrderShowCamera),
subtitle: Text(L10().purchaseOrderShowCameraDetail),
leading: Icon(TablerIcons.camera),
trailing: Switch(
value: poShowCamera,
onChanged: (bool value) {
InvenTreeSettingsManager().setValue(
INV_PO_SHOW_CAMERA,
value,
);
setState(() {
poShowCamera = value;
});
},
),
),
ListTile(
title: Text(L10().purchaseOrderConfirmScan),
subtitle: Text(L10().purchaseOrderConfirmScanDetail),
leading: Icon(TablerIcons.barcode),
trailing: Switch(
value: poConfirmScan,
onChanged: (bool value) {
InvenTreeSettingsManager().setValue(
INV_PO_CONFIRM_SCAN,
value,
);
setState(() {
poConfirmScan = value;
});
},
),
),
],
),
),
);
}
}