| 1 |
6aab6f0 |
Mrdn |
2y ago |
import { InboundsHostsFilters } from './filters' |
| 2 |
6aab6f0 |
Mrdn |
2y ago |
import { InboundsSidebar } from './inbounds-sidebar' |
| 3 |
6aab6f0 |
Mrdn |
2y ago |
import { HostsTable } from './table' |
| 4 |
16e5ea1 |
Mrdn |
2y ago |
import { queryIds } from 'constants/query-ids'; |
| 5 |
16e5ea1 |
Mrdn |
2y ago |
import { useQuery } from '@tanstack/react-query'; |
| 6 |
16e5ea1 |
Mrdn |
2y ago |
import { fetchInbounds, fetchInboundHosts, useInbounds } from 'stores'; |
| 7 |
8d27a8d |
Mrdn |
2y ago |
import { Grid, GridItem, } from '@chakra-ui/react'; |
| 8 |
fca98f0 |
Mrdn |
2y ago |
import { useTranslation } from 'react-i18next'; |
| 9 |
fca98f0 |
Mrdn |
2y ago |
import { Callout } from 'components/callout'; |
| 10 |
6aab6f0 |
Mrdn |
2y ago |
|
| 11 |
6aab6f0 |
Mrdn |
2y ago |
export const InboundsHostsManager = () => { |
| 12 |
8d27a8d |
Mrdn |
2y ago |
const { selectedInbound } = useInbounds(); |
| 13 |
16e5ea1 |
Mrdn |
2y ago |
|
| 14 |
16e5ea1 |
Mrdn |
2y ago |
const { data: inbounds } = useQuery({ |
| 15 |
16e5ea1 |
Mrdn |
2y ago |
queryKey: [queryIds.inbounds], |
| 16 |
16e5ea1 |
Mrdn |
2y ago |
initialData: [], |
| 17 |
16e5ea1 |
Mrdn |
2y ago |
queryFn: () => { |
| 18 |
16e5ea1 |
Mrdn |
2y ago |
return fetchInbounds(); |
| 19 |
16e5ea1 |
Mrdn |
2y ago |
} |
| 20 |
16e5ea1 |
Mrdn |
2y ago |
}); |
| 21 |
16e5ea1 |
Mrdn |
2y ago |
|
| 22 |
16e5ea1 |
Mrdn |
2y ago |
const { data: hosts } = useQuery({ |
| 23 |
16e5ea1 |
Mrdn |
2y ago |
queryKey: [queryIds.hosts, selectedInbound?.id], |
| 24 |
16e5ea1 |
Mrdn |
2y ago |
initialData: [], |
| 25 |
16e5ea1 |
Mrdn |
2y ago |
queryFn: () => { |
| 26 |
16e5ea1 |
Mrdn |
2y ago |
return fetchInboundHosts(selectedInbound?.id); |
| 27 |
16e5ea1 |
Mrdn |
2y ago |
} |
| 28 |
16e5ea1 |
Mrdn |
2y ago |
}); |
| 29 |
16e5ea1 |
Mrdn |
2y ago |
|
| 30 |
fca98f0 |
Mrdn |
2y ago |
const { t } = useTranslation('noInboundsCallout'); |
| 31 |
fca98f0 |
Mrdn |
2y ago |
|
| 32 |
fca98f0 |
Mrdn |
2y ago |
return inbounds.length === 0 ? |
| 33 |
fca98f0 |
Mrdn |
2y ago |
<Callout header={t('noInboundsCallout.header')} body={t('noInboundsCallout.body')} /> |
| 34 |
fca98f0 |
Mrdn |
2y ago |
: ( |
| 35 |
fca98f0 |
Mrdn |
2y ago |
<> |
| 36 |
fca98f0 |
Mrdn |
2y ago |
<InboundsHostsFilters /> |
| 37 |
fca98f0 |
Mrdn |
2y ago |
<Grid |
| 38 |
fca98f0 |
Mrdn |
2y ago |
templateColumns='repeat(4, 1fr)' |
| 39 |
fca98f0 |
Mrdn |
2y ago |
gap="3" |
| 40 |
fca98f0 |
Mrdn |
2y ago |
h="10rem" |
| 41 |
fca98f0 |
Mrdn |
2y ago |
> |
| 42 |
fca98f0 |
Mrdn |
2y ago |
<GridItem colSpan={1}> |
| 43 |
fca98f0 |
Mrdn |
2y ago |
<InboundsSidebar inbounds={inbounds} /> |
| 44 |
fca98f0 |
Mrdn |
2y ago |
</GridItem> |
| 45 |
fca98f0 |
Mrdn |
2y ago |
<GridItem colSpan={3}> |
| 46 |
fca98f0 |
Mrdn |
2y ago |
<HostsTable hosts={hosts} /> |
| 47 |
fca98f0 |
Mrdn |
2y ago |
</GridItem> |
| 48 |
fca98f0 |
Mrdn |
2y ago |
</Grid> |
| 49 |
fca98f0 |
Mrdn |
2y ago |
</> |
| 50 |
fca98f0 |
Mrdn |
2y ago |
|
| 51 |
fca98f0 |
Mrdn |
2y ago |
) |
| 52 |
6aab6f0 |
Mrdn |
2y ago |
} |