diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js
index 3e343e098c..024f62c34d 100644
--- a/src/components/views/elements/AppTile.js
+++ b/src/components/views/elements/AppTile.js
@@ -172,18 +172,32 @@ export default React.createClass({
*/
_onDeleteClick: function() {
if (this._canUserModify()) {
- console.log("Delete widget %s", this.props.id);
- this.setState({deleting: true});
- MatrixClientPeg.get().sendStateEvent(
- this.props.room.roomId,
- 'im.vector.modular.widgets',
- {}, // empty content
- this.props.id,
- ).then(() => {
- console.log('Deleted widget');
- }, (e) => {
- console.error('Failed to delete widget', e);
- this.setState({deleting: false});
+ // Show delete confirmation dialog
+ const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
+ Modal.createTrackedDialog('Delete Widget', '', QuestionDialog, {
+ title: _t("Delete Widget"),
+ description:
+
+ { _t("Deleting a widget removes it for all users in this room - are you sure you want to delete this widget?") }
+
,
+ button: _t("OK"),
+ onFinished: (confirmed) => {
+ if (confirmed) {
+ console.log("Delete widget %s", this.props.id);
+ this.setState({deleting: true});
+ MatrixClientPeg.get().sendStateEvent(
+ this.props.room.roomId,
+ 'im.vector.modular.widgets',
+ {}, // empty content
+ this.props.id,
+ ).then(() => {
+ console.log('Deleted widget');
+ }, (e) => {
+ console.error('Failed to delete widget', e);
+ this.setState({deleting: false});
+ });
+ }
+ },
});
} else {
console.log("Revoke widget permissions - %s", this.props.id);
@@ -305,7 +319,7 @@ export default React.createClass({
let deleteIcon = 'img/cancel.svg';
let deleteClasses = 'mx_filterFlipColor mx_AppTileMenuBarWidget';
if(this._canUserModify()) {
- deleteIcon = 'img/cancel-red.svg';
+ deleteIcon = 'img/icon-delete-pink.svg';
deleteClasses += ' mx_AppTileMenuBarWidgetDelete';
}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 4338287be3..827d996e49 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -201,6 +201,8 @@
"Authentication": "Authentication",
"Failed to delete device": "Failed to delete device",
"Delete": "Delete",
+ "Delete Widget": "Delete Widget",
+ "Deleting a widget removes it for all users in this room - are you sure you want to delete this widget?": "Deleting a widget removes it for all users in this room - are you sure you want to delete this widget?",
"Disable Notifications": "Disable Notifications",
"Enable Notifications": "Enable Notifications",
"Cannot add any more widgets": "Cannot add any more widgets",