* Copyright (C) 2026 Red Hat, Inc.
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
import { useContext } from "react";
import { isValidTimezone } from "../../helpers/timezone.js";
import { TimezoneContext } from "../../contexts/Common.jsx";
* @param {{ automatedInstall?: boolean, isHidden?: boolean }} [opts]
* When **isHidden**, the date & time spoke is not in the wizard — treat as complete.
* Otherwise: timezone must be valid in the catalog; under automated install, false
* if the timezone module was not configured from kickstart and the user has not
* set a timezone in the UI yet.
*/
export const usePageComplete = ({ automatedInstall, isHidden } = {}) => {
const tz = useContext(TimezoneContext);
if (isHidden) {
return true;
}
const kickstarted = tz?.kickstarted;
const userConfigured = tz?.userConfigured;
if (automatedInstall && !kickstarted && !userConfigured) {
return false;
}
return isValidTimezone(tz?.timezone, tz?.allValidTimezones ?? {});
};