Home / File/ UnsupportedBridgeProtocolDialog.js — react Source File

UnsupportedBridgeProtocolDialog.js — react Source File

Architecture documentation for UnsupportedBridgeProtocolDialog.js, a javascript file in the react codebase. 11 imports, 1 dependents.

File javascript CompilerCore BabelIntegration 11 imports 1 dependents 2 functions

Entity Profile

Dependency Diagram

graph LR
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10["UnsupportedBridgeProtocolDialog.js"]
  c20fe094_48d8_3c07_ed4d_93c7dad4e880["ModalDialog.js"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> c20fe094_48d8_3c07_ed4d_93c7dad4e880
  9a946916_72bc_e622_580a_96fa3085dbfe["context.js"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> 9a946916_72bc_e622_580a_96fa3085dbfe
  dfdc514c_c9f0_03aa_08da_95db1513b03f["Button.js"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> dfdc514c_c9f0_03aa_08da_95db1513b03f
  60bedddf_fa05_6e3d_041d_fb52639786ab["Button"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> 60bedddf_fa05_6e3d_041d_fb52639786ab
  4405a8c4_477f_8de1_2606_42722c13cd6a["ButtonIcon.js"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> 4405a8c4_477f_8de1_2606_42722c13cd6a
  6e94959c_9b19_880a_2fc7_e2fded6a445c["ButtonIcon"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> 6e94959c_9b19_880a_2fc7_e2fded6a445c
  fd4c7424_fc2c_cd9b_8f3a_a00aa2381129["UnsupportedBridgeProtocolDialog.css"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> fd4c7424_fc2c_cd9b_8f3a_a00aa2381129
  c745ba00_63aa_6e9b_0885_a745bade6cf7["react"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> c745ba00_63aa_6e9b_0885_a745bade6cf7
  c1e8673e_c6e7_cf4f_8e1b_8c7478d7f393["bridge"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> c1e8673e_c6e7_cf4f_8e1b_8c7478d7f393
  14894889_f66e_6299_6328_bab29d10b8c7["clipboard-js"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> 14894889_f66e_6299_6328_bab29d10b8c7
  50a85b57_b138_a3b8_2ae3_c24be580d20e["withPermissionsCheck"]
  c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 --> 50a85b57_b138_a3b8_2ae3_c24be580d20e
  0a9331ca_0d73_bbbd_b358_4004f17c32cf["DevTools.js"]
  0a9331ca_0d73_bbbd_b358_4004f17c32cf --> c575e655_a1ef_c6ff_1ff1_bea7cf68ed10
  style c575e655_a1ef_c6ff_1ff1_bea7cf68ed10 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

import * as React from 'react';
import {Fragment, useContext, useEffect} from 'react';
import {ModalDialogContext} from './ModalDialog';
import {StoreContext} from './context';
import {currentBridgeProtocol} from 'react-devtools-shared/src/bridge';
import Button from './Button';
import ButtonIcon from './ButtonIcon';
import {copy} from 'clipboard-js';
import styles from './UnsupportedBridgeProtocolDialog.css';
import {withPermissionsCheck} from 'react-devtools-shared/src/frontend/utils/withPermissionsCheck';

import type {BridgeProtocol} from 'react-devtools-shared/src/bridge';

const DEVTOOLS_VERSION = process.env.DEVTOOLS_VERSION;
const INSTRUCTIONS_FB_URL =
  'https://fb.me/devtools-unsupported-bridge-protocol';
const MODAL_DIALOG_ID = 'UnsupportedBridgeProtocolDialog';

export default function UnsupportedBridgeProtocolDialog(_: {}): null {
  const {dialogs, dispatch} = useContext(ModalDialogContext);
  const store = useContext(StoreContext);

  const isVisible = !!dialogs.find(dialog => dialog.id === MODAL_DIALOG_ID);

  useEffect(() => {
    const updateDialog = () => {
      if (!isVisible) {
        if (store.unsupportedBridgeProtocolDetected) {
          dispatch({
            canBeDismissed: false,
            id: MODAL_DIALOG_ID,
            type: 'SHOW',
            content: (
              <DialogContent unsupportedBridgeProtocol={store.bridgeProtocol} />
            ),
          });
        }
      } else {
        if (!store.unsupportedBridgeProtocolDetected) {
          dispatch({
            type: 'HIDE',
            id: MODAL_DIALOG_ID,
          });
        }
      }
    };

    updateDialog();

    store.addListener('unsupportedBridgeProtocolDetected', updateDialog);
    return () => {
// ... (86 more lines)

Domain

Subdomains

Frequently Asked Questions

What does UnsupportedBridgeProtocolDialog.js do?
UnsupportedBridgeProtocolDialog.js is a source file in the react codebase, written in javascript. It belongs to the CompilerCore domain, BabelIntegration subdomain.
What functions are defined in UnsupportedBridgeProtocolDialog.js?
UnsupportedBridgeProtocolDialog.js defines 2 function(s): DialogContent, UnsupportedBridgeProtocolDialog.
What does UnsupportedBridgeProtocolDialog.js depend on?
UnsupportedBridgeProtocolDialog.js imports 11 module(s): Button, Button.js, ButtonIcon, ButtonIcon.js, ModalDialog.js, UnsupportedBridgeProtocolDialog.css, bridge, clipboard-js, and 3 more.
What files import UnsupportedBridgeProtocolDialog.js?
UnsupportedBridgeProtocolDialog.js is imported by 1 file(s): DevTools.js.
Where is UnsupportedBridgeProtocolDialog.js in the architecture?
UnsupportedBridgeProtocolDialog.js is located at packages/react-devtools-shared/src/devtools/views/UnsupportedBridgeProtocolDialog.js (domain: CompilerCore, subdomain: BabelIntegration, directory: packages/react-devtools-shared/src/devtools/views).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free