fix for delete this chat

This commit is contained in:
HarukiToreda
2025-11-10 00:53:52 -05:00
parent c30eb4b659
commit b3f4e81827

View File

@@ -536,15 +536,27 @@ void menuHandler::deleteMessagesMenu()
{ {
enum optionsNumbers { Back = 0, DeleteOldest, DeleteThis, DeleteAll, enumEnd }; enum optionsNumbers { Back = 0, DeleteOldest, DeleteThis, DeleteAll, enumEnd };
auto mode = graphics::MessageRenderer::getThreadMode();
#if defined(M5STACK_UNITC6L) #if defined(M5STACK_UNITC6L)
static const char *optionsArray[] = { static const char *optionsArrayAll[] = {
"Back",
"Delete Oldest",
"Delete All"
};
static const char *optionsArrayNormal[] = {
"Back", "Back",
"Delete Oldest", "Delete Oldest",
"Delete This Chat", "Delete This Chat",
"Delete All" "Delete All"
}; };
#else #else
static const char *optionsArray[] = { static const char *optionsArrayAll[] = {
"Back",
"Delete Oldest",
"Delete All Chats"
};
static const char *optionsArrayNormal[] = {
"Back", "Back",
"Delete Oldest", "Delete Oldest",
"Delete This Chat", "Delete This Chat",
@@ -554,12 +566,18 @@ void menuHandler::deleteMessagesMenu()
BannerOverlayOptions bannerOptions; BannerOverlayOptions bannerOptions;
bannerOptions.message = "Delete Messages"; bannerOptions.message = "Delete Messages";
bannerOptions.optionsArrayPtr = optionsArray;
// If viewing ALL chats → hide “Delete This Chat”
if (mode == graphics::MessageRenderer::ThreadMode::ALL) {
bannerOptions.optionsArrayPtr = optionsArrayAll;
bannerOptions.optionsCount = 3;
} else {
bannerOptions.optionsArrayPtr = optionsArrayNormal;
bannerOptions.optionsCount = 4; bannerOptions.optionsCount = 4;
}
bannerOptions.bannerCallback = [](int selected) -> void { bannerOptions.bannerCallback = [mode](int selected) -> void {
auto mode = graphics::MessageRenderer::getThreadMode();
int ch = graphics::MessageRenderer::getThreadChannel(); int ch = graphics::MessageRenderer::getThreadChannel();
uint32_t peer = graphics::MessageRenderer::getThreadPeer(); uint32_t peer = graphics::MessageRenderer::getThreadPeer();
@@ -591,6 +609,7 @@ void menuHandler::deleteMessagesMenu()
return; return;
} }
// This only appears in non-ALL modes
if (selected == DeleteThis) { if (selected == DeleteThis) {
if (mode == graphics::MessageRenderer::ThreadMode::CHANNEL) { if (mode == graphics::MessageRenderer::ThreadMode::CHANNEL) {