Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Commit 4d3f40e

Browse files
필터링 기능 자연스럽게 수정
1 parent ef2254d commit 4d3f40e

File tree

1 file changed

+48
-9
lines changed

1 file changed

+48
-9
lines changed

src/app/components/api-docs/api-docs.component.ts

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,25 @@ import { AdminService, ApiDoc } from '../../services/admin.service';
4949
</div>
5050
5151
<div class="w-full md:w-48">
52-
<mat-form-field appearance="outline" class="w-full">
53-
<mat-label>파일 필터</mat-label>
54-
<mat-select [(value)]="selectedFile" (selectionChange)="filterApis()">
55-
<mat-option value="">모든 파일</mat-option>
56-
<mat-option *ngFor="let file of getUniqueFiles()" [value]="file">
57-
{{ file }}
58-
</mat-option>
59-
</mat-select>
60-
</mat-form-field>
52+
<div class="relative">
53+
<mat-form-field appearance="outline" class="w-full filter-field">
54+
<mat-label>경로 필터</mat-label>
55+
<mat-select [(value)]="selectedFile" (selectionChange)="filterApis()" class="custom-select">
56+
<mat-option value="" class="filter-option">
57+
<div class="flex items-center gap-2">
58+
<mat-icon class="w-4 h-4 text-md-sys-color-on-surface-variant">select_all</mat-icon>
59+
<span>모든 경로</span>
60+
</div>
61+
</mat-option>
62+
<mat-option *ngFor="let file of getUniqueFiles()" [value]="file" class="filter-option">
63+
<div class="flex items-center gap-2">
64+
<mat-icon class="w-4 h-4 text-md-sys-color-primary">description</mat-icon>
65+
<span class="font-mono text-sm">{{ file }}</span>
66+
</div>
67+
</mat-option>
68+
</mat-select>
69+
</mat-form-field>
70+
</div>
6171
</div>
6272
</div>
6373
@@ -236,6 +246,35 @@ import { AdminService, ApiDoc } from '../../services/admin.service';
236246
input:focus {
237247
box-shadow: 0 0 0 2px var(--md-sys-color-primary);
238248
}
249+
250+
.filter-field .mat-mdc-form-field-flex {
251+
border-radius: 12px;
252+
transition: all 0.3s ease;
253+
}
254+
255+
.filter-field:hover .mat-mdc-form-field-flex {
256+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
257+
}
258+
259+
.filter-field.mat-focused .mat-mdc-form-field-flex {
260+
box-shadow: 0 0 0 2px var(--md-sys-color-primary);
261+
}
262+
263+
.filter-option {
264+
padding: 12px 16px !important;
265+
min-height: 48px !important;
266+
transition: background-color 0.2s ease;
267+
}
268+
269+
.filter-option:hover {
270+
background-color: var(--md-sys-color-surface-container-high) !important;
271+
}
272+
273+
.custom-select .mat-mdc-select-value {
274+
display: flex;
275+
align-items: center;
276+
gap: 8px;
277+
}
239278
`]
240279
})
241280
export class ApiDocsComponent implements OnInit {

0 commit comments

Comments
 (0)