import { useCurrentStateAndParams } from '@uirouter/react'; import { AlertTriangle, Code, Layers, History } from 'lucide-react'; import { useEnvironmentId } from '@/react/hooks/useEnvironmentId'; import { PageHeader } from '@@/PageHeader'; import { findSelectedTabIndex, Tab, WidgetTabs } from '@@/Widget/WidgetTabs'; import { Badge } from '@@/Badge'; import { Icon } from '@@/Icon'; import { useEventWarningsCount } from '../../queries/useEvents'; import { NamespaceYAMLEditor } from '../components/NamespaceYamlEditor'; import { ResourceEventsDatatable } from '../../components/EventsDatatable/ResourceEventsDatatable'; import { UpdateNamespaceForm } from './UpdateNamespaceForm'; import { NamespaceAppsDatatable } from './NamespaceAppsDatatable'; export function NamespaceView() { const stateAndParams = useCurrentStateAndParams(); const { params: { id: namespace }, } = stateAndParams; const environmentId = useEnvironmentId(); const eventWarningCount = useEventWarningsCount(environmentId, namespace); const tabs: Tab[] = [ { name: 'Namespace', icon: Layers, widget: , selectedTabParam: 'namespace', }, { name: (
Events {eventWarningCount >= 1 && ( {eventWarningCount} )}
), icon: History, widget: ( ), selectedTabParam: 'events', }, { name: 'YAML', icon: Code, widget: , selectedTabParam: 'YAML', }, ]; const currentTabIndex = findSelectedTabIndex(stateAndParams, tabs); return ( <> <> {tabs[currentTabIndex].widget} ); }