diff --git a/src/frontend/src/components/appHeaderComponent/assets/ChainIcon.svg b/src/frontend/src/components/appHeaderComponent/assets/ChainIcon.svg
new file mode 100644
index 000000000000..7bf628a590ff
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/assets/ChainIcon.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/frontend/src/components/appHeaderComponent/assets/ExpandMoreIcon.svg b/src/frontend/src/components/appHeaderComponent/assets/ExpandMoreIcon.svg
new file mode 100644
index 000000000000..6727ef58e5fa
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/assets/ExpandMoreIcon.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/frontend/src/components/appHeaderComponent/assets/FeedbackIcon.svg b/src/frontend/src/components/appHeaderComponent/assets/FeedbackIcon.svg
new file mode 100644
index 000000000000..098ffa2b25fc
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/assets/FeedbackIcon.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/frontend/src/components/appHeaderComponent/assets/OrgSelectorIcon.svg b/src/frontend/src/components/appHeaderComponent/assets/OrgSelectorIcon.svg
new file mode 100644
index 000000000000..73dcddb236cf
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/assets/OrgSelectorIcon.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/frontend/src/components/appHeaderComponent/assets/ScienceOutlinedIcon.svg b/src/frontend/src/components/appHeaderComponent/assets/ScienceOutlinedIcon.svg
new file mode 100644
index 000000000000..6d4f28278e0f
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/assets/ScienceOutlinedIcon.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/frontend/src/components/appHeaderComponent/assets/ShortDataStaxLogo.svg b/src/frontend/src/components/appHeaderComponent/assets/ShortDataStaxLogo.svg
new file mode 100644
index 000000000000..8083e6b82a08
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/assets/ShortDataStaxLogo.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/frontend/src/components/appHeaderComponent/assets/ShortLangFlowIcon.svg b/src/frontend/src/components/appHeaderComponent/assets/ShortLangFlowIcon.svg
new file mode 100644
index 000000000000..04cce13f9dab
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/assets/ShortLangFlowIcon.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/src/frontend/src/components/appHeaderComponent/components/AccountMenu/index.tsx b/src/frontend/src/components/appHeaderComponent/components/AccountMenu/index.tsx
new file mode 100644
index 000000000000..6e43fddcb6eb
--- /dev/null
+++ b/src/frontend/src/components/appHeaderComponent/components/AccountMenu/index.tsx
@@ -0,0 +1,134 @@
+import { useLogout } from "@/controllers/API/queries/auth";
+import { CustomFeedbackDialog } from "@/customization/components/custom-feedback-dialog";
+import { CustomHeaderMenuItemsTitle } from "@/customization/components/custom-header-menu-items-title";
+import { CustomProfileIcon } from "@/customization/components/custom-profile-icon";
+import { ENABLE_DATASTAX_LANGFLOW } from "@/customization/feature-flags";
+import { useCustomNavigate } from "@/customization/hooks/use-custom-navigate";
+import useAuthStore from "@/stores/authStore";
+import { useDarkStore } from "@/stores/darkStore";
+import { useState } from "react";
+import { useParams } from "react-router-dom";
+import GithubStarComponent from "../GithubStarButton";
+import {
+ HeaderMenu,
+ HeaderMenuItemButton,
+ HeaderMenuItemLink,
+ HeaderMenuItems,
+ HeaderMenuItemsSection,
+ HeaderMenuToggle,
+} from "../HeaderMenu";
+import { ProfileIcon } from "../ProfileIcon";
+import ThemeButtons from "../ThemeButtons";
+
+export const AccountMenu = () => {
+ const [isFeedbackOpen, setIsFeedbackOpen] = useState(false);
+ const { customParam: id } = useParams();
+ const version = useDarkStore((state) => state.version);
+ const navigate = useCustomNavigate();
+ const { mutate: mutationLogout } = useLogout();
+
+ const { isAdmin, autoLogin } = useAuthStore((state) => ({
+ isAdmin: state.isAdmin,
+ autoLogin: state.autoLogin,
+ }));
+
+ const handleLogout = () => {
+ mutationLogout();
+ };
+
+ return (
+ <>
+
+
+
+ {ENABLE_DATASTAX_LANGFLOW ?
:
}
+
+
+
+ {ENABLE_DATASTAX_LANGFLOW && }
+
+
+ {ENABLE_DATASTAX_LANGFLOW ? (
+
+ Account Settings
+
+ ) : (
+ {
+ navigate("/settings");
+ }}
+ >
+ Settings
+
+ )}
+ {!ENABLE_DATASTAX_LANGFLOW && (
+ <>
+ {isAdmin && !autoLogin && (
+ navigate("/admin")}>
+ Admin Page
+
+ )}
+ >
+ )}
+ {ENABLE_DATASTAX_LANGFLOW ? (
+ setIsFeedbackOpen(true)}>
+ Feedback
+
+ ) : (
+
+ Docs
+
+ )}
+
+
+ {ENABLE_DATASTAX_LANGFLOW ? (
+
+
+
+ ) : (
+
+ Share Feedback on Github
+
+ )}
+
+ Follow {ENABLE_DATASTAX_LANGFLOW ? "Langflow" : "us"} on X
+
+
+ Join our Discord
+
+
+
+ {ENABLE_DATASTAX_LANGFLOW ? (
+
+ Logout
+
+ ) : (
+
+ Logout
+
+ )}
+
+
+
+
+ >
+ );
+};
diff --git a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx b/src/frontend/src/components/appHeaderComponent/components/FlowMenu/index.tsx
similarity index 81%
rename from src/frontend/src/components/headerComponent/components/menuBar/index.tsx
rename to src/frontend/src/components/appHeaderComponent/components/FlowMenu/index.tsx
index 48f2273e652c..48388670a550 100644
--- a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx
+++ b/src/frontend/src/components/appHeaderComponent/components/FlowMenu/index.tsx
@@ -1,11 +1,4 @@
-import { useState } from "react";
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuLabel,
- DropdownMenuTrigger,
-} from "../../../ui/dropdown-menu";
+import { useMemo, useState } from "react";
import { useCustomNavigate } from "@/customization/hooks/use-custom-navigate";
import useAddFlow from "@/hooks/flows/use-add-flow";
@@ -13,21 +6,30 @@ import useSaveFlow from "@/hooks/flows/use-save-flow";
import useUploadFlow from "@/hooks/flows/use-upload-flow";
import { customStringify } from "@/utils/reactflowUtils";
import { useHotkeys } from "react-hotkeys-hook";
-import { UPLOAD_ERROR_ALERT } from "../../../../constants/alerts_constants";
-import { SAVED_HOVER } from "../../../../constants/constants";
-import ExportModal from "../../../../modals/exportModal";
-import FlowLogsModal from "../../../../modals/flowLogsModal";
-import FlowSettingsModal from "../../../../modals/flowSettingsModal";
-import ToolbarSelectItem from "../../../../pages/FlowPage/components/nodeToolbarComponent/toolbarSelectItem";
-import useAlertStore from "../../../../stores/alertStore";
-import useFlowStore from "../../../../stores/flowStore";
-import useFlowsManagerStore from "../../../../stores/flowsManagerStore";
-import { useShortcutsStore } from "../../../../stores/shortcuts";
-import { useTypesStore } from "../../../../stores/typesStore";
-import { cn } from "../../../../utils/utils";
-import IconComponent from "../../../genericIconComponent";
-import ShadTooltip from "../../../shadTooltipComponent";
-import { Button } from "../../../ui/button";
+
+import IconComponent from "@/components/genericIconComponent";
+import ShadTooltip from "@/components/shadTooltipComponent";
+import { Button } from "@/components/ui/button";
+import {
+ DropdownMenu,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuLabel,
+ DropdownMenuTrigger,
+} from "@/components/ui/dropdown-menu";
+import { UPLOAD_ERROR_ALERT } from "@/constants/alerts_constants";
+import { SAVED_HOVER } from "@/constants/constants";
+import { useGetFoldersQuery } from "@/controllers/API/queries/folders/use-get-folders";
+import ExportModal from "@/modals/exportModal";
+import FlowLogsModal from "@/modals/flowLogsModal";
+import FlowSettingsModal from "@/modals/flowSettingsModal";
+import ToolbarSelectItem from "@/pages/FlowPage/components/nodeToolbarComponent/toolbarSelectItem";
+import useAlertStore from "@/stores/alertStore";
+import useFlowsManagerStore from "@/stores/flowsManagerStore";
+import useFlowStore from "@/stores/flowStore";
+import { useShortcutsStore } from "@/stores/shortcuts";
+import { useTypesStore } from "@/stores/typesStore";
+import { cn } from "@/utils/utils";
export const MenuBar = ({}: {}): JSX.Element => {
const shortcuts = useShortcutsStore((state) => state.shortcuts);
@@ -51,6 +53,12 @@ export const MenuBar = ({}: {}): JSX.Element => {
const onFlowPage = useFlowStore((state) => state.onFlowPage);
const setCurrentFlow = useFlowsManagerStore((state) => state.setCurrentFlow);
const stopBuilding = useFlowStore((state) => state.stopBuilding);
+ const { data: folders } = useGetFoldersQuery();
+
+ const currentFolder = useMemo(
+ () => folders?.find((f) => f.id === currentFlow?.folder_id),
+ [folders, currentFlow?.folder_id],
+ );
const changesNotSaved =
customStringify(currentFlow) !== customStringify(currentSavedFlow);
@@ -102,23 +110,37 @@ export const MenuBar = ({}: {}): JSX.Element => {
return currentFlow && onFlowPage ? (
+ {currentFolder?.name && (
+ <>
+
{
+ navigate("/");
+ }}
+ >
+ {currentFolder?.name}
+
+
/
+ >
+ )}
-