Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit c597ae3

Browse files
committedMar 21, 2023
feat(code-review): file explorer adaptivity
1 parent 7b3f024 commit c597ae3

8 files changed

+76
-18
lines changed
 

‎.lintstagedrc

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
{
2-
"**/*.html": ["npx prettier **/*.html --write", "git add"],
2+
"**/*.html": ["npx prettier **/*.html --write"],
33
"**/*.scss": [
44
"npx prettier **/*.scss --write",
5-
"stylelint --fix",
6-
"git add"
5+
"stylelint --fix"
76
],
87
"**/*.ts": [
98
"npx prettier **/*.ts --write",
10-
"eslint **/*.ts --fix",
11-
"git add"
9+
"eslint **/*.ts --fix"
1210
]
1311
}

‎apps/code-review/src/app/pages/overview/components/header/header.component.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<button mat-icon-button class="btn-menu">
1+
<button mat-icon-button class="btn-menu" (click)="toggleFileExplorer.emit()">
22
<mat-icon class="btn-menu-icon">menu</mat-icon>
33
</button>
44

‎apps/code-review/src/app/pages/overview/components/header/header.component.scss

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
.block-request {
3131
width: 300px;
3232
height: 53px;
33-
z-index: 1;
33+
z-index: 10;
3434

3535
.panel-request {
3636
background-color: #212121;

‎apps/code-review/src/app/pages/overview/components/header/header.component.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
import { ChangeDetectionStrategy, Component } from '@angular/core';
1+
import {
2+
ChangeDetectionStrategy,
3+
Component,
4+
Output,
5+
EventEmitter
6+
} from '@angular/core';
27
import { DeviceDetectorService } from 'ngx-device-detector';
38
import { MatDialog } from '@angular/material/dialog';
49
import { ReviewRequestDetailsWindowComponent } from './review-request-details-window';
@@ -12,6 +17,8 @@ import { ReviewRequestDetailsWindowComponent } from './review-request-details-wi
1217
export class HeaderComponent {
1318
public readonly isMobile = this.deviceService.isMobile();
1419

20+
@Output() public toggleFileExplorer = new EventEmitter<boolean>();
21+
1522
constructor(
1623
private readonly deviceService: DeviceDetectorService,
1724
private readonly dialog: MatDialog
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,38 @@
1-
<acua-header class="header"></acua-header>
1+
<acua-header
2+
class="header"
3+
(toggleFileExplorer)="toggleFileExplorer()"
4+
></acua-header>
25

3-
<div class="container">
4-
<acua-file-explorer
5-
[tree]="tree"
6-
class="file-explorer"
7-
(fileSelected)="onFileSelected($event)"
8-
></acua-file-explorer>
6+
<mat-drawer-container class="container">
7+
<mat-drawer
8+
mode="side"
9+
class="mat-drawer-desktop"
10+
*ngIf="!isMobile"
11+
[opened]="isFileExplorerOpenDesktop"
12+
>
13+
<acua-file-explorer
14+
[tree]="tree"
15+
class="file-explorer"
16+
(fileSelected)="onFileSelected($event)"
17+
></acua-file-explorer>
18+
</mat-drawer>
19+
<mat-drawer-content>
20+
<acua-code-editor class="code-editor"></acua-code-editor>
21+
</mat-drawer-content>
922

10-
<acua-code-editor class="code-editor"></acua-code-editor>
11-
</div>
23+
<mat-drawer
24+
mode="over"
25+
class="mat-drawer-mobile"
26+
*ngIf="isMobile"
27+
[opened]="isFileExplorerOpenMobile"
28+
>
29+
<acua-file-explorer
30+
[tree]="tree"
31+
class="file-explorer"
32+
(fileSelected)="onFileSelected($event)"
33+
></acua-file-explorer>
34+
</mat-drawer>
35+
<mat-drawer-content>
36+
<acua-code-editor class="code-editor"></acua-code-editor>
37+
</mat-drawer-content>
38+
</mat-drawer-container>

‎apps/code-review/src/app/pages/overview/overview.component.scss

+14-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,20 @@
1111
}
1212

1313
.container {
14-
display: flex;
1514
flex: 1;
1615
overflow: hidden;
16+
17+
mat-drawer {
18+
background-color: #202327;
19+
border: 0;
20+
}
21+
22+
.mat-drawer-desktop {
23+
min-width: 15%;
24+
resize: horizontal;
25+
}
26+
27+
.mat-drawer-mobile {
28+
width: 75%;
29+
}
1730
}

‎apps/code-review/src/app/pages/overview/overview.component.ts

+11
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { MonacoTreeFileNode } from '@code-review/shared';
88
import { CodeEditorComponent } from './components';
99
import { SOURCE_CODE_PROVIDER } from './providers';
1010
import { SOURCE_CODE } from './tokens';
11+
import { DeviceDetectorService } from 'ngx-device-detector';
1112

1213
@Component({
1314
selector: 'acua-overview',
@@ -18,11 +19,21 @@ import { SOURCE_CODE } from './tokens';
1819
})
1920
export class OverviewComponent {
2021
public tree = inject(SOURCE_CODE);
22+
public readonly isMobile = this.deviceService.isMobile();
23+
public isFileExplorerOpenMobile = false;
24+
public isFileExplorerOpenDesktop = true;
2125

2226
@ViewChild(CodeEditorComponent)
2327
private readonly codeEditor!: CodeEditorComponent;
2428

29+
constructor(private readonly deviceService: DeviceDetectorService) {}
30+
2531
public onFileSelected(node: MonacoTreeFileNode): void {
2632
this.codeEditor.openFile(node.fullPath, node.content);
2733
}
34+
35+
public toggleFileExplorer(): void {
36+
this.isFileExplorerOpenMobile = !this.isFileExplorerOpenMobile;
37+
this.isFileExplorerOpenDesktop = !this.isFileExplorerOpenDesktop;
38+
}
2839
}

‎apps/code-review/src/app/pages/overview/overview.module.ts

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
FileExplorerModule,
77
HeaderModule
88
} from './components';
9+
import { MatSidenavModule } from '@angular/material/sidenav';
910
import { OverviewComponent } from './overview.component';
1011
import { OVERVIEW_ROUTES } from './overview.routes';
1112
import {
@@ -22,6 +23,7 @@ import { ReviewRequestCommentsState } from './states';
2223
FileExplorerModule,
2324
HeaderModule,
2425
CodeEditorModule,
26+
MatSidenavModule,
2527
RouterModule.forChild(OVERVIEW_ROUTES)
2628
],
2729
providers: [

0 commit comments

Comments
 (0)
Please sign in to comment.