mirror of
https://github.com/OpenListTeam/OpenList-Frontend.git
synced 2026-03-13 11:20:24 +00:00
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import {
|
|
Popover,
|
|
PopoverTrigger,
|
|
Button,
|
|
PopoverContent,
|
|
PopoverArrow,
|
|
PopoverHeader,
|
|
PopoverBody,
|
|
HStack,
|
|
} from "@hope-ui/solid"
|
|
import { useT } from "~/hooks"
|
|
|
|
export interface DeletePopoverProps {
|
|
name: string
|
|
loading: boolean
|
|
onClick: () => void
|
|
}
|
|
export const DeletePopover = (props: DeletePopoverProps) => {
|
|
const t = useT()
|
|
return (
|
|
<Popover>
|
|
{({ onClose }) => (
|
|
<>
|
|
<PopoverTrigger as={Button} colorScheme="danger">
|
|
{t("global.delete")}
|
|
</PopoverTrigger>
|
|
<PopoverContent>
|
|
<PopoverArrow />
|
|
<PopoverHeader>
|
|
{t("global.delete_confirm", {
|
|
name: props.name,
|
|
})}
|
|
</PopoverHeader>
|
|
<PopoverBody>
|
|
<HStack spacing="$2">
|
|
<Button onClick={onClose} colorScheme="neutral">
|
|
{t("global.cancel")}
|
|
</Button>
|
|
<Button
|
|
colorScheme="danger"
|
|
loading={props.loading}
|
|
onClick={props.onClick}
|
|
>
|
|
{t("global.confirm")}
|
|
</Button>
|
|
</HStack>
|
|
</PopoverBody>
|
|
</PopoverContent>
|
|
</>
|
|
)}
|
|
</Popover>
|
|
)
|
|
}
|