From 25273442949ab1a6099b4ba5a574ba413959b8b8 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Fri, 28 Aug 2020 10:50:27 +0100
Subject: [PATCH] Create name/title Widget utils
---
src/components/views/elements/PersistentApp.js | 2 +-
src/components/views/rooms/AppsDrawer.js | 2 +-
src/i18n/strings/en_EN.json | 1 +
src/utils/WidgetUtils.js | 11 +++++++++++
4 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/components/views/elements/PersistentApp.js b/src/components/views/elements/PersistentApp.js
index bdf5f60234..686739a9f7 100644
--- a/src/components/views/elements/PersistentApp.js
+++ b/src/components/views/elements/PersistentApp.js
@@ -76,7 +76,7 @@ export default class PersistentApp extends React.Component {
userId={MatrixClientPeg.get().credentials.userId}
show={true}
creatorUserId={app.creatorUserId}
- widgetPageTitle={(app.data && app.data.title) ? app.data.title : ''}
+ widgetPageTitle={WidgetUtils.getWidgetDataTitle(app)}
waitForIframeLoad={app.waitForIframeLoad}
whitelistCapabilities={capWhitelist}
showDelete={false}
diff --git a/src/components/views/rooms/AppsDrawer.js b/src/components/views/rooms/AppsDrawer.js
index fca46b453f..1eca493e14 100644
--- a/src/components/views/rooms/AppsDrawer.js
+++ b/src/components/views/rooms/AppsDrawer.js
@@ -171,7 +171,7 @@ export default class AppsDrawer extends React.Component {
userId={this.props.userId}
show={this.props.showApps}
creatorUserId={app.creatorUserId}
- widgetPageTitle={(app.data && app.data.title) ? app.data.title : ''}
+ widgetPageTitle={WidgetUtils.getWidgetDataTitle(app)}
waitForIframeLoad={app.waitForIframeLoad}
whitelistCapabilities={capWhitelist}
/>);
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 47063bdae4..54a4bd6695 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -387,6 +387,7 @@
"Common names and surnames are easy to guess": "Common names and surnames are easy to guess",
"Straight rows of keys are easy to guess": "Straight rows of keys are easy to guess",
"Short keyboard patterns are easy to guess": "Short keyboard patterns are easy to guess",
+ "Unknown App": "Unknown App",
"Help us improve %(brand)s": "Help us improve %(brand)s",
"Send anonymous usage data which helps us improve %(brand)s. This will use a cookie.": "Send anonymous usage data which helps us improve %(brand)s. This will use a cookie.",
"I want to help": "I want to help",
diff --git a/src/utils/WidgetUtils.js b/src/utils/WidgetUtils.js
index be176d042f..d4ed093a24 100644
--- a/src/utils/WidgetUtils.js
+++ b/src/utils/WidgetUtils.js
@@ -32,6 +32,7 @@ import {Capability} from "../widgets/WidgetApi";
import {Room} from "matrix-js-sdk/src/models/room";
import {WidgetType} from "../widgets/WidgetType";
import {objectClone} from "./objects";
+import {_t} from "../languageHandler";
export default class WidgetUtils {
/* Returns true if user is able to send state events to modify widgets in this room
@@ -486,4 +487,14 @@ export default class WidgetUtils {
IntegrationManagers.sharedInstance().getPrimaryManager().open(room, 'type_' + app.type, app.id);
}
}
+
+ static getWidgetName(app) {
+ if (!app || !app.name) return "";
+ return app.name.trim() || _t("Unknown App");
+ }
+
+ static getWidgetDataTitle(app) {
+ if (!app || !app.data || !app.data.title) return "";
+ return app.data.title.trim();
+ }
}