gitscope
https://dev.kronoz.win/r/marzneshin.git
app/dashboard/src/pages/hosts/container.tsx · v0.1.3
Source
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 }