@@ -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} )
241280export class ApiDocsComponent implements OnInit {
0 commit comments