mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
refactor: show banner when the server is disabled
This commit is contained in:
@@ -35,7 +35,7 @@ import { appRouter } from "@/server/api/root";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
import { validateRequest } from "@dokploy/server";
|
import { validateRequest } from "@dokploy/server";
|
||||||
import { createServerSideHelpers } from "@trpc/react-query/server";
|
import { createServerSideHelpers } from "@trpc/react-query/server";
|
||||||
import { GlobeIcon, HelpCircle } from "lucide-react";
|
import { GlobeIcon, HelpCircle, ServerOff } from "lucide-react";
|
||||||
import type {
|
import type {
|
||||||
GetServerSidePropsContext,
|
GetServerSidePropsContext,
|
||||||
InferGetServerSidePropsType,
|
InferGetServerSidePropsType,
|
||||||
@@ -156,6 +156,26 @@ const Service = (
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{data?.server?.serverStatus === "inactive" ? (
|
||||||
|
<div className="flex h-[55vh] border-2 rounded-xl border-dashed p-4">
|
||||||
|
<div className="max-w-3xl mx-auto flex flex-col items-center justify-center self-center gap-3">
|
||||||
|
<ServerOff className="size-10 text-muted-foreground self-center" />
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
This service is hosted on the server {data.server.name}, but this
|
||||||
|
server has been disabled because your current plan doesn't include
|
||||||
|
enough servers. Please purchase more servers to regain access to
|
||||||
|
this application.
|
||||||
|
</span>
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
Go to{" "}
|
||||||
|
<Link href="/dashboard/settings/billing" className="text-primary">
|
||||||
|
Billing
|
||||||
|
</Link>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<Tabs
|
<Tabs
|
||||||
value={tab}
|
value={tab}
|
||||||
defaultValue="general"
|
defaultValue="general"
|
||||||
@@ -240,6 +260,7 @@ const Service = (
|
|||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import { appRouter } from "@/server/api/root";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
import { validateRequest } from "@dokploy/server";
|
import { validateRequest } from "@dokploy/server";
|
||||||
import { createServerSideHelpers } from "@trpc/react-query/server";
|
import { createServerSideHelpers } from "@trpc/react-query/server";
|
||||||
import { CircuitBoard } from "lucide-react";
|
import { CircuitBoard, ServerOff } from "lucide-react";
|
||||||
import { HelpCircle } from "lucide-react";
|
import { HelpCircle } from "lucide-react";
|
||||||
import type {
|
import type {
|
||||||
GetServerSidePropsContext,
|
GetServerSidePropsContext,
|
||||||
@@ -151,6 +151,25 @@ const Service = (
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
|
{data?.server?.serverStatus === "inactive" ? (
|
||||||
|
<div className="flex h-[55vh] border-2 rounded-xl border-dashed p-4">
|
||||||
|
<div className="max-w-3xl mx-auto flex flex-col items-center justify-center self-center gap-3">
|
||||||
|
<ServerOff className="size-10 text-muted-foreground self-center" />
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
This service is hosted on the server {data.server.name}, but this
|
||||||
|
server has been disabled because your current plan doesn't include
|
||||||
|
enough servers. Please purchase more servers to regain access to
|
||||||
|
this application.
|
||||||
|
</span>
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
Go to{" "}
|
||||||
|
<Link href="/dashboard/settings/billing" className="text-primary">
|
||||||
|
Billing
|
||||||
|
</Link>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<Tabs
|
<Tabs
|
||||||
value={tab}
|
value={tab}
|
||||||
defaultValue="general"
|
defaultValue="general"
|
||||||
@@ -243,6 +262,7 @@ const Service = (
|
|||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import { appRouter } from "@/server/api/root";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
import { validateRequest } from "@dokploy/server";
|
import { validateRequest } from "@dokploy/server";
|
||||||
import { createServerSideHelpers } from "@trpc/react-query/server";
|
import { createServerSideHelpers } from "@trpc/react-query/server";
|
||||||
import { HelpCircle } from "lucide-react";
|
import { HelpCircle, ServerOff } from "lucide-react";
|
||||||
import type {
|
import type {
|
||||||
GetServerSidePropsContext,
|
GetServerSidePropsContext,
|
||||||
InferGetServerSidePropsType,
|
InferGetServerSidePropsType,
|
||||||
@@ -137,6 +137,25 @@ const Mariadb = (
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
|
{data?.server?.serverStatus === "inactive" ? (
|
||||||
|
<div className="flex h-[55vh] border-2 rounded-xl border-dashed p-4">
|
||||||
|
<div className="max-w-3xl mx-auto flex flex-col items-center justify-center self-center gap-3">
|
||||||
|
<ServerOff className="size-10 text-muted-foreground self-center" />
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
This service is hosted on the server {data.server.name}, but this
|
||||||
|
server has been disabled because your current plan doesn't include
|
||||||
|
enough servers. Please purchase more servers to regain access to
|
||||||
|
this application.
|
||||||
|
</span>
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
Go to{" "}
|
||||||
|
<Link href="/dashboard/settings/billing" className="text-primary">
|
||||||
|
Billing
|
||||||
|
</Link>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<Tabs
|
<Tabs
|
||||||
value={tab}
|
value={tab}
|
||||||
defaultValue="general"
|
defaultValue="general"
|
||||||
@@ -210,6 +229,7 @@ const Mariadb = (
|
|||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import { appRouter } from "@/server/api/root";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
import { validateRequest } from "@dokploy/server";
|
import { validateRequest } from "@dokploy/server";
|
||||||
import { createServerSideHelpers } from "@trpc/react-query/server";
|
import { createServerSideHelpers } from "@trpc/react-query/server";
|
||||||
import { HelpCircle } from "lucide-react";
|
import { HelpCircle, ServerOff } from "lucide-react";
|
||||||
import type {
|
import type {
|
||||||
GetServerSidePropsContext,
|
GetServerSidePropsContext,
|
||||||
InferGetServerSidePropsType,
|
InferGetServerSidePropsType,
|
||||||
@@ -138,6 +138,25 @@ const Mongo = (
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
|
{data?.server?.serverStatus === "inactive" ? (
|
||||||
|
<div className="flex h-[55vh] border-2 rounded-xl border-dashed p-4">
|
||||||
|
<div className="max-w-3xl mx-auto flex flex-col items-center justify-center self-center gap-3">
|
||||||
|
<ServerOff className="size-10 text-muted-foreground self-center" />
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
This service is hosted on the server {data.server.name}, but this
|
||||||
|
server has been disabled because your current plan doesn't include
|
||||||
|
enough servers. Please purchase more servers to regain access to
|
||||||
|
this application.
|
||||||
|
</span>
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
Go to{" "}
|
||||||
|
<Link href="/dashboard/settings/billing" className="text-primary">
|
||||||
|
Billing
|
||||||
|
</Link>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<Tabs
|
<Tabs
|
||||||
value={tab}
|
value={tab}
|
||||||
defaultValue="general"
|
defaultValue="general"
|
||||||
@@ -212,6 +231,7 @@ const Mongo = (
|
|||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import { appRouter } from "@/server/api/root";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
import { validateRequest } from "@dokploy/server";
|
import { validateRequest } from "@dokploy/server";
|
||||||
import { createServerSideHelpers } from "@trpc/react-query/server";
|
import { createServerSideHelpers } from "@trpc/react-query/server";
|
||||||
import { HelpCircle } from "lucide-react";
|
import { HelpCircle, ServerOff } from "lucide-react";
|
||||||
import type {
|
import type {
|
||||||
GetServerSidePropsContext,
|
GetServerSidePropsContext,
|
||||||
InferGetServerSidePropsType,
|
InferGetServerSidePropsType,
|
||||||
@@ -137,6 +137,25 @@ const MySql = (
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
|
{data?.server?.serverStatus === "inactive" ? (
|
||||||
|
<div className="flex h-[55vh] border-2 rounded-xl border-dashed p-4">
|
||||||
|
<div className="max-w-3xl mx-auto flex flex-col items-center justify-center self-center gap-3">
|
||||||
|
<ServerOff className="size-10 text-muted-foreground self-center" />
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
This service is hosted on the server {data.server.name}, but this
|
||||||
|
server has been disabled because your current plan doesn't include
|
||||||
|
enough servers. Please purchase more servers to regain access to
|
||||||
|
this application.
|
||||||
|
</span>
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
Go to{" "}
|
||||||
|
<Link href="/dashboard/settings/billing" className="text-primary">
|
||||||
|
Billing
|
||||||
|
</Link>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<Tabs
|
<Tabs
|
||||||
value={tab}
|
value={tab}
|
||||||
defaultValue="general"
|
defaultValue="general"
|
||||||
@@ -211,6 +230,7 @@ const MySql = (
|
|||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import { appRouter } from "@/server/api/root";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
import { validateRequest } from "@dokploy/server";
|
import { validateRequest } from "@dokploy/server";
|
||||||
import { createServerSideHelpers } from "@trpc/react-query/server";
|
import { createServerSideHelpers } from "@trpc/react-query/server";
|
||||||
import { HelpCircle } from "lucide-react";
|
import { HelpCircle, ServerOff } from "lucide-react";
|
||||||
import type {
|
import type {
|
||||||
GetServerSidePropsContext,
|
GetServerSidePropsContext,
|
||||||
InferGetServerSidePropsType,
|
InferGetServerSidePropsType,
|
||||||
@@ -138,6 +138,25 @@ const Postgresql = (
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
|
{data?.server?.serverStatus === "inactive" ? (
|
||||||
|
<div className="flex h-[55vh] border-2 rounded-xl border-dashed p-4">
|
||||||
|
<div className="max-w-3xl mx-auto flex flex-col items-center justify-center self-center gap-3">
|
||||||
|
<ServerOff className="size-10 text-muted-foreground self-center" />
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
This service is hosted on the server {data.server.name}, but this
|
||||||
|
server has been disabled because your current plan doesn't include
|
||||||
|
enough servers. Please purchase more servers to regain access to
|
||||||
|
this application.
|
||||||
|
</span>
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
Go to{" "}
|
||||||
|
<Link href="/dashboard/settings/billing" className="text-primary">
|
||||||
|
Billing
|
||||||
|
</Link>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<Tabs
|
<Tabs
|
||||||
value={tab}
|
value={tab}
|
||||||
defaultValue="general"
|
defaultValue="general"
|
||||||
@@ -212,6 +231,7 @@ const Postgresql = (
|
|||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import { appRouter } from "@/server/api/root";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
import { validateRequest } from "@dokploy/server";
|
import { validateRequest } from "@dokploy/server";
|
||||||
import { createServerSideHelpers } from "@trpc/react-query/server";
|
import { createServerSideHelpers } from "@trpc/react-query/server";
|
||||||
import { HelpCircle } from "lucide-react";
|
import { HelpCircle, ServerOff } from "lucide-react";
|
||||||
import type {
|
import type {
|
||||||
GetServerSidePropsContext,
|
GetServerSidePropsContext,
|
||||||
InferGetServerSidePropsType,
|
InferGetServerSidePropsType,
|
||||||
@@ -137,6 +137,25 @@ const Redis = (
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
|
{data?.server?.serverStatus === "inactive" ? (
|
||||||
|
<div className="flex h-[55vh] border-2 rounded-xl border-dashed p-4">
|
||||||
|
<div className="max-w-3xl mx-auto flex flex-col items-center justify-center self-center gap-3">
|
||||||
|
<ServerOff className="size-10 text-muted-foreground self-center" />
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
This service is hosted on the server {data.server.name}, but this
|
||||||
|
server has been disabled because your current plan doesn't include
|
||||||
|
enough servers. Please purchase more servers to regain access to
|
||||||
|
this application.
|
||||||
|
</span>
|
||||||
|
<span className="text-center text-base text-muted-foreground">
|
||||||
|
Go to{" "}
|
||||||
|
<Link href="/dashboard/settings/billing" className="text-primary">
|
||||||
|
Billing
|
||||||
|
</Link>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
<Tabs
|
<Tabs
|
||||||
value={tab}
|
value={tab}
|
||||||
defaultValue="general"
|
defaultValue="general"
|
||||||
@@ -205,6 +224,7 @@ const Redis = (
|
|||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -252,7 +252,6 @@ export const composeRouter = createTRPCRouter({
|
|||||||
descriptionLog: "",
|
descriptionLog: "",
|
||||||
server: !!compose.serverId,
|
server: !!compose.serverId,
|
||||||
};
|
};
|
||||||
console.log(jobData);
|
|
||||||
|
|
||||||
if (IS_CLOUD && compose.serverId) {
|
if (IS_CLOUD && compose.serverId) {
|
||||||
jobData.serverId = compose.serverId;
|
jobData.serverId = compose.serverId;
|
||||||
|
|||||||
Reference in New Issue
Block a user