diff --git a/apps/web/src/views/board/components/UpdateBoardSlugButton.tsx b/apps/web/src/views/board/components/UpdateBoardSlugButton.tsx
index ce33768c..9b275551 100644
--- a/apps/web/src/views/board/components/UpdateBoardSlugButton.tsx
+++ b/apps/web/src/views/board/components/UpdateBoardSlugButton.tsx
@@ -1,24 +1,40 @@
-import Link from "next/link";
+import { Fragment } from "react";
import { t } from "@lingui/core/macro";
import { env } from "next-runtime-env";
import { HiLink } from "react-icons/hi";
import { Tooltip } from "~/components/Tooltip";
+import { usePopup } from "~/providers/popup";
+
+const displayBaseUrl =
+ env("NEXT_PUBLIC_KAN_ENV") === "cloud"
+ ? "kan.bn"
+ : env("NEXT_PUBLIC_BASE_URL");
+
+const linkBaseUrl = env("NEXT_PUBLIC_BASE_URL");
+
+const pathSeparator = (
+
+);
const UpdateBoardSlugButton = ({
handleOnClick,
workspaceSlug,
boardSlug,
+ boardPublicId,
+ visibility,
isLoading,
canEdit,
}: {
handleOnClick: () => void;
workspaceSlug: string;
boardSlug: string;
+ boardPublicId: string;
+ visibility: "public" | "private";
isLoading: boolean;
canEdit: boolean;
}) => {
- if (!isLoading && (!workspaceSlug || !boardSlug)) return <>>;
+ const { showPopup } = usePopup();
if (isLoading) {
return (
@@ -26,44 +42,55 @@ const UpdateBoardSlugButton = ({
);
}
+ if (!workspaceSlug || !boardSlug || !boardPublicId) return <>>;
+
+ const isPublic = visibility === "public";
+ const boardUrl = isPublic
+ ? `${linkBaseUrl}/${workspaceSlug}/${boardSlug}`
+ : `${linkBaseUrl}/boards/${boardPublicId}`;
+
+ const pathSegments = isPublic
+ ? [displayBaseUrl, workspaceSlug, boardSlug]
+ : [displayBaseUrl, "boards", boardPublicId];
+
return (
+
+ {pathSegments.map((segment, i) => (
+
+ {i > 0 && pathSeparator}
+ {segment}
+
+ ))}
+
+
+
);
};
-
export default UpdateBoardSlugButton;
diff --git a/apps/web/src/views/board/components/UpdateBoardSlugForm.tsx b/apps/web/src/views/board/components/UpdateBoardSlugForm.tsx
index 20b3ff5a..ddb72e44 100644
--- a/apps/web/src/views/board/components/UpdateBoardSlugForm.tsx
+++ b/apps/web/src/views/board/components/UpdateBoardSlugForm.tsx
@@ -156,7 +156,7 @@ export function UpdateBoardSlugForm({