Skip to content
Snippets Groups Projects
Commit f98f99eb authored by xaralis's avatar xaralis
Browse files

feat: use radio instead of dropdown button for add post form

parent f395ee23
No related branches found
No related tags found
No related merge requests found
Pipeline #1950 passed
import React, { useState } from "react"; import React, { useState } from "react";
import { addPost, addProposal } from "actions/posts"; import { addPost, addProposal } from "actions/posts";
import { DropdownButton, DropdownButtonItem } from "components/dropdown-button"; import Button from "components/Button";
import ErrorMessage from "components/ErrorMessage"; import ErrorMessage from "components/ErrorMessage";
import MarkdownEditor from "components/mde/MarkdownEditor"; import MarkdownEditor from "components/mde/MarkdownEditor";
import { useActionState } from "hooks"; import { useActionState } from "hooks";
...@@ -39,17 +39,6 @@ const AddPostForm = ({ className }) => { ...@@ -39,17 +39,6 @@ const AddPostForm = ({ className }) => {
} }
}; };
const setTypePost = (evt) => {
evt.preventDefault();
evt.stopPropagation();
setType("post");
};
const setTypeProposal = (evt) => {
evt.preventDefault();
evt.stopPropagation();
setType("procedure-proposal");
};
return ( return (
<div className={className}> <div className={className}>
{addingPostError && ( {addingPostError && (
...@@ -62,6 +51,29 @@ const AddPostForm = ({ className }) => { ...@@ -62,6 +51,29 @@ const AddPostForm = ({ className }) => {
Při přidávání příspěvku došlo k problému: {addingProposalError}. Při přidávání příspěvku došlo k problému: {addingProposalError}.
</ErrorMessage> </ErrorMessage>
)} )}
<div className="form-field" onChange={(evt) => setType(evt.target.value)}>
<div className="form-field__wrapper">
<div className="radio form-field__control">
<label>
<input type="radio" name="type" value="post" defaultChecked />
<span>
Přidat <strong>běžný příspěvek</strong>
</span>
</label>
</div>
<div className="radio form-field__control">
<label>
<input type="radio" name="type" value="procedure-proposal" />
<span>
Přidat <strong>návrh postupu</strong>
</span>
</label>
</div>
</div>
</div>
<MarkdownEditor <MarkdownEditor
value={text} value={text}
onChange={onTextInput} onChange={onTextInput}
...@@ -79,30 +91,16 @@ const AddPostForm = ({ className }) => { ...@@ -79,30 +91,16 @@ const AddPostForm = ({ className }) => {
/> />
<div className="space-x-4"> <div className="space-x-4">
<DropdownButton <Button
onClick={onAdd} onClick={onAdd}
disabled={addingPost || addingProposal} disabled={addingPost || addingProposal}
loading={addingPost || addingProposal} loading={addingPost || addingProposal}
fullwidth fullwidth
items={
<>
{type === "post" && (
<DropdownButtonItem onClick={setTypeProposal}>
Navrhnout postup
</DropdownButtonItem>
)}
{type === "procedure-proposal" && (
<DropdownButtonItem onClick={setTypePost}>
Přidat příspěvek
</DropdownButtonItem>
)}
</>
}
hoverActive hoverActive
> >
{type === "post" && "Přidat příspěvek"} {type === "post" && "Přidat příspěvek"}
{type === "procedure-proposal" && "Navrhnout postup"} {type === "procedure-proposal" && "Navrhnout postup"}
</DropdownButton> </Button>
<span className="text-sm text-grey-200 hidden lg:inline"> <span className="text-sm text-grey-200 hidden lg:inline">
Pro pokročilejší formátování můžete používat{" "} Pro pokročilejší formátování můžete používat{" "}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment