/* * Copyright (C) 2025 Red Hat, Inc. * SPDX-License-Identifier: LGPL-2.1-or-later */ import { useContext } from "react"; import { LanguageContext } from "../../contexts/Common.jsx"; /** * @param {{ automatedInstall?: boolean, isHidden?: boolean }} [opts] * When **isHidden**, the welcome spoke is not in the wizard — treat as complete. * Otherwise: language must be set and keyboard valid; under automated install, * false if the lang was not configured from kickstart and the user has * not set a language in the UI yet. */ export const usePageComplete = ({ automatedInstall, isHidden } = {}) => { const { keyboardLayouts, language, languageKickstarted, plannedVconsole, plannedXlayouts, userConfigured, } = useContext(LanguageContext); if (isHidden) { return true; } if (automatedInstall && !languageKickstarted && !userConfigured) { return false; } const languageOk = language !== ""; const keyboardOk = keyboardLayouts.length === 0 || ((plannedVconsole ?? "") !== "" && (plannedXlayouts?.length > 0)); return languageOk && keyboardOk; };