mirror of https://github.com/sunface/rust-course
parent
1540c7dd62
commit
f5ca3e25ea
@ -0,0 +1,37 @@
|
|||||||
|
import { chakra, HStack, IconButton, Image, Tooltip, useColorMode, useColorModeValue } from "@chakra-ui/react";
|
||||||
|
import SvgButton from "components/svg-button";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { FaBan, FaHeart, FaRegHeart } from "react-icons/fa";
|
||||||
|
import { Story, StoryStatus } from "src/types/story";
|
||||||
|
import { requestApi } from "utils/axios/request";
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
story: Story
|
||||||
|
}
|
||||||
|
|
||||||
|
const Forbidden = (props: Props) => {
|
||||||
|
const { story } = props
|
||||||
|
const [status,setStatus] = useState(story.status)
|
||||||
|
|
||||||
|
const forbiddenStory = async () => {
|
||||||
|
await requestApi.post(`/story/forbidden/${story.id}`)
|
||||||
|
if (status != StoryStatus.Forbidden) {
|
||||||
|
setStatus(StoryStatus.Forbidden)
|
||||||
|
} else {
|
||||||
|
setStatus(StoryStatus.Draft)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<IconButton
|
||||||
|
aria-label="a icon button"
|
||||||
|
variant="ghost"
|
||||||
|
_focus={null}
|
||||||
|
layerStyle="textSecondary"
|
||||||
|
onClick={forbiddenStory}
|
||||||
|
icon={<FaBan fontSize="1.4rem" color={status === StoryStatus.Forbidden ? 'red' : null} />}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Forbidden
|
Loading…
Reference in new issue