import { EditOutlined, MailOutlined, PhoneOutlined } from '@ant-design/icons'; import { PageHeader } from '@ant-design/pro-components'; import { Button, Card, Input, Space, Tooltip, Typography } from 'antd'; import React, { useEffect, useState } from 'react'; import OrganizationAdminsTable from '@/components/admin-center/overview/organization-admins-table/organization-admins-table'; import { useAppSelector } from '@/hooks/useAppSelector'; import { RootState } from '@/app/store'; import { useTranslation } from 'react-i18next'; import OrganizationName from '@/components/admin-center/overview/organization-name/organization-name'; import OrganizationOwner from '@/components/admin-center/overview/organization-owner/organization-owner'; import HolidayCalendar from '@/components/admin-center/overview/holiday-calendar/holiday-calendar'; import { adminCenterApiService } from '@/api/admin-center/admin-center.api.service'; import { IOrganization, IOrganizationAdmin } from '@/types/admin-center/admin-center.types'; import logger from '@/utils/errorLogger'; const { Text } = Typography; const Overview: React.FC = () => { const [organization, setOrganization] = useState(null); const [organizationAdmins, setOrganizationAdmins] = useState(null); const [loadingAdmins, setLoadingAdmins] = useState(false); const themeMode = useAppSelector((state: RootState) => state.themeReducer.mode); const { t } = useTranslation('admin-center/overview'); const getOrganizationDetails = async () => { try { const res = await adminCenterApiService.getOrganizationDetails(); if (res.done) { setOrganization(res.body); } } catch (error) { logger.error('Error getting organization details', error); } }; const getOrganizationAdmins = async () => { setLoadingAdmins(true); try { const res = await adminCenterApiService.getOrganizationAdmins(); if (res.done) { setOrganizationAdmins(res.body); } } catch (error) { logger.error('Error getting organization admins', error); } finally { setLoadingAdmins(false); } }; useEffect(() => { getOrganizationDetails(); getOrganizationAdmins(); }, []); return (
{t('overview')}} style={{ padding: '16px 0' }} /> {t('admins')}
); }; export default Overview;