tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

PageSwitcher.js (1527B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 "use strict";
      6 
      7 const {
      8  createFactory,
      9  PureComponent,
     10 } = require("resource://devtools/client/shared/vendor/react.mjs");
     11 const {
     12  connect,
     13 } = require("resource://devtools/client/shared/vendor/react-redux.js");
     14 
     15 const {
     16  PAGE_TYPES,
     17 } = require("resource://devtools/client/application/src/constants.js");
     18 const Types = require("resource://devtools/client/application/src/types/index.js");
     19 
     20 const ManifestPage = createFactory(
     21  require("resource://devtools/client/application/src/components/manifest/ManifestPage.js")
     22 );
     23 const WorkersPage = createFactory(
     24  require("resource://devtools/client/application/src/components/service-workers/WorkersPage.js")
     25 );
     26 
     27 class PageSwitcher extends PureComponent {
     28  static get propTypes() {
     29    return {
     30      page: Types.page.isRequired,
     31    };
     32  }
     33 
     34  render() {
     35    let component = null;
     36 
     37    switch (this.props.page) {
     38      case PAGE_TYPES.MANIFEST:
     39        component = ManifestPage({});
     40        break;
     41      case PAGE_TYPES.SERVICE_WORKERS:
     42        component = WorkersPage({});
     43        break;
     44      default:
     45        console.error("Unknown path. Can not direct to a page.");
     46        return null;
     47    }
     48 
     49    return component;
     50  }
     51 }
     52 
     53 function mapStateToProps(state) {
     54  return {
     55    page: state.ui.selectedPage,
     56  };
     57 }
     58 
     59 module.exports = connect(mapStateToProps)(PageSwitcher);