diff --git a/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.html b/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.html
index cb3014bd..f6fd51e1 100644
--- a/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.html
+++ b/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.html
@@ -1,9 +1,11 @@
@if (clientId() && agentId()) {
@@ -88,6 +90,14 @@
Ver
}
+
+
+
@if (visibleTabs().length > 0) {
diff --git a/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.scss b/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.scss
index d96e543b..9b268e66 100644
--- a/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.scss
+++ b/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.scss
@@ -25,7 +25,8 @@
.file-tree-sidebar {
flex: 0 0 300px;
- min-width: 0;
+ min-width: 150px;
+ max-width: 600px;
min-height: 0;
overflow: hidden;
background-color: var(--bs-body-bg);
@@ -53,6 +54,34 @@
}
}
+.resize-handle {
+ flex: 0 0 4px;
+ cursor: col-resize;
+ background-color: transparent;
+ position: relative;
+ z-index: 10;
+ transition: background-color 0.15s ease-in-out;
+
+ &::after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: -2px;
+ right: -2px;
+ z-index: 10;
+ }
+
+ &:hover,
+ &:active {
+ background-color: var(--bs-primary);
+ }
+
+ @media (max-width: 767.98px) {
+ display: none !important;
+ }
+}
+
.file-tree-wrapper {
min-height: 0;
overflow: hidden;
diff --git a/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.ts b/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.ts
index deca1ec6..ee531129 100644
--- a/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.ts
+++ b/libs/domains/framework/frontend/feature-agent-console/src/lib/file-editor/file-editor.component.ts
@@ -8,6 +8,7 @@ import {
ElementRef,
inject,
input,
+ NgZone,
OnDestroy,
output,
signal,
@@ -57,11 +58,13 @@ export class FileEditorComponent implements OnDestroy, AfterViewInit {
private readonly destroyRef = inject(DestroyRef);
private readonly actions$ = inject(Actions);
private readonly location = inject(Location);
+ private readonly ngZone = inject(NgZone);
@ViewChild('tabsContainer', { static: false }) tabsContainerRef?: ElementRef;
@ViewChild('tabsWrapper', { static: false }) tabsWrapperRef?: ElementRef;
@ViewChild('fileUpdateModal', { static: false }) fileUpdateModalRef?: ElementRef;
@ViewChild('saveOverrideModal', { static: false }) saveOverrideModalRef?: ElementRef;
+ @ViewChild('fileTreeSidebar', { static: false }) fileTreeSidebarRef?: ElementRef;
// Inputs
clientId = input.required();
@@ -99,6 +102,15 @@ export class FileEditorComponent implements OnDestroy, AfterViewInit {
// Track files we just saved to ignore our own notifications: filePath -> timestamp when saved
private readonly recentlySavedFiles = signal