import { useCallback, useMemo } from 'react'; // Helpers import { formatCurrency } from '@helper/helper'; // Types import { IRoom } from '@type/room'; // Components import RoomForm from './RoomForm'; import Modal from '@component/Modal'; import Table from '@component/Table'; import Menus from '@component/Menus'; import { RiEditBoxFill } from 'react-icons/ri'; import { HiTrash } from 'react-icons/hi'; import ConfirmMessage from '@component/ConfirmMessage'; // Hooks import { useSetIsDeleteRoom } from '@hook/rooms/useSetIsDeleteRoom'; // Constants import { FORM } from '@constant/commons'; interface IRoomRow { room: IRoom; } const RoomRow = ({ room }: IRoomRow) => { const { id, name, price, status } = room; const { setIsDeleteRoom } = useSetIsDeleteRoom(); const formattedPrice = useMemo(() => formatCurrency(price), [price]); const renderEditBtn = useCallback( (onCloseModal: () => void) => ( }> Edit ), [] ); const renderDeleteBtn = useCallback( (onCloseModal: () => void) => ( } onClick={onCloseModal} disabled={status}> Delete ), [status] ); return (
{id}
{name}
{formattedPrice}
{ status ? 'Unavailable' : 'Available' }
setIsDeleteRoom(id)} />
); }; export default RoomRow;