import { Box, Select, Tabs, TabsItem } from '@rocket.chat/fuselage'; import { PageScrollableContent, Page, PageHeader } from '@rocket.chat/ui-client'; import { useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import ChannelsTab from './channels/ChannelsTab'; import MessagesTab from './messages/MessagesTab'; import UsersTab from './users/UsersTab'; export type EngagementDashboardPageProps = { tab: 'users' | 'messages' | 'channels'; onSelectTab?: (tab: 'users' | 'messages' | 'channels') => void; }; const EngagementDashboardPage = ({ tab = 'users', onSelectTab }: EngagementDashboardPageProps) => { const { t } = useTranslation(); const timezoneOptions = useMemo<[timezone: 'utc' | 'local', label: string][]>( () => [ ['utc', t('UTC_Timezone')], ['local', t('Local_Timezone')], ], [t], ); const [timezoneId, setTimezoneId] = useState<'utc' | 'local'>('utc'); const handleTimezoneChange = (timezoneId: string): void => setTimezoneId(timezoneId as 'utc' | 'local'); const handleTabClick = useCallback( (tab: 'users' | 'messages' | 'channels'): undefined | (() => void) => (onSelectTab ? (): void => onSelectTab(tab) : undefined), [onSelectTab], ); return (