diff --git a/web/src/components/features/sidebars/SidebarUserFooter/SidebarUserFooter.tsx b/web/src/components/features/sidebars/SidebarUserFooter/SidebarUserFooter.tsx
index 17b9e8789..fa957faff 100644
--- a/web/src/components/features/sidebars/SidebarUserFooter/SidebarUserFooter.tsx
+++ b/web/src/components/features/sidebars/SidebarUserFooter/SidebarUserFooter.tsx
@@ -77,6 +77,7 @@ const SidebarUserDropdown: React.FC<{
label: 'Docs',
value: 'docs',
link: BUSTER_DOCS_URL,
+ linkIcon: 'arrow-external',
icon:
},
{
diff --git a/web/src/components/ui/dropdown/Dropdown.tsx b/web/src/components/ui/dropdown/Dropdown.tsx
index b824190f0..0c32600c5 100644
--- a/web/src/components/ui/dropdown/Dropdown.tsx
+++ b/web/src/components/ui/dropdown/Dropdown.tsx
@@ -41,6 +41,7 @@ export interface DropdownItem {
selected?: boolean;
items?: DropdownItems;
link?: string;
+ linkTarget?: '_blank' | '_self';
linkIcon?: 'arrow-right' | 'arrow-external' | 'caret-right';
}
@@ -408,8 +409,13 @@ const DropdownItem = ({
// Wrap with Link if needed
if (!isSelectable && link) {
+ const isExternal = link.startsWith('http');
+
return (
-
+
{content}
);
diff --git a/web/src/components/ui/dropdown/DropdownBase.tsx b/web/src/components/ui/dropdown/DropdownBase.tsx
index 78487592c..1974a6c11 100644
--- a/web/src/components/ui/dropdown/DropdownBase.tsx
+++ b/web/src/components/ui/dropdown/DropdownBase.tsx
@@ -237,7 +237,8 @@ const DropdownMenuLink: React.FC<{
className?: string;
link: string | null;
linkIcon?: 'arrow-right' | 'arrow-external' | 'caret-right';
-}> = ({ className, link, linkIcon = 'arrow-external', ...props }) => {
+ linkTarget?: '_blank' | '_self';
+}> = ({ className, link, linkTarget, linkIcon = 'arrow-right', ...props }) => {
const icon = React.useMemo(() => {
if (linkIcon === 'arrow-right') return ;
if (linkIcon === 'arrow-external') return ;
@@ -263,9 +264,11 @@ const DropdownMenuLink: React.FC<{
);
+ console.log(link, isExternal, linkTarget);
+
return (
e.stopPropagation()}>
-
+
{content}