/*
* Copyright (C) 2021 Red Hat, Inc.
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
import '../lib/patternfly/patternfly-6-cockpit.scss';
import "./anaconda/network-anaconda.scss";
import cockpit from "cockpit";
import 'cockpit-dark-theme'; // once per page
import React, { useRef } from 'react';
import { createRoot } from "react-dom/client";
import { Button } from "@patternfly/react-core/dist/esm/components/Button/index.js";
import { ExclamationCircleIcon } from "@patternfly/react-icons";
import { EmptyStatePanel } from "cockpit-components-empty-state.jsx";
import { ModelContext } from './model-context.jsx';
import { NetworkInterfacePage } from './network-interface.jsx';
import { NetworkPage } from './network-main.jsx';
import { UsageMonitor } from './helpers.js';
import * as service from 'service.js';
import { init as initDialogs, NetworkManagerModel } from './interfaces.js';
import { superuser } from 'superuser';
import { PlotState } from 'plot';
import { useObject, useEvent, usePageLocation } from "hooks";
import { WithDialogs } from "dialogs.jsx";
import { AnacondaNetworkPage } from "./anaconda/anaconda-main";
import { in_anaconda_mode } from "utils";
const _ = cockpit.gettext;
const App = () => {
const nmService = useObject(() => service.proxy("NetworkManager"),
null,
[]);
useEvent(nmService, "changed");
const model = useObject(() => new NetworkManagerModel(), null, []);
useEvent(model, "changed");
const nmRunning_ref = useRef(undefined);
useEvent(model.client, "owner", (event, owner) => { nmRunning_ref.current = owner !== null });
useEvent(superuser, "changed");
if (model.curtain === 'testing' || model.curtain === 'restoring') {
return