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