New feature: category change in editBookmarkForm

master
TZGyn 3 years ago
parent 56546db442
commit 80a98887d5
Signed by: TZGyn
GPG Key ID: 122EAF77AE81FD4A

@ -7,13 +7,19 @@ import {
ModalBody, ModalBody,
ModalFooter, ModalFooter,
} from '@nextui-org/modal' } from '@nextui-org/modal'
import {
Dropdown,
DropdownItem,
DropdownMenu,
DropdownTrigger,
} from '@nextui-org/dropdown'
import { Button } from '@nextui-org/button' import { Button } from '@nextui-org/button'
import { Input } from '@nextui-org/input' import { Input } from '@nextui-org/input'
import { Icon } from '@iconify/react' import { Icon } from '@iconify/react'
import { useRouter } from 'next/navigation' import { useRouter } from 'next/navigation'
import { useContext, useState } from 'react' import { useContext, useState } from 'react'
import { Bookmark } from '@/types'
import { BookmarkContext, EditBookmarkContext } from '@/app/providers' import { BookmarkContext, EditBookmarkContext } from '@/app/providers'
import { ChevronDownIcon } from './ChevronDownIcon'
export default function EditBookmarkForm() { export default function EditBookmarkForm() {
const { isEditBookmark, onIsEditBookmarkChange } = const { isEditBookmark, onIsEditBookmarkChange } =
@ -22,7 +28,10 @@ export default function EditBookmarkForm() {
const router = useRouter() const router = useRouter()
const onSubmit = async () => { const onSubmit = async () => {
const body = bookmark const body = {
...bookmark,
category_id: selectedKey === 'Other' ? 2 : 1,
}
await fetch('/api/bookmark', { await fetch('/api/bookmark', {
method: 'PATCH', method: 'PATCH',
@ -32,6 +41,10 @@ export default function EditBookmarkForm() {
router.refresh() router.refresh()
} }
const [selectedKey, setSelectedKey] = useState(
bookmark.category_id == 2 ? 'Other' : 'Coding'
)
return ( return (
<> <>
<Modal <Modal
@ -41,7 +54,6 @@ export default function EditBookmarkForm() {
hideCloseButton> hideCloseButton>
<ModalContent <ModalContent
onKeyUp={(e) => { onKeyUp={(e) => {
console.log(e.key)
if (e.key === 'Enter') onSubmit() if (e.key === 'Enter') onSubmit()
}}> }}>
{(onClose) => ( {(onClose) => (
@ -91,6 +103,40 @@ export default function EditBookmarkForm() {
}) })
}} }}
/> />
<Dropdown>
<DropdownTrigger className='hidden justify-start sm:flex'>
<Button
endContent={
<ChevronDownIcon className='text-small' />
}
variant='flat'>
<div className='w-full text-start'>
{selectedKey}
</div>
</Button>
</DropdownTrigger>
<DropdownMenu
disallowEmptySelection
selectionMode='single'
selectedKeys={selectedKey}>
<DropdownItem
key='Coding'
onClick={() => {
setSelectedKey('Coding')
}}
className='capitalize'>
Coding
</DropdownItem>
<DropdownItem
key='Other'
onClick={() => {
setSelectedKey('Other')
}}
className='capitalize'>
Other
</DropdownItem>
</DropdownMenu>
</Dropdown>
<Input <Input
label='Url' label='Url'
placeholder='Enter Url' placeholder='Enter Url'

Loading…
Cancel
Save