From 4573ce6bcf83a9d87c367b800870c9cd8c9ef937 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sun, 25 Dec 2022 20:30:36 -0500 Subject: [PATCH] Added category select to add app page --- lib/pages/add_app.dart | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/lib/pages/add_app.dart b/lib/pages/add_app.dart index 687667b..9b53dcc 100644 --- a/lib/pages/add_app.dart +++ b/lib/pages/add_app.dart @@ -8,6 +8,7 @@ import 'package:obtainium/custom_errors.dart'; import 'package:obtainium/main.dart'; import 'package:obtainium/pages/app.dart'; import 'package:obtainium/pages/import_export.dart'; +import 'package:obtainium/pages/settings.dart'; import 'package:obtainium/providers/apps_provider.dart'; import 'package:obtainium/providers/settings_provider.dart'; import 'package:obtainium/providers/source_provider.dart'; @@ -29,6 +30,7 @@ class _AddAppPageState extends State { AppSource? pickedSource; Map additionalSettings = {}; bool additionalSettingsValid = true; + String? category; @override Widget build(BuildContext context) { @@ -131,6 +133,9 @@ class _AddAppPageState extends State { if (app.additionalSettings['trackOnly'] == true) { app.installedVersion = app.latestVersion; } + if (category != null) { + app.category = category; + } await appsProvider.saveApps([app]); return app; @@ -299,9 +304,7 @@ class _AddAppPageState extends State { child: Text(tr('search'))) ], ), - if (pickedSource != null && - (pickedSource! - .combinedAppSpecificSettingFormItems.isNotEmpty)) + if (pickedSource != null) Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ @@ -328,6 +331,21 @@ class _AddAppPageState extends State { }); } }), + Column( + children: [ + const SizedBox( + height: 16, + ), + CategoryEditorSelector( + alignment: WrapAlignment.start, + singleSelect: true, + onSelected: (categories) { + category = categories.isEmpty + ? null + : categories.first; + }), + ], + ), ], ) else