import { allureIcons } from "@allurereport/web-components"; import type { FunctionalComponent } from "preact"; import { useState } from "preact/hooks"; import type { ClassicTestResult } from "types"; import { TestResultDropdown } from "@/components/TestResult/TestResultDropdown"; import { TestResultAttachment } from "@/components/TestResult/TestResultSteps/testResultAttachment"; import { TestResultStep } from "@/components/TestResult/TestResultSteps/testResultStep"; import { useI18n } from "@/stores/locale"; import * as styles from "@/components/TestResult/TestResultSteps/styles.scss"; const typeMap = { before: TestResultStep, after: TestResultStep, step: TestResultStep, attachment: TestResultAttachment, }; export type TestResultSetupProps = { setup: ClassicTestResult["setup"]; }; export const TestResultSetup: FunctionalComponent = ({ setup }) => { const [isOpened, setIsOpen] = useState(false); const { t } = useI18n("execution"); return (
{isOpened && (
{setup?.map((item, key) => { const StepComponent = typeMap[item.type]; return StepComponent ? ( // FIXME: use proper type in the StepComponent component // @ts-ignore ) : null; })}
)}
); };