diff --git a/web/src/ui/settings/SettingsView.css b/web/src/ui/settings/SettingsView.css
index fcf2126..b7a2ddd 100644
--- a/web/src/ui/settings/SettingsView.css
+++ b/web/src/ui/settings/SettingsView.css
@@ -3,10 +3,14 @@ div.settings-view {
display: flex;
flex-direction: column;
- h2, h3 {
+ h2, h3, h4 {
margin: 0;
}
+ summary > h3, summary > h4 {
+ display: inline;
+ }
+
table {
text-align: left;
diff --git a/web/src/ui/settings/SettingsView.tsx b/web/src/ui/settings/SettingsView.tsx
index 1c932b3..d397290 100644
--- a/web/src/ui/settings/SettingsView.tsx
+++ b/web/src/ui/settings/SettingsView.tsx
@@ -176,9 +176,37 @@ const CustomCSSInput = ({ setPref, room }: { setPref: SetPrefFunc, room: RoomSta
}
+const AppliedSettingsView = ({ room }: SettingsViewProps) => {
+ const client = use(ClientContext)!
+
+ return
+
Raw settings data
+
+ Applied settings in this room
+
+
+
+ Global account settings
+
+
+
+ Global local settings
+
+
+
+ Room account settings
+
+
+
+ Room local settings
+
+
+
+}
+
const SettingsView = ({ room }: SettingsViewProps) => {
const client = use(ClientContext)!
- const setPref = useCallback((context: PreferenceContext, key: keyof Preferences, value: PreferenceValueType | undefined)=> {
+ const setPref = useCallback((context: PreferenceContext, key: keyof Preferences, value: PreferenceValueType | undefined) => {
if (context === PreferenceContext.Account) {
client.rpc.setAccountData("fi.mau.gomuks.preferences", {
...client.store.serverPreferenceCache,
@@ -236,7 +264,7 @@ const SettingsView = ({ room }: SettingsViewProps) => {
-
+
>
}
diff --git a/web/src/ui/util/JSONView.tsx b/web/src/ui/util/JSONView.tsx
index 22e95d9..dc793c8 100644
--- a/web/src/ui/util/JSONView.tsx
+++ b/web/src/ui/util/JSONView.tsx
@@ -54,9 +54,9 @@ function renderJSONValue(data: unknown, collapsed: boolean) {
}
return
{entries.map(([key, value], index, arr) =>
- -
+ value !== undefined ?
-
-
)}
+ : null)}
}
case "string":