mbkbucket 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,40 @@
1
+ <!-- Delete Confirmation Modal -->
2
+ <div class="modal" id="deleteModal" tabindex="-1" aria-labelledby="deleteModalLabel" aria-hidden="true">
3
+ <div class="modal-dialog">
4
+ <div class="modal-content">
5
+ <div class="modal-header">
6
+ <h5 class="modal-title" id="deleteModalLabel">
7
+ <i class="fas fa-exclamation-triangle"></i>
8
+ Confirm Delete
9
+ </h5>
10
+ <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"
11
+ onclick="closeModal()">&times;</button>
12
+ </div>
13
+ <div class="modal-body">
14
+ <i class="fas fa-trash-alt fa-3x"></i>
15
+ <h6>Are you sure you want to delete this file?</h6>
16
+ <p class="modal-body-text-style">
17
+ <strong id="deleteFileName" style="color: var(--dark-color-ml);"></strong>
18
+ </p>
19
+ <p class="modal-body-text-top">
20
+ <small>This action cannot be undone.</small>
21
+ </p>
22
+ </div>
23
+ <div class="modal-footer">
24
+ <button type="button" class="btn btn-secondary" onclick="closeModal()">
25
+ <i class="fas fa-times"></i>
26
+ Cancel
27
+ </button>
28
+ <form id="deleteForm" method="post" action="/mbkbucket/delete" style="display: inline;">
29
+ <input type="hidden" name="key" id="deleteKey">
30
+ <input type="hidden" name="prefix" value="{{prefix}}">
31
+ <input type="hidden" name="folder" id="deleteIsFolder" value="">
32
+ <button type="submit" class="btn btn-danger" id="deleteConfirmButton">
33
+ <i class="fas fa-trash"></i>
34
+ <span id="deleteConfirmLabel">Delete File</span>
35
+ </button>
36
+ </form>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="table-responsive" aria-label="Loading files" aria-busy="true">
2
+ <div class="skeleton-row">
3
+ <div class="skeleton-box s-40"></div>
4
+ <div class="skeleton-box s-200"></div>
5
+ <div class="skeleton-box s-80"></div>
6
+ <div class="skeleton-box s-200"></div>
7
+ </div>
8
+ <div class="skeleton-row">
9
+ <div class="skeleton-box s-40"></div>
10
+ <div class="skeleton-box s-200"></div>
11
+ <div class="skeleton-box s-80"></div>
12
+ <div class="skeleton-box s-200"></div>
13
+ </div>
14
+ <div class="skeleton-row">
15
+ <div class="skeleton-box s-40"></div>
16
+ <div class="skeleton-box s-200"></div>
17
+ <div class="skeleton-box s-80"></div>
18
+ <div class="skeleton-box s-200"></div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,33 @@
1
+ <!-- Preview Modal -->
2
+ <div class="modal" id="previewModal" role="dialog" aria-modal="true" aria-labelledby="previewModalLabel" tabindex="-1">
3
+ <div class="modal-dialog preview-modal-dialog" role="document">
4
+ <div class="modal-content">
5
+ <div class="modal-header">
6
+ <h5 class="modal-title" id="previewModalLabel"><i class="fas fa-eye"></i> <span
7
+ id="previewFileName">Preview</span></h5>
8
+ <div class="preview-header-controls">
9
+ <button id="previewFullscreenBtn" class="btn btn-outline-secondary btn-sm" type="button"
10
+ aria-label="Toggle fullscreen"><i class="fas fa-expand"></i></button>
11
+ <button type="button" class="btn-close" aria-label="Close preview" id="previewCloseBtn">&times;</button>
12
+ </div>
13
+ </div>
14
+ <div class="modal-body">
15
+ <div class="preview-content" id="previewContent" aria-live="polite">
16
+ <div class="empty-preview">
17
+ <i class="fas fa-spinner fa-spin"></i>
18
+ <div class="modal-header-spacing">Loading preview...</div>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ <div class="modal-footer preview-footer">
23
+ <div class="preview-actions">
24
+ <a id="previewOpenBtn" class="btn btn-outline-secondary" target="_blank" rel="noopener noreferrer" href="#"><i
25
+ class="fas fa-external-link-alt"></i> Open</a>
26
+ <a id="previewDownloadBtn" class="btn btn-success" download href="#"><i class="fas fa-download"></i>
27
+ Download</a>
28
+ <button type="button" class="btn btn-secondary" id="previewCloseFooter">Close</button>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
@@ -13,7 +13,7 @@
13
13
  <p id="filterInfo">Loading file information...</p>
14
14
  </div>
15
15
  <div style="margin-left: auto;">
16
- <span style="background:rgba(255,255,255,0.2); padding:0.35rem 0.75rem; border-radius:0.5rem; font-size:0.85rem; font-weight:600; color:white; letter-spacing:0.02em;">
16
+ <span class="stats-bucket-badge">
17
17
  <i class="fas fa-database" style="margin-right:0.4rem;"></i>{{bucketvar}}
18
18
  </span>
19
19
  </div>
@@ -21,21 +21,7 @@
21
21
  </div>
22
22
  </div>
23
23
 
