https://dev.kronoz.win/r/marzneshin.git
| 1 |
16e5ea1 |
Mrdn |
2y ago |
import React, { useEffect } from 'react' |
| 2 |
6aab6f0 |
Mrdn |
2y ago |
import { Panel, PanelGroup, PanelResizeHandle } from 'react-resizable-panels' |
| 3 |
6aab6f0 |
Mrdn |
2y ago |
import { InboundsHostsFilters } from './filters' |
| 4 |
6aab6f0 |
Mrdn |
2y ago |
import { InboundsSidebar } from './inbounds-sidebar' |
| 5 |
6aab6f0 |
Mrdn |
2y ago |
import { HostsTable } from './table' |
| 6 |
16e5ea1 |
Mrdn |
2y ago |
import { queryIds } from 'constants/query-ids'; |
| 7 |
16e5ea1 |
Mrdn |
2y ago |
import { useQuery } from '@tanstack/react-query'; |
| 8 |
16e5ea1 |
Mrdn |
2y ago |
import { fetchInbounds, fetchInboundHosts, useInbounds } from 'stores'; |
| 9 |
6aab6f0 |
Mrdn |
2y ago |
|
| 10 |
6aab6f0 |
Mrdn |
2y ago |
export const InboundsHostsManager = () => { |
| 11 |
16e5ea1 |
Mrdn |
2y ago |
const { selectedInbound, refetchHosts } = useInbounds(); |
| 12 |
16e5ea1 |
Mrdn |
2y ago |
|
| 13 |
16e5ea1 |
Mrdn |
2y ago |
const { data: inbounds } = useQuery({ |
| 14 |
16e5ea1 |
Mrdn |
2y ago |
queryKey: [queryIds.inbounds], |
| 15 |
16e5ea1 |
Mrdn |
2y ago |
initialData: [], |
| 16 |
16e5ea1 |
Mrdn |
2y ago |
queryFn: () => { |
| 17 |
16e5ea1 |
Mrdn |
2y ago |
return fetchInbounds(); |
| 18 |
16e5ea1 |
Mrdn |
2y ago |
} |
| 19 |
16e5ea1 |
Mrdn |
2y ago |
}); |
| 20 |
16e5ea1 |
Mrdn |
2y ago |
|
| 21 |
16e5ea1 |
Mrdn |
2y ago |
const { data: hosts } = useQuery({ |
| 22 |
16e5ea1 |
Mrdn |
2y ago |
queryKey: [queryIds.hosts, selectedInbound?.id], |
| 23 |
16e5ea1 |
Mrdn |
2y ago |
initialData: [], |
| 24 |
16e5ea1 |
Mrdn |
2y ago |
queryFn: () => { |
| 25 |
16e5ea1 |
Mrdn |
2y ago |
return fetchInboundHosts(selectedInbound?.id); |
| 26 |
16e5ea1 |
Mrdn |
2y ago |
} |
| 27 |
16e5ea1 |
Mrdn |
2y ago |
}); |
| 28 |
16e5ea1 |
Mrdn |
2y ago |
|
| 29 |
16e5ea1 |
Mrdn |
2y ago |
useEffect(() => { |
| 30 |
16e5ea1 |
Mrdn |
2y ago |
refetchHosts(); |
| 31 |
16e5ea1 |
Mrdn |
2y ago |
}, [selectedInbound]) |
| 32 |
16e5ea1 |
Mrdn |
2y ago |
|
| 33 |
6aab6f0 |
Mrdn |
2y ago |
return ( |
| 34 |
6aab6f0 |
Mrdn |
2y ago |
<> |
| 35 |
6aab6f0 |
Mrdn |
2y ago |
<InboundsHostsFilters /> |
| 36 |
6aab6f0 |
Mrdn |
2y ago |
<PanelGroup direction="horizontal"> |
| 37 |
6aab6f0 |
Mrdn |
2y ago |
<Panel id="sidebar" minSize={20} order={1}> |
| 38 |
16e5ea1 |
Mrdn |
2y ago |
<InboundsSidebar inbounds={inbounds} /> |
| 39 |
6aab6f0 |
Mrdn |
2y ago |
</Panel> |
| 40 |
6aab6f0 |
Mrdn |
2y ago |
<PanelResizeHandle /> |
| 41 |
6aab6f0 |
Mrdn |
2y ago |
<Panel minSize={60} order={2}> |
| 42 |
16e5ea1 |
Mrdn |
2y ago |
<HostsTable hosts={hosts} /> |
| 43 |
6aab6f0 |
Mrdn |
2y ago |
</Panel> |
| 44 |
6aab6f0 |
Mrdn |
2y ago |
</PanelGroup> |
| 45 |
6aab6f0 |
Mrdn |
2y ago |
</> |
| 46 |
6aab6f0 |
Mrdn |
2y ago |
) |
| 47 |
6aab6f0 |
Mrdn |
2y ago |
} |