discourse/app/assets/javascripts/admin/addon/templates/backups-index.hbs
Ella E. 98a3e7d6e2
UX: Consistent styling for admin tables on mobile (#29360)
* UX: Apply admin table classes for consistent mobile styling on custom flags

* UX: Apply admin table classes for consistent mobile styling on custom flags

* UX: Apply admin table classes for consistent mobile styling on backups

* UX: Apply admin table classes for consistent mobile styling on plugins list

* DEV: tweaks on admin table

* UX: Apply admin table classes for consistent mobile styling on chat plugin

* apply prettier

* apply lint

* DEV: removed commented out code

* DEV: removed unnecessary div element

* scroll to the element

* remove the workaround

* revert

* add an extra assertion

* add enabled check

* improve switching

* rm

---------

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2024-10-23 16:26:21 -06:00

106 lines
3.4 KiB
Handlebars

<AdminPageSubheader @titleLabel="admin.backups.files_title">
<:actions as |actions|>
<actions.Wrapped as |wrapped|>
{{#if this.localBackupStorage}}
<UppyBackupUploader
class={{wrapped.buttonClass}}
@done={{route-action "uploadSuccess"}}
@localBackupStorage={{this.localBackupStorage}}
/>
{{else}}
<UppyBackupUploader
class={{wrapped.buttonClass}}
@done={{route-action "remoteUploadSuccess"}}
/>
{{/if}}
</actions.Wrapped>
</:actions>
</AdminPageSubheader>
{{#if this.status.restoreDisabled}}
<div class="backup-message alert alert-info">
{{dIcon "circle-info"}}
{{html-safe
(i18n
"admin.backups.operations.restore.is_disabled"
url=this.restoreSettingsUrl
)
}}
</div>
{{/if}}
<table class="d-admin-table admin-backups-list">
<thead>
<th>{{i18n "admin.backups.columns.filename"}}</th>
<th>{{i18n "admin.backups.columns.size"}}</th>
<th></th>
</thead>
<tbody>
{{#each this.model as |backup|}}
<tr
class="d-admin-row__content backup-item-row"
data-backup-filename={{backup.filename}}
>
<td class="d-admin-row__detail">
<div class="backup-filename">
{{backup.filename}}
</div>
</td>
<td class="d-admin-row__detail backup-size">
<div class="d-admin-row__mobile-label">
{{i18n "admin.backups.columns.size"}}
</div>
{{human-size backup.size}}
</td>
<td class="d-admin-row__controls backup-controls">
<div class="d-admin-row__controls-options">
<DButton
@action={{fn this.download backup}}
@title="admin.backups.operations.download.title"
@label="admin.backups.operations.download.label"
class="btn-default btn-small backup-item-row__download"
/>
<DMenu
@identifier="backup-item-menu"
@title={{i18n "more_options"}}
@icon="ellipsis-vertical"
class="btn-small"
>
<:content>
<DropdownMenu as |dropdown|>
<dropdown.item>
<DButton
@icon="trash-can"
@action={{fn (route-action "destroyBackup") backup}}
@disabled={{this.status.isOperationRunning}}
@title={{this.deleteTitle}}
@label="admin.backups.operations.destroy.title"
class="btn-transparent btn-danger backup-item-row__delete"
/>
</dropdown.item>
<dropdown.item>
<DButton
@icon="play"
@action={{fn (route-action "startRestore") backup}}
@disabled={{this.status.restoreDisabled}}
@title={{this.restoreTitle}}
@label="admin.backups.operations.restore.label"
class="btn-transparent backup-item-row__restore"
/>
</dropdown.item>
</DropdownMenu>
</:content>
</DMenu>
</div>
</td>
</tr>
{{else}}
<tr>
<td>{{i18n "admin.backups.none"}}</td>
<td></td>
<td></td>
</tr>
{{/each}}
</tbody>
</table>