[pve-devel] [PATCH pve_flutter_frontend 1/1] refactor: ui: add new settings page and use existing ssl toggle widget
Shan Shaji
s.shaji at proxmox.com
Fri Aug 1 12:00:50 CEST 2025
The settings page UI was previously implemented in
proxmox_login_manager. A new screen has now been created with an added
route and removed the settings page from `proxmox_login_manager`.
This screen reuses the SSL toggle form from the
`proxmox_login_manager` package.
Signed-off-by: Shan Shaji <s.shaji at proxmox.com>
---
lib/main.dart | 8 ++++++++
lib/pages/pve_settings_page.dart | 23 +++++++++++++++++++++++
2 files changed, 31 insertions(+)
create mode 100644 lib/pages/pve_settings_page.dart
diff --git a/lib/main.dart b/lib/main.dart
index 6a7c5a9..0ffcae7 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,6 +1,7 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
+import 'package:pve_flutter_frontend/pages/pve_settings_page.dart';
import 'package:pve_flutter_frontend/widgets/pve_first_welcome_screen.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:proxmox_login_manager/proxmox_login_manager.dart';
@@ -227,6 +228,13 @@ class MyApp extends StatelessWidget {
);
}
+ if (context.name == PveSettingsPage.routePath) {
+ return MaterialPageRoute(
+ settings: context,
+ builder: (context) => PveSettingsPage(),
+ );
+ }
+
if (authbloc!.state.value is Unauthenticated ||
context.name == '/login') {
return MaterialPageRoute(
diff --git a/lib/pages/pve_settings_page.dart b/lib/pages/pve_settings_page.dart
new file mode 100644
index 0000000..0d405c1
--- /dev/null
+++ b/lib/pages/pve_settings_page.dart
@@ -0,0 +1,23 @@
+import 'package:flutter/material.dart';
+import 'package:proxmox_login_manager/proxmox_general_settings_form.dart';
+import 'package:pve_flutter_frontend/widgets/pve_app_bar.dart';
+
+class PveSettingsPage extends StatelessWidget {
+ static final routePath = '/settings';
+
+ const PveSettingsPage({super.key});
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: PveAppBar(),
+ body: SingleChildScrollView(
+ child: Column(
+ children: [
+ ProxmoxGeneralSettingsForm(),
+ ],
+ ),
+ ),
+ );
+ }
+}
--
2.39.5
More information about the pve-devel
mailing list