All files / src/routes/pages Generate.tsx

0% Statements 0/22
0% Branches 0/1
0% Functions 0/1
0% Lines 0/22

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                                                 
import { FC, useState } from 'react';
import { GenerateResponse } from '../../models/generateResponse';
import { ErrorResponse } from '../../models/errorResponse';
import { Pending } from '../../models/pending';
import { CsvBox, GenerateForm, GenerateResult, Loading, Title } from '../../components';
import { Record } from '../../models/generateRequest';
 
const Generate: FC = () => {
  // get generate result
  const [result, setResult] = useState<GenerateResponse | ErrorResponse | Pending | null>(null);
  // get record type
  const [recordType, setRecordType] = useState<Record | null>(null);
  return (
    <>
      <Title title="ラベル / csv の生成" />
      <CsvBox />
      <GenerateForm setResult={setResult} setRecordType={setRecordType} />
      {result === null ? (
        //初期表示
        <></>
      ) : result === 'pending' ? (
        // 処理中
        <Loading />
      ) : (
        // fetch結果
        <GenerateResult result={result} recordType={recordType} />
      )}
    </>
  );
};
 
export default Generate;