import { FC, useState } from 'react' import { useTranslation } from 'react-i18next' import { useGetRestaurants } from '../hooks/useIconData' import PageLoading from '../../../components/PageLoading' import Td from '../../../components/Td' import { RestaurantType, RestaurantsResponse } from '../types/Types' import moment from 'moment-jalaali' import { Copy, Edit } from 'iconsax-react' import { toast } from 'react-toastify' import Button from '../../../components/Button' import RestaurantAdminsModal from './components/RestaurantAdminsModal' import Pagination from '../../../components/Pagination' import { Link } from 'react-router-dom' import { Pages } from '../../../config/Pages' const RestaurantsList: FC = () => { const { t } = useTranslation('global') const [page, setPage] = useState(1) const limit = 10 const { data: restaurants, isLoading } = useGetRestaurants(page, limit) const [selectedRestaurantId, setSelectedRestaurantId] = useState('') const [isAdminsModalOpen, setIsAdminsModalOpen] = useState(false) const restaurantsList = (restaurants as RestaurantsResponse | undefined)?.data?.restaurants || [] const totalPages = (restaurants as RestaurantsResponse | undefined)?.data?.pager?.totalPages || 1 const handleOpenAdminsModal = (restaurantId: string) => { setSelectedRestaurantId(restaurantId) setIsAdminsModalOpen(true) } const handleCloseAdminsModal = () => { setIsAdminsModalOpen(false) setSelectedRestaurantId('') } const handleCopyAddress = async (address: string | null) => { if (!address) return try { await navigator.clipboard.writeText(address) toast.success('کپی شد') } catch { toast.error('خطا در کپی کردن') } } return (
{t('restaurant.list_restaurant')}
{ isLoading ? :
{ restaurantsList.map((item: RestaurantType) => { return ( ) }) }
{item.address || '-'} {item.address && ( handleCopyAddress(item.address)} /> )}
{item.isActive ? t('restaurant.active') : t('restaurant.inactive')}
{moment(item.createdAt).format('jYYYY-jMM-jDD HH:mm')}
{totalPages > 1 && ( )}
}
) } export default RestaurantsList