mirror of
https://github.com/andwati/dokploy.git
synced 2026-11-04 11:12:16 +00:00
refactor: show nodes tab to any user with docker.read
This commit is contained in:
@@ -23,22 +23,15 @@ const DEFAULT_SWARM_TAB = "overview";
|
|||||||
const Dashboard = () => {
|
const Dashboard = () => {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { data: isCloud } = api.settings.isCloud.useQuery();
|
const { data: isCloud } = api.settings.isCloud.useQuery();
|
||||||
const { data: permissions } = api.user.getPermissions.useQuery();
|
|
||||||
|
|
||||||
const canManageCluster = !!permissions?.organization.update;
|
|
||||||
|
|
||||||
const queryTab =
|
const queryTab =
|
||||||
typeof router.query.tab === "string" ? router.query.tab : DEFAULT_TAB;
|
typeof router.query.tab === "string" ? router.query.tab : DEFAULT_TAB;
|
||||||
const activeTab = isCloud && queryTab === "networks" ? DEFAULT_TAB : queryTab;
|
const activeTab = isCloud && queryTab === "networks" ? DEFAULT_TAB : queryTab;
|
||||||
|
|
||||||
const querySwarmTab =
|
const activeSwarmTab =
|
||||||
typeof router.query.subtab === "string"
|
typeof router.query.subtab === "string"
|
||||||
? router.query.subtab
|
? router.query.subtab
|
||||||
: DEFAULT_SWARM_TAB;
|
: DEFAULT_SWARM_TAB;
|
||||||
const activeSwarmTab =
|
|
||||||
!canManageCluster && querySwarmTab === "nodes"
|
|
||||||
? DEFAULT_SWARM_TAB
|
|
||||||
: querySwarmTab;
|
|
||||||
|
|
||||||
const setTab = (value: string) => {
|
const setTab = (value: string) => {
|
||||||
const { tab: _current, subtab: _subtab, ...query } = router.query;
|
const { tab: _current, subtab: _subtab, ...query } = router.query;
|
||||||
@@ -83,9 +76,7 @@ const Dashboard = () => {
|
|||||||
<TabsList>
|
<TabsList>
|
||||||
<TabsTrigger value="overview">Overview</TabsTrigger>
|
<TabsTrigger value="overview">Overview</TabsTrigger>
|
||||||
<TabsTrigger value="containers">Containers</TabsTrigger>
|
<TabsTrigger value="containers">Containers</TabsTrigger>
|
||||||
{canManageCluster && (
|
<TabsTrigger value="nodes">Nodes</TabsTrigger>
|
||||||
<TabsTrigger value="nodes">Nodes</TabsTrigger>
|
|
||||||
)}
|
|
||||||
</TabsList>
|
</TabsList>
|
||||||
<TabsContent value="overview">
|
<TabsContent value="overview">
|
||||||
<SwarmMonitorCard serverId={serverId} />
|
<SwarmMonitorCard serverId={serverId} />
|
||||||
@@ -97,11 +88,9 @@ const Dashboard = () => {
|
|||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
{canManageCluster && (
|
<TabsContent value="nodes">
|
||||||
<TabsContent value="nodes">
|
<ShowNodes serverId={serverId} />
|
||||||
<ShowNodes serverId={serverId} />
|
</TabsContent>
|
||||||
</TabsContent>
|
|
||||||
)}
|
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
<TabsContent value="volumes">
|
<TabsContent value="volumes">
|
||||||
|
|||||||
Reference in New Issue
Block a user