UNPKG

@equinor/mad-core

Version:

Core library for the Mobile App Delivery team

42 lines (39 loc) 1.42 kB
import { whats_new_exports } from "./chunk-4DXH3SPN.js"; import { fetchAllReleaseNotes } from "./chunk-7FO6SNUK.js"; import { useDemoMode } from "./chunk-UZ6YMQV2.js"; import { useEnvironment, useServicePortalName } from "./chunk-GEEFQMRN.js"; // src/hooks/UseReleaseNotes.tsx import { useEffect, useMemo, useState } from "react"; var useReleaseNotes = () => { const demoMode = useDemoMode(); const environment = useEnvironment(); const servicePortalName = useServicePortalName(); const [releaseNotes, setReleaseNotes] = useState(null); const [error, setError] = useState(""); const [isFetching, setIsFetching] = useState(true); const sortedReleaseNotes = useMemo(() => releaseNotes == null ? void 0 : releaseNotes.sort(sortReleaseNotes), [releaseNotes]); useEffect(() => { if (demoMode.isEnabled) { setReleaseNotes([whats_new_exports]); setIsFetching(false); } else { fetchAllReleaseNotes(environment, servicePortalName).then(setReleaseNotes).catch((error2) => setError(error2.message)).finally(() => setIsFetching(false)); } }, [demoMode.isEnabled, environment, servicePortalName]); return { releaseNotes: sortedReleaseNotes, isFetching, error }; }; var sortReleaseNotes = (releaseNoteA, releaseNoteB) => { return releaseNoteA.version < releaseNoteB.version ? releaseNoteB.version < releaseNoteA.version ? -1 : 1 : 0; }; export { useReleaseNotes };