135 lines
4.9 KiB
Plaintext
135 lines
4.9 KiB
Plaintext
<div class="box">
|
|
<h1 class="title is-1 has-text-centered mb-6"><%= l('My files') %></h1>
|
|
|
|
<div class="message is-info">
|
|
<div class="message-body">
|
|
<%= l('Only the files sent with this browser will be listed here. If you delete your browser data you will lose this list.') %><br>
|
|
<%= l('Rows in red mean that the files have expired and are no longer available.') %>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
<button id="action-delete-selection" type="button" class="button is-danger" disabled="disabled">
|
|
<span class="icon-text">
|
|
<span class="icon fas fa-trash"></span>
|
|
<span><%= l('Delete selected files') %></span>
|
|
</span>
|
|
</button>
|
|
|
|
<button id="action-purge-expired" type="button" class="button">
|
|
<span class="icon-text">
|
|
<span class="icon fas fa-recycle"></span>
|
|
<span><%= l('Purge expired files') %></span>
|
|
</span>
|
|
</button>
|
|
</div>
|
|
|
|
<div class="table-container">
|
|
<table class="table is-stripped is-hoverable">
|
|
<thead>
|
|
<tr>
|
|
<th class="has-text-centered">
|
|
<div><%= l('Selection') %></div>
|
|
<div class="checkbox">
|
|
<input type="checkbox" id="action-select-all">
|
|
</div>
|
|
</th>
|
|
<th class="has-text-centered"><%= l('File name') %></th>
|
|
<th class="has-text-centered"><%= l('Access nb') %></th>
|
|
<th class="has-text-centered"><%= l('Delete at first download?') %></th>
|
|
<th class="has-text-centered"><%= l('Uploaded at') %></th>
|
|
<th class="has-text-centered"><%= l('Expires at') %></th>
|
|
<th class="has-text-centered"><%= l('Download link') %></th>
|
|
<th class="has-text-centered"><%= l('Share link') %></th>
|
|
<th class="has-text-centered"><%= l('Deletion link') %></th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody id="items-table"></tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="buttons">
|
|
<a id="action-export-storage" href="#" class="button">
|
|
<span class="icon-text">
|
|
<span class="icon fas fa-download"></span>
|
|
<span><%= l('Export local data') %></span>
|
|
</span>
|
|
</a>
|
|
|
|
<div class="file">
|
|
<label class="file-label">
|
|
<input id="action-import-storage" type="file" class="file-input" name="import-local-data">
|
|
<span class="file-cta">
|
|
<span class="file-icon">
|
|
<span class="fas fa-upload"></span>
|
|
</span>
|
|
<span class="file-label">
|
|
<%= l('Import local data') %>
|
|
</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<template id="item">
|
|
<tr class="item">
|
|
<td class="selection is-vcentered has-text-centered">
|
|
<div class="checkbox input-delete-on-first-view">
|
|
<input type="checkbox" autocomplete="off" aria-label="Select">
|
|
</div>
|
|
</td>
|
|
<td class="name is-vcentered"></td>
|
|
<td class="counter is-vcentered"></td>
|
|
<td class="delete-at-first-view is-vcentered has-text-centered">
|
|
<span class="icon fas"></span>
|
|
</td>
|
|
<td class="created-at is-vcentered"></td>
|
|
<td class="expires-at is-vcentered"></td>
|
|
<td class="download is-vcentered">
|
|
<a title="<%= l('Download') %>" href="#">
|
|
<span class="icon-text is-justify-content-center">
|
|
<span class="icon fas fa-download" aria-hidden="true"></span>
|
|
<span><%= l('Download') %></span>
|
|
</span>
|
|
</a>
|
|
</td>
|
|
<td class="mail is-vcentered">
|
|
<a title="<%= l('Mail') %>" href="#">
|
|
<span class="icon-text is-justify-content-center">
|
|
<span class="icon fas fa-envelope" aria-hidden="true"></span>
|
|
<span><%= l('Share') %></span>
|
|
</span>
|
|
</a>
|
|
</td>
|
|
<td class="deletion is-vcentered">
|
|
<a class="action-delete-item" title="<%= l('Delete') %>" href="#">
|
|
<span class="icon-text is-justify-content-center">
|
|
<span class="icon fas fa-trash" aria-hidden="true"></span>
|
|
<span><%= l('Delete') %></span>
|
|
</span>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</template>
|
|
|
|
<script type="text/javascript">
|
|
% if (defined($self->config('fixed_domain')) && $self->config('fixed_domain')) {
|
|
const baseURL = '<%= url_for('/')->host($self->config('fixed_domain'))->to_abs() %>';
|
|
% } else {
|
|
const baseURL = '<%= url_for('/')->to_abs() %>';
|
|
% }
|
|
|
|
const actionURL = '<%= url_for('/')->to_abs() %>';
|
|
const counterURL = '<%== url_for('counter') %>';
|
|
|
|
const i18n = {
|
|
noExpiration: '<%= l('No expiration delay') %>',
|
|
importProcessed: '<%= l('The data has been successfully imported.') %>',
|
|
importFilesWithoutPrefix: "<%= l('Lufi recently changed its way to store files information.\n\nNo files have been found in the new localStorage location but we found files in the old one.\nDo you want to import those informations?\n\nPlease note that this is the only time that we will ask you this.') %>",
|
|
};
|
|
</script>
|
|
%= javascript '/js/minified/files.min.js', type => "module", defer => "true"
|