From 64aace6e3b7bf0bc8536c6e6679f8b7af93becab Mon Sep 17 00:00:00 2001
From: Henry <30578846+hjball@users.noreply.github.com>
Date: Fri, 21 Nov 2025 21:34:12 +0000
Subject: [PATCH] feat: add breadcrumb navigation header to card view (#250)
* feat: add card breadcrumb navigation
* feat: wrap title onto new line
---
apps/web/src/components/SideNavigation.tsx | 4 +-
.../src/views/card/components/Dropdown.tsx | 2 +-
apps/web/src/views/card/index.tsx | 99 +++++++++++++------
3 files changed, 70 insertions(+), 35 deletions(-)
diff --git a/apps/web/src/components/SideNavigation.tsx b/apps/web/src/components/SideNavigation.tsx
index 503829dc..68383de6 100644
--- a/apps/web/src/components/SideNavigation.tsx
+++ b/apps/web/src/components/SideNavigation.tsx
@@ -122,10 +122,10 @@ export default function SideNavigation({
)}
>
-
+
{!isCollapsed && (
-
+
kan.bn
diff --git a/apps/web/src/views/card/components/Dropdown.tsx b/apps/web/src/views/card/components/Dropdown.tsx
index 938c2f36..67b05023 100644
--- a/apps/web/src/views/card/components/Dropdown.tsx
+++ b/apps/web/src/views/card/components/Dropdown.tsx
@@ -28,7 +28,7 @@ export default function BoardDropdown() {
},
]}
>
-
+
);
}
diff --git a/apps/web/src/views/card/index.tsx b/apps/web/src/views/card/index.tsx
index 8aaa281a..10e9de09 100644
--- a/apps/web/src/views/card/index.tsx
+++ b/apps/web/src/views/card/index.tsx
@@ -107,7 +107,7 @@ export function CardRightPanel({ isTemplate }: { isTemplate?: boolean }) {
return (
-
+
{t`List`}
{
+ const titleTextarea = document.getElementById(
+ "title",
+ ) as HTMLTextAreaElement;
+ if (titleTextarea) {
+ titleTextarea.style.height = "auto";
+ titleTextarea.style.height = `${titleTextarea.scrollHeight}px`;
+ }
+ }, [card]);
+
if (!cardId) return <>>;
return (
@@ -217,47 +228,71 @@ export default function CardPage({ isTemplate }: { isTemplate?: boolean }) {
-
+
+ {/* Full-width top strip with board link and dropdown */}
+
+ {!card && isLoading && (
+
+ )}
+ {card && (
+ <>
+
+
+ {workspace.name}
+
+
+
+ {board?.name}
+
+
+
+
+
+ >
+ )}
+ {!card && !isLoading && (
+
+ {t`Card not found`}
+
+ )}
+
-
+
{!card && isLoading && (
)}
{card && (
- <>
-
- {board?.name}
-
-
-
-
-
+
)}
{!card && !isLoading && (