import React from 'react'; import { CodeEditor, Language } from '@patternfly/react-code-editor'; import { Alert, Content, Form, FormGroup, FormHelperText, HelperText, HelperTextItem, Title, } from '@patternfly/react-core'; import { FIRST_BOOT_SERVICE } from '../../../../constants'; import { useAppDispatch, useAppSelector } from '../../../../store/hooks'; import { addEnabledService, removeEnabledService, selectFirstBootScript, setFirstBootScript, } from '../../../../store/wizardSlice'; import { useFirstBootValidation } from '../../utilities/useValidation'; const detectScriptType = (scriptString: string): Language => { const lines = scriptString.split('\n'); if (lines[0].startsWith('#!')) { // Extract the path from the shebang const path = lines[0].slice(2); if (path.includes('bin/bash') || path.includes('bin/sh')) { return Language.shell; } if (path.includes('bin/python') || path.includes('bin/python3')) { return Language.python; } if (path.includes('ansible-playbook')) { return Language.yaml; } } // default return Language.shell; }; const FirstBootStep = () => { const dispatch = useAppDispatch(); const selectedScript = useAppSelector(selectFirstBootScript); const language = detectScriptType(selectedScript); const { errors } = useFirstBootValidation(); return (
); }; export default FirstBootStep;