Fixes some UI desync

This commit is contained in:
zontreck 2024-11-23 17:08:22 -07:00
parent dd37c07485
commit c06176c900
7 changed files with 41 additions and 32 deletions

View file

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:servermanager/structs/discordHookHelper.dart';
import '../structs/mod.dart';
import '../structs/settings.dart';
@ -26,22 +27,25 @@ class ModManagerState extends State<ModManager> {
onPressed: () {
for (Mod M in settings.inst!.mods) {
M.enabled = false;
settings.loggedInUser!
.sendDiscordActionLog("${M.mod_name} was disabled");
;
}
setState(() {
settings.restartRequired = true;
});
setState(() {});
},
icon: Icon(Icons.swipe_down)),
IconButton(
onPressed: () {
for (Mod M in settings.inst!.mods) {
M.enabled = true;
settings.loggedInUser!
.sendDiscordActionLog("${M.mod_name} was enabled");
}
setState(() {
settings.restartRequired = true;
});
setState(() {});
},
icon: Icon(Icons.swipe_up))
],
@ -60,7 +64,8 @@ class ModManagerState extends State<ModManager> {
} while (i < end - oldIndex);
settings.inst!.mods[end] = item;
settings.restartRequired = true;
settings.loggedInUser!.sendDiscordActionLog(
"Reordered Mod List\n\n${item.mod_name} is now in load order ${end}");
} else if (oldIndex > newIndex) {
//From bottom to top
Mod item = settings.inst!.mods[oldIndex];
@ -68,10 +73,12 @@ class ModManagerState extends State<ModManager> {
settings.inst!.mods[i] = settings.inst!.mods[i - 1];
}
settings.inst!.mods[newIndex] = item;
settings.loggedInUser!.sendDiscordActionLog(
"Reordered Mod List\n\n${item.mod_name} is now in load order ${newIndex}");
}
setState(() {
settings.Write();
settings.restartRequired = true;
});
},
itemBuilder: (ctx, idx) {
@ -98,15 +105,18 @@ class ModManagerState extends State<ModManager> {
ModEditReturnArgs MERA = reply as ModEditReturnArgs;
if (MERA.delete) {
setState(() {
settings.loggedInUser!.sendDiscordActionLog(
"Deleted Mod: ${settings.inst!.mods[idx].mod_name}");
settings.inst!.mods.removeAt(idx);
settings.restartRequired = true;
});
return;
}
setState(() {
settings.inst!.mods[idx] = MERA.mod!;
settings.restartRequired = true;
settings.loggedInUser!.sendDiscordActionLog(
"Edited Mod: ${MERA.mod!.mod_name}");
});
}
},
@ -127,9 +137,10 @@ class ModManagerState extends State<ModManager> {
setState(() {
settings.inst!.mods.add(MERA.mod!);
settings.restartRequired = true;
});
settings.loggedInUser!
.sendDiscordActionLog("Added Mod: ${MERA.mod!.mod_name}");
}
},
),