/** * * Copyright 2023-2025 InspectorRAGet Team * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **/ 'use client'; import { memo, useState } from 'react'; import { ProgressIndicator, ProgressStep, Modal } from '@carbon/react'; import { WarningAlt } from '@carbon/icons-react'; import InstructionsView from './Instructions'; import DataUploaderView from './DataUploader'; import DataValidation from './DataVerification'; import classes from './Onboard.module.scss'; import { RawData } from '@/src/types'; interface Props { onVisualize: Function; } export default memo(function OnboardingView({ onVisualize }: Props) { const [isWarningModalOpen, setIsWarningModalOpen] = useState(false); const [currentStepIndex, setCurrentStepIndex] = useState(0); const [rawData, setRawData] = useState(); return (
{ // Step 1: Clear loaded data setRawData(undefined); // Step 2: Move progress indicator to upload data step setCurrentStepIndex( currentStepIndex !== 0 ? currentStepIndex - 1 : currentStepIndex, ); // Step 3: Close modal setIsWarningModalOpen(false); }} onRequestClose={() => { setIsWarningModalOpen(false); }} onSecondarySubmit={() => { setIsWarningModalOpen(false); }} >
All progress in terms of data upload and validation will be lost.

Welcome

{currentStepIndex === 0 ? ( { setCurrentStepIndex(1); }} /> ) : currentStepIndex === 1 ? ( { setRawData(data); setCurrentStepIndex(2); }} onPrev={(data) => { if (data || rawData) { setIsWarningModalOpen(true); } else { setCurrentStepIndex(0); } }} /> ) : rawData && currentStepIndex === 2 ? ( { if (rawData) { setIsWarningModalOpen(true); } else { setCurrentStepIndex(currentStepIndex - 1); } }} /> ) : null}
); });