import * as React from "react"; import { Button } from "./Button"; import type { CreateProjectState } from "../hook/useDefinyApp"; import { css } from "@emotion/css"; import { stringToValidProjectName } from "../../core/main"; import { useOneLineTextEditor } from "./OneLineTextEditor"; export type Props = { onCreateProject: (projectName: string) => void; createProjectState: CreateProjectState; }; export const CreateProjectPage: React.VFC = (props) => { const { text, element } = useOneLineTextEditor({ id: "project-name", initText: "", style: { width: "100%", }, }); const normalizedProjectName = stringToValidProjectName(text); const onCreateProject = props.onCreateProject; const onClickCreateButton = React.useCallback(() => { if (typeof normalizedProjectName === "string") { onCreateProject(normalizedProjectName); } }, [normalizedProjectName, onCreateProject]); if (props.createProjectState._ === "creating") { return
「{props.createProjectState.name}」を作成中
; } return (

プロジェクト作成ページ

プロジェクト名
{element()}
{normalizedProjectName === null ? (
プロジェクト名が不正です
) : ( )}
); };