diff --git a/.changeset/fn-6819-sidebar-footer-clearance.md b/.changeset/fn-6819-sidebar-footer-clearance.md
new file mode 100644
index 0000000000..5758d00f30
--- /dev/null
+++ b/.changeset/fn-6819-sidebar-footer-clearance.md
@@ -0,0 +1,5 @@
+---
+"@runfusion/fusion": patch
+---
+
+Fix the experimental left sidebar Settings button so it remains clear of the fixed executor status footer, and keep project-selector fallback labels readable when translations are incomplete.
diff --git a/packages/dashboard/app/App.tsx b/packages/dashboard/app/App.tsx
index fed57307fd..b6c4f87b6d 100644
--- a/packages/dashboard/app/App.tsx
+++ b/packages/dashboard/app/App.tsx
@@ -1036,7 +1036,8 @@ function AppInner() {
Experimental left sidebar navigation replaces the Header view shortcuts with a persistent sidebar on non-mobile project screens, while mobile continues to use the bottom navigation bar as the only primary navigation surface.
*/
const leftSidebarNavEnabled = experimentalFeatures.leftSidebarNav === true;
- const sidebarActive = leftSidebarNavEnabled && !isMobile && viewMode === "project" && !!currentProject;
+ const executorFooterVisible = viewMode === "project" && !!currentProject;
+ const sidebarActive = leftSidebarNavEnabled && !isMobile && executorFooterVisible;
const agentOnboardingEnabled = experimentalFeatures.agentOnboarding === true;
const agentsEnabled = true;
@@ -2136,15 +2137,16 @@ function AppInner() {
currentProject={currentProject}
onSelectProject={handleSelectProject}
onViewAllProjects={handleViewAllProjects}
+ footerVisible={executorFooterVisible}
/>
)}
{renderMainContent()}
- {viewMode === "project" && currentProject && (
+ {executorFooterVisible && currentProject && (
0 ? remoteData.tasks : tasks}
projectId={currentProject.id}
diff --git a/packages/dashboard/app/components/LeftSidebarNav.css b/packages/dashboard/app/components/LeftSidebarNav.css
index 04edbcc453..064dd9f7d8 100644
--- a/packages/dashboard/app/components/LeftSidebarNav.css
+++ b/packages/dashboard/app/components/LeftSidebarNav.css
@@ -8,6 +8,7 @@ The experimental sidebar is a persistent desktop/tablet navigation replacement f
position: relative;
display: flex;
flex-direction: column;
+ box-sizing: border-box;
width: var(--left-sidebar-nav-width);
min-width: var(--left-sidebar-nav-width);
min-height: 0;
@@ -16,6 +17,14 @@ The experimental sidebar is a persistent desktop/tablet navigation replacement f
color: var(--text);
}
+/*
+FNXC:Navigation 2026-06-20-00:00:
+The left sidebar is a sibling of project-content, so it does not inherit project-content footer padding. When the fixed executor status bar is rendered, reserve the shared --executor-footer-height on the aside so the bottom Settings button remains visible and clickable above the footer.
+*/
+.left-sidebar-nav--with-footer {
+ padding-bottom: var(--executor-footer-height);
+}
+
.left-sidebar-nav__collapse-toggle {
flex-shrink: 0;
}
diff --git a/packages/dashboard/app/components/LeftSidebarNav.tsx b/packages/dashboard/app/components/LeftSidebarNav.tsx
index b2272e60d3..4f4daf30da 100644
--- a/packages/dashboard/app/components/LeftSidebarNav.tsx
+++ b/packages/dashboard/app/components/LeftSidebarNav.tsx
@@ -115,6 +115,7 @@ export interface LeftSidebarNavProps {
currentProject?: ProjectInfo | null;
onSelectProject?: (project: ProjectInfo) => void;
onViewAllProjects?: () => void;
+ footerVisible?: boolean;
}
function formatCount(count: number): string {
@@ -160,6 +161,7 @@ export function LeftSidebarNav({
pluginDashboardViews = [],
showAgentsTab = false,
showSkillsTab = false,
+ footerVisible = false,
}: LeftSidebarNavProps) {
const { t } = useTranslation("app");
const [sidebarWidth, setSidebarWidth] = useState(readStoredSidebarWidth);
@@ -390,7 +392,7 @@ export function LeftSidebarNav({
return (