import React, { useState } from "react"; import { useQuery } from "react-query"; import { AxiosError } from "axios"; import { DEFAULT_USE_QUERY_OPTIONS, LEARN_MORE_ABOUT_BASE_LINK, } from "utilities/constants"; import mdmAPI, { IGetSetupExperienceScriptResponse, } from "services/entities/mdm"; import SectionHeader from "components/SectionHeader"; import DataError from "components/DataError"; import Spinner from "components/Spinner"; import CustomLink from "components/CustomLink"; import SetupExperiencePreview from "./components/SetupExperienceScriptPreview"; import SetupExperienceScriptUploader from "./components/SetupExperienceScriptUploader"; import SetupExperienceScriptCard from "./components/SetupExperienceScriptCard"; import DeleteSetupExperienceScriptModal from "./components/DeleteSetupExperienceScriptModal"; const baseClass = "setup-experience-script"; interface ISetupExperienceScriptProps { currentTeamId: number; } const SetupExperienceScript = ({ currentTeamId, }: ISetupExperienceScriptProps) => { const [showDeleteScriptModal, setShowDeleteScriptModal] = useState(false); const { data: script, error: scriptError, isLoading, isError, refetch: refetchScript, remove: removeScriptFromCache, } = useQuery( ["setup-experience-script", currentTeamId], () => mdmAPI.getSetupExperienceScript(currentTeamId), { ...DEFAULT_USE_QUERY_OPTIONS, retry: false } ); const onUpload = () => { refetchScript(); }; const onDelete = () => { removeScriptFromCache(); setShowDeleteScriptModal(false); refetchScript(); }; const scriptUploaded = true; const renderContent = () => { if (isLoading) { ; } if (isError && scriptError.status !== 404) { return ; } return (

Upload a script to run on hosts that automatically enroll to Fleet.

{!scriptUploaded || !script ? ( ) : ( <>

Script will run during setup:

setShowDeleteScriptModal(true)} /> )}
); }; return (
<>{renderContent()} {showDeleteScriptModal && script && ( setShowDeleteScriptModal(false)} /> )}
); }; export default SetupExperienceScript;