From edd7354b6c6b29c9703e71c28154ba7f6e7c6f46 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 24 Aug 2022 11:51:52 +0100
Subject: [PATCH 1/4] Reuse empty string & space string logic for event types
in devtools
---
.../views/dialogs/devtools/RoomState.tsx | 55 +++++++++----------
1 file changed, 25 insertions(+), 30 deletions(-)
diff --git a/src/components/views/dialogs/devtools/RoomState.tsx b/src/components/views/dialogs/devtools/RoomState.tsx
index d8a6fc04089..4cad294012d 100644
--- a/src/components/views/dialogs/devtools/RoomState.tsx
+++ b/src/components/views/dialogs/devtools/RoomState.tsx
@@ -41,6 +41,25 @@ export const StateEventEditor = ({ mxEvent, onBack }: IEditorProps) => {
return ;
};
+interface StateEventButtonProps {
+ label: string;
+ onClick(): void;
+}
+
+const StateEventButton = ({ label, onClick }: StateEventButtonProps) => {
+ const trimmed = label.trim();
+
+ return ;
+};
+
interface IEventTypeProps extends Pick {
eventType: string;
}
@@ -70,23 +89,9 @@ const RoomStateExplorerEventType = ({ eventType, onBack }: IEventTypeProps) => {
return
{
- Array.from(events.entries()).map(([stateKey, ev]) => {
- const trimmed = stateKey.trim();
- const onClick = () => {
- setEvent(ev);
- };
-
- return ;
- })
+ Array.from(events.entries()).map(([stateKey, ev]) => (
+ setEvent(ev)} />
+ ))
}
;
@@ -113,19 +118,9 @@ export const RoomStateExplorer = ({ onBack, setTool }: IDevtoolsProps) => {
return
{
- Array.from(events.keys()).map((eventType) => {
- const onClick = () => {
- setEventType(eventType);
- };
-
- return ;
- })
+ Array.from(events.keys()).map((eventType) => (
+ setEventType(eventType)} />
+ ))
}
;
From 5e51709cd438223e5b0965f1efaa45b09295b32e Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 24 Aug 2022 11:57:34 +0100
Subject: [PATCH 2/4] Fix edge case behaviours
---
src/components/views/dialogs/devtools/RoomState.tsx | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/components/views/dialogs/devtools/RoomState.tsx b/src/components/views/dialogs/devtools/RoomState.tsx
index 4cad294012d..fabadbd1265 100644
--- a/src/components/views/dialogs/devtools/RoomState.tsx
+++ b/src/components/views/dialogs/devtools/RoomState.tsx
@@ -80,10 +80,14 @@ const RoomStateExplorerEventType = ({ eventType, onBack }: IEventTypeProps) => {
}, [events]);
if (event) {
- const onBack = () => {
- setEvent(null);
+ const _onBack = () => {
+ if (events.size === 1 && events.has("")) {
+ onBack();
+ } else {
+ setEvent(null);
+ }
};
- return ;
+ return ;
}
return
@@ -104,7 +108,7 @@ export const RoomStateExplorer = ({ onBack, setTool }: IDevtoolsProps) => {
const events = context.room.currentState.events;
- if (eventType) {
+ if (eventType !== null) {
const onBack = () => {
setEventType(null);
};
From 78efcfc513449a5889b130258f034126b37fa05a Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 24 Aug 2022 11:58:59 +0100
Subject: [PATCH 3/4] Make tsc quality higher
---
src/components/views/dialogs/devtools/RoomState.tsx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/components/views/dialogs/devtools/RoomState.tsx b/src/components/views/dialogs/devtools/RoomState.tsx
index fabadbd1265..11ce7b62711 100644
--- a/src/components/views/dialogs/devtools/RoomState.tsx
+++ b/src/components/views/dialogs/devtools/RoomState.tsx
@@ -67,12 +67,12 @@ interface IEventTypeProps extends Pick {
const RoomStateExplorerEventType = ({ eventType, onBack }: IEventTypeProps) => {
const context = useContext(DevtoolsContext);
const [query, setQuery] = useState("");
- const [event, setEvent] = useState(null);
+ const [event, setEvent] = useState(null);
const events = context.room.currentState.events.get(eventType);
useEffect(() => {
- if (events.size === 1 && events.has("")) {
+ if (events?.size === 1 && events.has("")) {
setEvent(events.get(""));
} else {
setEvent(null);
@@ -81,7 +81,7 @@ const RoomStateExplorerEventType = ({ eventType, onBack }: IEventTypeProps) => {
if (event) {
const _onBack = () => {
- if (events.size === 1 && events.has("")) {
+ if (events?.size === 1 && events.has("")) {
onBack();
} else {
setEvent(null);
@@ -104,7 +104,7 @@ const RoomStateExplorerEventType = ({ eventType, onBack }: IEventTypeProps) => {
export const RoomStateExplorer = ({ onBack, setTool }: IDevtoolsProps) => {
const context = useContext(DevtoolsContext);
const [query, setQuery] = useState("");
- const [eventType, setEventType] = useState(null);
+ const [eventType, setEventType] = useState(null);
const events = context.room.currentState.events;
From bfd8eb00d29a12b8554222c9263ad5f030df37a8 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 24 Aug 2022 12:03:45 +0100
Subject: [PATCH 4/4] Make remainder of tsc happy
---
src/components/views/dialogs/devtools/RoomState.tsx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/components/views/dialogs/devtools/RoomState.tsx b/src/components/views/dialogs/devtools/RoomState.tsx
index 11ce7b62711..4ad4a1c8211 100644
--- a/src/components/views/dialogs/devtools/RoomState.tsx
+++ b/src/components/views/dialogs/devtools/RoomState.tsx
@@ -69,11 +69,11 @@ const RoomStateExplorerEventType = ({ eventType, onBack }: IEventTypeProps) => {
const [query, setQuery] = useState("");
const [event, setEvent] = useState(null);
- const events = context.room.currentState.events.get(eventType);
+ const events = context.room.currentState.events.get(eventType)!;
useEffect(() => {
- if (events?.size === 1 && events.has("")) {
- setEvent(events.get(""));
+ if (events.size === 1 && events.has("")) {
+ setEvent(events.get("")!);
} else {
setEvent(null);
}