1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 21:14:18 +00:00
pds-2021-g2-nest/code/frontend/src/components/interactive/BoxRepositoryCreate.js

65 lines
2.3 KiB
JavaScript
Raw Normal View History

2021-05-07 15:42:20 +00:00
import React from "react"
2021-05-07 15:30:10 +00:00
import BoxFull from "../base/BoxFull"
import FormLabelled from "../base/FormLabelled"
import FormLabel from "../base/formparts/FormLabel"
import InputWithIcon from "../base/InputWithIcon"
import { faFolder, faPlus } from "@fortawesome/free-solid-svg-icons"
import Radio from "../base/Radio"
import Button from "../base/Button"
import useRepositoryEditor from "../../hooks/useRepositoryEditor"
2021-05-07 23:40:49 +00:00
import FormAlert from "../base/formparts/FormAlert"
2021-05-07 15:30:10 +00:00
export default function BoxRepositoryCreate({ ...props }) {
const {
evaluationMode,
setEvaluationMode,
name,
setName,
save,
2021-05-07 23:40:49 +00:00
error,
2021-05-07 15:30:10 +00:00
} = useRepositoryEditor()
return (
<BoxFull header={"Create repository"} {...props}>
2021-05-07 23:40:49 +00:00
<FormLabelled onSubmit={e => {e.preventDefault(); save()}}>
2021-05-07 15:30:10 +00:00
<FormLabel htmlFor={"repo-name"} text={"Repository name"}>
<InputWithIcon
id={"repo-name"}
icon={faFolder}
value={name}
onChange={e => setName(e.target.value)}
/>
</FormLabel>
<FormLabel htmlFor={"filter-mode"} text={"Add tweets if they satisfy"}>
<label>
<Radio
name={"filter-mode"}
onClick={() => setEvaluationMode(0)}
checked={evaluationMode === 0}
/>
At least one filter
</label>
&nbsp;
<label>
<Radio
name={"filter-mode"}
onClick={() => setEvaluationMode(1)}
checked={evaluationMode === 1}
/>
Every filter
</label>
</FormLabel>
2021-05-07 23:40:49 +00:00
{error ?
<FormAlert color={"Red"}>
{error.toString()}
</FormAlert>
: null}
2021-05-07 15:30:10 +00:00
<Button style={{"gridColumn": "1 / 3"}} icon={faPlus} color={"Green"} onClick={e => save()}>
Create repository
</Button>
</FormLabelled>
</BoxFull>
)
}