diff --git a/apps/dokploy/components/dashboard/projects/show.tsx b/apps/dokploy/components/dashboard/projects/show.tsx
index a6bdc5b9..6c3ff8cd 100644
--- a/apps/dokploy/components/dashboard/projects/show.tsx
+++ b/apps/dokploy/components/dashboard/projects/show.tsx
@@ -15,20 +15,25 @@ import { Card, CardFooter, CardHeader, CardTitle } from "@/components/ui/card";
import {
DropdownMenu,
DropdownMenuContent,
+ DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuLabel,
+ DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
import { api } from "@/utils/api";
import {
AlertTriangle,
BookIcon,
+ CircuitBoard,
+ ExternalLink,
ExternalLinkIcon,
FolderInput,
MoreHorizontalIcon,
TrashIcon,
} from "lucide-react";
import Link from "next/link";
+import { Fragment } from "react";
import { toast } from "sonner";
import { UpdateProject } from "./update";
@@ -45,6 +50,7 @@ export const ShowProjects = () => {
},
);
const { mutateAsync } = api.project.remove.useMutation();
+
return (
<>
{data?.length === 0 && (
@@ -74,17 +80,87 @@ export const ShowProjects = () => {
project?.redis.length +
project?.applications.length +
project?.compose.length;
+
+ const flattedDomains = [
+ ...project.applications.flatMap((a) => a.domains),
+ ...project.compose.flatMap((a) => a.domains),
+ ];
+
+ const renderDomainsDropdown = (
+ item: typeof project.compose | typeof project.applications,
+ ) =>
+ item[0] ? (
+