From 8f8901b7e757e8bf92d00d3b73c09c0d8467af91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BC=D0=B5=D0=BA=D0=B0=D1=82=D1=96=D0=B2?= <106783764+meqativ@users.noreply.github.com> Date: Sat, 28 Mar 2026 18:23:18 +0200 Subject: [PATCH] feat(messageLogger): add show diff toggle in the history modal (#934) * feat(messageLogger): add show diff toggle in the history modal * fix(messageLogger): respect setting --------- Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com> Co-authored-by: creations Co-authored-by: meqativ --- src/plugins/messageLogger/HistoryModal.tsx | 7 +++++-- src/plugins/messageLogger/index.tsx | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/messageLogger/HistoryModal.tsx b/src/plugins/messageLogger/HistoryModal.tsx index c1016d2ce..49c0fb642 100644 --- a/src/plugins/messageLogger/HistoryModal.tsx +++ b/src/plugins/messageLogger/HistoryModal.tsx @@ -6,6 +6,7 @@ import { BaseText } from "@components/BaseText"; import ErrorBoundary from "@components/ErrorBoundary"; +import { FormSwitch } from "@components/FormSwitch"; import { TooltipContainer } from "@components/TooltipContainer"; import { classNameFactory } from "@utils/css"; import { Margins } from "@utils/margins"; @@ -14,7 +15,7 @@ import { ModalCloseButton, ModalContent, ModalHeader, ModalProps, ModalRoot, Mod import { findCssClassesLazy } from "@webpack"; import { TabBar, Timestamp, useState } from "@webpack/common"; -import { parseEditContent } from "."; +import { parseEditContent, settings } from "."; const CodeContainerClasses = findCssClassesLazy("markup", "codeContainer"); const MiscClasses = findCssClassesLazy("messageContent", "markupRtl"); @@ -34,6 +35,7 @@ export function openHistoryModal(message: any) { export function HistoryModal({ modalProps, message }: { modalProps: ModalProps; message: any; }) { const [currentTab, setCurrentTab] = useState(message.editHistory.length); + const [showDiff, setShowDiff] = useState(settings.store.showEditDiffs); const timestamps = [message.firstEditTimestamp, ...message.editHistory.map(m => m.timestamp)]; const contents = [...message.editHistory.map(m => m.content), message.content]; @@ -45,6 +47,7 @@ export function HistoryModal({ modalProps, message }: { modalProps: ModalProps; +
- {parseEditContent(contents[currentTab], message, currentTab === contents.length - 1 ? undefined : contents[contents.length - 1])} + {parseEditContent(contents[currentTab], message, showDiff ? currentTab === contents.length - 1 ? undefined : contents[contents.length - 1] : undefined)}
diff --git a/src/plugins/messageLogger/index.tsx b/src/plugins/messageLogger/index.tsx index 81f9e5a08..534f988bc 100644 --- a/src/plugins/messageLogger/index.tsx +++ b/src/plugins/messageLogger/index.tsx @@ -321,7 +321,7 @@ export function parseEditContent(content: string, message: Message, previousCont }); } -const settings = definePluginSettings({ +export const settings = definePluginSettings({ deleteStyle: { type: OptionType.SELECT, description: "The style of deleted messages",