Skip to content

Commit 37fb633

Browse files
committed
Update the messaging for the 'disconnected' dialog
1 parent e8c7943 commit 37fb633

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

front_end/ui/legacy/RemoteDebuggingTerminatedScreen.ts

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,25 @@ const UIStrings = {
2626
* "Reconnect when ready", refers to the state of the mobile device. The developer first has to put the mobile
2727
* device back in a state where it can be inspected, before DevTools can reconnect to it.
2828
*/
29-
reconnectWhenReadyByReopening: 'Reconnect when ready by reopening DevTools.',
29+
reconnectWhenReadyByReopening: 'Reconnect when ready (will reload DevTools).',
30+
/**
31+
* @description Text in a dialog box to explain `DevTools` can still be used while disconnected.
32+
*/
33+
perserveState: 'Dismiss this dialog and continue using `DevTools` while disconnected.',
34+
/**
35+
* @description Text on a button to dismiss the dialog
36+
*/
37+
closeDialog: 'Dismiss dialog',
3038
/**
3139
* @description Text on a button to reconnect Devtools when remote debugging terminated.
3240
* "Remote debugging" here means that DevTools on a PC is inspecting a website running on an actual mobile device
3341
* (see https://developer.chrome.com/docs/devtools/remote-debugging/).
3442
*/
3543
reconnectDevtools: 'Reconnect `DevTools`',
44+
/**
45+
* @description Text in a dialog box to prompt for feedback if the disconnection is unexpected.
46+
*/
47+
sendFeedbackMessage: '[FB-only] Please send feedback if this disconnection is unexpected.',
3648
/**
3749
* @description Label of the FB-only 'send feedback' button.
3850
*/
@@ -41,7 +53,7 @@ const UIStrings = {
4153
const str_ = i18n.i18n.registerUIStrings('ui/legacy/RemoteDebuggingTerminatedScreen.ts', UIStrings);
4254
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
4355
export class RemoteDebuggingTerminatedScreen extends VBox {
44-
constructor(reason: string) {
56+
constructor(reason: string, onClose?: () => void) {
4557
super(true);
4658
this.registerRequiredCSS(remoteDebuggingTerminatedScreenStyles);
4759
const message = this.contentElement.createChild('div', 'message');
@@ -50,26 +62,34 @@ export class RemoteDebuggingTerminatedScreen extends VBox {
5062
const reasonElement = span.createChild('span', 'reason');
5163
reasonElement.textContent = reason;
5264
this.contentElement.createChild('div', 'message').textContent = i18nString(UIStrings.reconnectWhenReadyByReopening);
53-
const button = createTextButton(
65+
66+
const reconnectButton = createTextButton(
5467
i18nString(UIStrings.reconnectDevtools), () => window.location.reload(), {jslogContext: 'reconnect'});
55-
const buttonRow = this.contentElement.createChild('div', 'button');
56-
buttonRow.appendChild(button);
68+
this.contentElement.createChild('div', 'button').appendChild(reconnectButton);
69+
70+
if (onClose) {
71+
this.contentElement.createChild('div', 'message').textContent = i18nString(UIStrings.perserveState);
72+
73+
const closeButton = createTextButton(i18nString(UIStrings.closeDialog), onClose, {jslogContext: 'dismiss'});
74+
this.contentElement.createChild('div', 'button').appendChild(closeButton);
75+
}
5776

5877
if (globalThis.FB_ONLY__reactNativeFeedbackLink) {
78+
this.contentElement.createChild('div', 'message').textContent = i18nString(UIStrings.sendFeedbackMessage);
79+
5980
const feedbackLink = globalThis.FB_ONLY__reactNativeFeedbackLink as Platform.DevToolsPath.UrlString;
6081
const feedbackButton = createTextButton(i18nString(UIStrings.sendFeedback), () => {
6182
Host.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(feedbackLink);
6283
}, {className: 'primary-button', jslogContext: 'sendFeedback'});
63-
buttonRow.appendChild(feedbackButton);
84+
this.contentElement.createChild('div', 'button').appendChild(feedbackButton);
6485
}
6586
}
6687

6788
static show(reason: string): void {
6889
const dialog = new Dialog('remote-debnugging-terminated');
6990
dialog.setSizeBehavior(SizeBehavior.MeasureContent);
70-
dialog.addCloseButton();
7191
dialog.setDimmed(true);
72-
new RemoteDebuggingTerminatedScreen(reason).show(dialog.contentElement);
92+
new RemoteDebuggingTerminatedScreen(reason, () => dialog.hide()).show(dialog.contentElement);
7393
dialog.show();
7494
Host.rnPerfMetrics.remoteDebuggingTerminated(reason);
7595
}

0 commit comments

Comments
 (0)