Files
fast_api_template/frontend/src/components/Common/Navbar.tsx
T

40 lines
1.2 KiB
TypeScript
Raw Normal View History

import { ComponentType, ElementType } from 'react';
2024-03-17 17:28:45 +01:00
import { Button, Flex, Icon, useDisclosure } from "@chakra-ui/react"
import { FaPlus } from "react-icons/fa"
interface NavbarProps {
2024-03-08 14:58:36 +01:00
type: string
addModalAs: ComponentType | ElementType
}
const Navbar = ({ type, addModalAs }: NavbarProps) => {
const addModal = useDisclosure()
const AddModal = addModalAs
2024-03-08 14:58:36 +01:00
return (
<>
<Flex py={8} gap={4}>
{/* TODO: Complete search functionality */}
{/* <InputGroup w={{ base: '100%', md: 'auto' }}>
<InputLeftElement pointerEvents='none'>
<Icon as={FaSearch} color='ui.dim' />
</InputLeftElement>
<Input type='text' placeholder='Search' fontSize={{ base: 'sm', md: 'inherit' }} borderRadius='8px' />
</InputGroup> */}
2024-03-08 14:58:36 +01:00
<Button
2024-03-11 16:50:46 +01:00
variant="primary"
2024-03-08 14:58:36 +01:00
gap={1}
2024-03-17 17:28:45 +01:00
fontSize={{ base: "sm", md: "inherit" }}
onClick={addModal.onOpen}
2024-03-08 14:58:36 +01:00
>
<Icon as={FaPlus} /> Add {type}
</Button>
<AddModal isOpen={addModal.isOpen} onClose={addModal.onClose} />
2024-03-08 14:58:36 +01:00
</Flex>
</>
)
}
2024-03-08 14:58:36 +01:00
export default Navbar