refactor: 调整媒体库网格视图的滚动与布局结构
This commit is contained in:
parent
e87c927a09
commit
0df086a7f4
|
|
@ -67,28 +67,30 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid" *ngIf="view === 'grid'">
|
||||
<div class="card" *ngFor="let file of filteredFiles; trackBy: trackByName" [class.selected]="isSelected(filePath(file))">
|
||||
<input type="checkbox" class="card-check" [checked]="isSelected(filePath(file))" (change)="toggleSelect(filePath(file), $event.target.checked)" [attr.aria-label]="'选择 ' + file.name">
|
||||
<div class="thumb clickable" (click)="play.emit(file)">
|
||||
<img [src]="thumbUrl(file)" [alt]="file.name" loading="lazy">
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="card-title clickable" [title]="file.name" (click)="play.emit(file)">{{ file.name }}</div>
|
||||
<div class="card-meta">
|
||||
<span class="num">{{ file.size | fileSize }}</span>
|
||||
<span>{{ fileTime(file) }}</span>
|
||||
<div class="grid-wrap" *ngIf="view === 'grid'">
|
||||
<div class="grid">
|
||||
<div class="card" *ngFor="let file of filteredFiles; trackBy: trackByName" [class.selected]="isSelected(filePath(file))">
|
||||
<input type="checkbox" class="card-check" [checked]="isSelected(filePath(file))" (change)="toggleSelect(filePath(file), $event.target.checked)" [attr.aria-label]="'选择 ' + file.name">
|
||||
<div class="thumb clickable" (click)="play.emit(file)">
|
||||
<img [src]="thumbUrl(file)" [alt]="file.name" loading="lazy">
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<a *ngIf="file.meta?.url" class="icon-btn neutral" [href]="file.meta?.url" target="_blank" rel="noopener noreferrer" title="打开原始页面" aria-label="打开原始页面">
|
||||
<fa-icon [icon]="faExternalLinkAlt"></fa-icon>
|
||||
</a>
|
||||
<button type="button" class="icon-btn neutral" (click)="play.emit(file)" title="在线播放" aria-label="在线播放">
|
||||
<fa-icon [icon]="faPlay"></fa-icon>
|
||||
</button>
|
||||
<button type="button" class="icon-btn" (click)="del.emit(file)" title="删除" aria-label="删除">
|
||||
<fa-icon [icon]="faTrashAlt"></fa-icon>
|
||||
</button>
|
||||
<div class="card-body">
|
||||
<div class="card-title clickable" [title]="file.name" (click)="play.emit(file)">{{ file.name }}</div>
|
||||
<div class="card-meta">
|
||||
<span class="num">{{ file.size | fileSize }}</span>
|
||||
<span>{{ fileTime(file) }}</span>
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<a *ngIf="file.meta?.url" class="icon-btn neutral" [href]="file.meta?.url" target="_blank" rel="noopener noreferrer" title="打开原始页面" aria-label="打开原始页面">
|
||||
<fa-icon [icon]="faExternalLinkAlt"></fa-icon>
|
||||
</a>
|
||||
<button type="button" class="icon-btn neutral" (click)="play.emit(file)" title="在线播放" aria-label="在线播放">
|
||||
<fa-icon [icon]="faPlay"></fa-icon>
|
||||
</button>
|
||||
<button type="button" class="icon-btn" (click)="del.emit(file)" title="删除" aria-label="删除">
|
||||
<fa-icon [icon]="faTrashAlt"></fa-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -252,11 +252,13 @@
|
|||
gap: 2px
|
||||
|
||||
// Grid view
|
||||
.grid
|
||||
.grid-wrap
|
||||
flex: 1
|
||||
min-height: 0
|
||||
overflow-y: auto
|
||||
padding: 14px
|
||||
|
||||
.grid
|
||||
display: grid
|
||||
grid-template-columns: repeat(auto-fill, minmax(218px, 1fr))
|
||||
gap: 14px
|
||||
|
|
|
|||
Loading…
Reference in New Issue