🏡 index : quine-global/quine-anaconda-webui.git

/*
 * Copyright (C) 2025 Red Hat, Inc.
 * SPDX-License-Identifier: LGPL-2.1-or-later
 */
import { useEffect, useState } from "react";

// Hook to track checkpoint status from the Cockpit networkmanager iframe
export const useNetworkStatus = () => {
    const [hasActiveCheckpoint, setHasActiveCheckpoint] = useState(false);

    useEffect(() => {
        const checkpointState = window.sessionStorage.getItem("cockpit_has_checkpoint");
        setHasActiveCheckpoint(checkpointState === "true");

        const handleCheckpointEvent = (event) => {
            if (event.key === "cockpit_has_checkpoint") {
                setHasActiveCheckpoint(event.newValue === "true");
            }
        };

        window.addEventListener("storage", handleCheckpointEvent);

        return () => window.removeEventListener("storage", handleCheckpointEvent);
    }, []);

    return { hasActiveCheckpoint };
};