24
- {{#if message}}
25
- <div class="alert alert-success alert-dismissible fade show" role="alert" id="successAlert">
26
- <i class="fas fa-check-circle"></i>
27
- <span id="successMessage">{{message}}</span>
28
- <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">&times;</button>
29
- </div>
30
- {{/if}}
31
-
32
- {{#if error}}
33
- <div class="alert alert-danger alert-dismissible fade show" role="alert" id="errorAlert">
34
- <i class="fas fa-exclamation-triangle"></i>
35
- <span id="errorMessage">{{error}}</span>
36
- <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">&times;</button>
37
- </div>
38
- {{/if}}
24
+ {{> bucketadmin_alerts }}
39
25
 
40
26
  <div class="mb-4">
41
27
  <!-- Upload Form -->
@@ -142,11 +128,7 @@
142
128
  </div>
143
129
  <div class="card-body" style="padding: 0;">
144
130
  <div id="fileListContainer">
145
- <div class="empty-state">
146
- <i class="fas fa-spinner fa-spin"></i>
147
- <h4>Loading files...</h4>
148
- <p>Please wait while we fetch your files.</p>
149
- </div>
131
+ {{> bucketadmin_filelist_skeleton }}
150
132
  </div>
151
133
 
152
134
  <!-- Pagination -->
@@ -159,80 +141,9 @@
159
141
  </div>
160
142
  </div>
161
143
 
162
- <!-- Delete Confirmation Modal -->
163
- <div class="modal" id="deleteModal" tabindex="-1" aria-labelledby="deleteModalLabel" aria-hidden="true">
164
- <div class="modal-dialog">
165
- <div class="modal-content">
166
- <div class="modal-header">
167
- <h5 class="modal-title" id="deleteModalLabel">
168
- <i class="fas fa-exclamation-triangle"></i>
169
- Confirm Delete
170
- </h5>
171
- <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"
172
- onclick="closeModal()">&times;</button>
173
- </div>
174
- <div class="modal-body">
175
- <i class="fas fa-trash-alt fa-3x"></i>
176
- <h6>Are you sure you want to delete this file?</h6>
177
- <p class="modal-body-text-style">
178
- <strong id="deleteFileName" style="color: var(--dark-color-ml);"></strong>
179
- </p>
180
- <p class="modal-body-text-top">
181
- <small>This action cannot be undone.</small>
182
- </p>
183
- </div>
184
- <div class="modal-footer">
185
- <button type="button" class="btn btn-secondary" onclick="closeModal()">
186
- <i class="fas fa-times"></i>
187
- Cancel
188
- </button>
189
- <form id="deleteForm" method="post" action="/mbkbucket/delete" style="display: inline;">
190
- <input type="hidden" name="key" id="deleteKey">
191
- <input type="hidden" name="prefix" value="{{prefix}}">
192
- <input type="hidden" name="folder" id="deleteIsFolder" value="">
193
- <button type="submit" class="btn btn-danger" id="deleteConfirmButton">
194
- <i class="fas fa-trash"></i>
195
- <span id="deleteConfirmLabel">Delete File</span>
196
- </button>
197
- </form>
198
- </div>
199
- </div>
200
- </div>
201
- </div>
144
+ {{> bucketadmin_delete_modal }}
202
145
 
203
- <!-- Preview Modal -->
204
- <div class="modal" id="previewModal" role="dialog" aria-modal="true" aria-labelledby="previewModalLabel" tabindex="-1">
205
- <div class="modal-dialog preview-modal-dialog" role="document">
206
- <div class="modal-content">
207
- <div class="modal-header">
208
- <h5 class="modal-title" id="previewModalLabel"><i class="fas fa-eye"></i> <span
209
- id="previewFileName">Preview</span></h5>
210
- <div class="preview-header-controls">
211
- <button id="previewFullscreenBtn" class="btn btn-outline-secondary btn-sm" type="button"
212
- aria-label="Toggle fullscreen"><i class="fas fa-expand"></i></button>
213
- <button type="button" class="btn-close" aria-label="Close preview" id="previewCloseBtn">&times;</button>
214
- </div>
215
- </div>
216
- <div class="modal-body">
217
- <div class="preview-content" id="previewContent" aria-live="polite">
218
- <div class="empty-preview">
219
- <i class="fas fa-spinner fa-spin"></i>
220
- <div class="modal-header-spacing">Loading preview...</div>
221
- </div>
222
- </div>
223
- </div>
224
- <div class="modal-footer preview-footer">
225
- <div class="preview-actions">
226
- <a id="previewOpenBtn" class="btn btn-outline-secondary" target="_blank" rel="noopener noreferrer" href="#"><i
227
- class="fas fa-external-link-alt"></i> Open</a>
228
- <a id="previewDownloadBtn" class="btn btn-success" download href="#"><i class="fas fa-download"></i>
229
- Download</a>
230
- <button type="button" class="btn btn-secondary" id="previewCloseFooter">Close</button>
231
- </div>
232
- </div>
233
- </div>
234
- </div>
235
- </div>
146
+ {{> bucketadmin_preview_modal }}
236
147
 
237
148
  <!-- Toast Container -->
238
149
  <div id="toast-container" class="toast-container"></div>