-
+
+
+
+
+
+
+
+
-
-
-
diff --git a/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.scss b/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.scss
index f63638f7..50e0845a 100644
--- a/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.scss
+++ b/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.scss
@@ -15,12 +15,14 @@
// SPDX-License-Identifier: Apache-2.0
:host {
- width: 260px;
- height: calc(100% - 20px);
+ height: 100%;
}
.sidenav-wrapper {
padding: 0 12px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
.switch {
display: flex;
@@ -53,4 +55,35 @@
.sidenav-items-wrapper {
margin-top: 10px;
}
+
+ .sidebar-toggle {
+ flex-shrink: 0;
+ display: flex;
+ align-items: center;
+ padding: 6px;
+ cursor: pointer;
+ transition: background-color 0.3s ease;
+
+ &:hover {
+ background-color: rgba(0, 0, 0, 0.04);
+ }
+
+ mat-icon {
+ margin-right: 8px;
+ color: var(--foregrounds-750);
+ }
+
+ span {
+ font-size: 14px;
+ transition: opacity 0.3s ease;
+ color: var(--foregrounds-750);
+ }
+ }
+}
+
+.text-container {
+ width: 180px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
diff --git a/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.ts b/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.ts
index a85233b5..4edd013a 100644
--- a/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.ts
+++ b/frontend/src/app/modules/shared/components/ms-sidenav/ms-sidenav.component.ts
@@ -14,7 +14,8 @@
// SPDX-License-Identifier: Apache-2.0
-import { Component, OnInit } from '@angular/core';
+import { animate, state, style, transition, trigger } from '@angular/animations';
+import { Component, OnInit, Renderer2 } from '@angular/core';
import { Router } from '@angular/router';
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
import { ConfigActions } from '../../../../state/core/configs/configs.actions';
@@ -28,16 +29,29 @@ import { ConfigsFacadeService } from '../../../core/services/configs-facade.serv
@Component({
selector: 'ms-sidenav',
templateUrl: './ms-sidenav.component.html',
- styleUrls: ['./ms-sidenav.component.scss']
+ styleUrls: ['./ms-sidenav.component.scss'],
+ animations: [
+ trigger('expandCollapse', [
+ state('expanded', style({ width: '230px' })),
+ state('collapsed', style({ width: '40px' })),
+ transition('expanded <=> collapsed', animate('300ms ease-in-out'))
+ ]),
+ trigger('fadeInOut', [
+ transition(':enter', [style({ opacity: 0 }), animate('300ms ease-in-out', style({ opacity: 1 }))]),
+ transition(':leave', [animate('300ms ease-in-out', style({ opacity: 0 }))])
+ ])
+ ]
})
export class MsSidenavComponent implements OnInit {
readonly SidenavConstants = SidenavConstants;
readonly Modes = AppModes;
currentMode: AppModes | undefined;
+ isExpanded = true;
constructor(
private router: Router,
- private configFacadeService: ConfigsFacadeService
+ private configFacadeService: ConfigsFacadeService,
+ private renderer: Renderer2
) {}
ngOnInit(): void {
@@ -63,4 +77,9 @@ export class MsSidenavComponent implements OnInit {
trackByRoute(_: number, item: SidenavItem): string {
return item.route;
}
+
+ // New method to toggle sidebar expansion
+ toggleSidebar(): void {
+ this.isExpanded = !this.isExpanded;
+ }
}
diff --git a/frontend/src/app/modules/shared/standalone/ms-terminal/ms-terminal.component.ts b/frontend/src/app/modules/shared/standalone/ms-terminal/ms-terminal.component.ts
index 92fb1fdd..a23e4a0f 100644
--- a/frontend/src/app/modules/shared/standalone/ms-terminal/ms-terminal.component.ts
+++ b/frontend/src/app/modules/shared/standalone/ms-terminal/ms-terminal.component.ts
@@ -142,8 +142,6 @@ export class MsTerminalComponent implements OnInit, AfterViewInit, OnDestroy {
break;
}
- this.logMessageWithControlChars(message.data);
-
let formattedData = message.data;
if (formattedData.endsWith('\n')) {
formattedData = formattedData.slice(0, -1);