mbkbucket 1.2.0 → 1.3.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.
@@ -72,7 +72,7 @@
72
72
  }
73
73
 
74
74
  .logo img {
75
- width: 40px
75
+ width: 35px
76
76
  }
77
77
 
78
78
  .main-content {
@@ -125,7 +125,7 @@
125
125
  display: flex;
126
126
  align-items: center;
127
127
  justify-content: space-between;
128
- margin-bottom: 2rem;
128
+ margin-bottom: 1rem;
129
129
  padding-bottom: 1rem;
130
130
  border-bottom: 2px solid var(--gray-light-color-ml)
131
131
  }
@@ -1,6 +1,6 @@
1
1
  {{!-- File Management System - Bucket Dashboard --}}
2
- <link rel="stylesheet" href="/css/bucketadmin.css?v={{assetVersion}}">
3
- <div id="bucketAppData" data-app-name="{{mbkautheVar.APP_NAME}}" hidden></div>
2
+ <link rel="stylesheet" href="/mbkbucket/bucketadmin.css?v={{assetVersion}}">
3
+ <div id="bucketAppData" data-app-name="{{APP_NAME}}" hidden></div>
4
4
  <!-- File Statistics -->
5
5
  <div class="dashboard-card file-stats">
6
6
  <div class="card-body">
@@ -36,32 +36,35 @@
36
36
  </div>
37
37
  {{/if}}
38
38
 
39
- <div class="row g-4 mb-4">
39
+ <div class="mb-4">
40
40
  <!-- Upload Form -->
41
- <div class="col-lg-6">
41
+ <div class="col-lg-12">
42
42
  <div class="dashboard-card h-100">
43
- <div class="card-header">
43
+ <div class="card-header upload-card-header" id="uploadToggleBtn">
44
44
  <h5 class="card-title">
45
45
  <div class="card-icon">
46
46
  <i class="fas fa-upload"></i>
47
47
  </div>
48
48
  Upload File
49
49
  </h5>
50
+ <button type="button" class="collapse-btn">
51
+ <i class="fas fa-chevron-down"></i>
52
+ </button>
50
53
  </div>
51
- <div class="card-body">
54
+ <div class="card-body collapsible-content" id="uploadSection">
52
55
  <form id="uploadForm" action="/mbkbucket/upload" method="post" enctype="multipart/form-data">
53
56
  <input type="hidden" name="prefix" value="{{prefix}}">
54
57
 
55
58
  <div class="mb-3">
56
59
  <label for="fileInput" class="form-label">Select Files or drag & drop</label>
57
- <div id="dropZone" class="form-control form-control-lg"
58
- style="min-height:120px; display:flex; align-items:center; justify-content:center; cursor:pointer; text-align:center;">
59
- <div>
60
- <i class="fas fa-cloud-upload-alt fa-2x" style="opacity: .65;"></i>
61
- <div style="margin-top: 0.5rem; color: var(--gray-color-ml);">Drop files here or click to browse</div>
60
+ <div id="dropZone" class="upload-drop-zone">
61
+ <div class="drop-zone-content">
62
+ <i class="fas fa-cloud-upload-alt"></i>
63
+ <div class="drop-text">Drop files here or click to browse</div>
64
+ <div class="drop-hint">Supports multiple files</div>
62
65
  </div>
63
66
  </div>
64
- <input type="file" class="form-control d-none" id="fileInput" name="files" multiple>
67
+ <input type="file" class="form-control d-none" style="display: none;" id="fileInput" name="files" multiple>
65
68
  <div class="form-text">
66
69
  <i class="fas fa-info-circle"></i>
67
70
  You can drop multiple files. Large files will use chunked upload when available.
@@ -99,58 +102,39 @@
99
102
  </div>
100
103
  </div>
101
104
  </div>
102
-
103
- <!-- Search Filter -->
104
- <div class="col-lg-6">
105
- <div class="dashboard-card h-100">
106
- <div class="card-header">
107
- <h5 class="card-title">
108
- <div class="card-icon">
109
- <i class="fas fa-search"></i>
110
- </div>
111
- Search Files & Folders
112
- </h5>
113
- </div>
114
- <div class="card-body">
115
- <div class="mb-3">
116
- <label for="searchInput" class="form-label">Search by Name</label>
117
- <input type="text" class="form-control form-control-lg" id="searchInput" placeholder="Enter search term..."
118
- onkeypress="if(event.key==='Enter') performSearch()">
119
- <div class="form-text">
120
- <i class="fas fa-info-circle"></i>
121
- Search across all files and folders by name (case-insensitive)
122
- </div>
123
- </div>
124
- <div class="d-grid gap-2 d-md-flex justify-content-md-end">
125
- <button type="button" class="btn btn-primary btn-lg" onclick="performSearch()">
126
- <i class="fas fa-search"></i>
127
- Search
128
- </button>
129
- <button type="button" class="btn btn-outline-secondary btn-lg" onclick="clearSearch()">
130
- <i class="fas fa-times"></i>
131
- Clear
132
- </button>
133
- </div>
134
- </div>
135
- </div>
136
- </div>
137
105
  </div>
138
106
 
139
107
  <!-- File List -->
140
108
  <div class="dashboard-card">
141
- <div class="card-header" style="display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;">
109
+ <div class="card-header file-list-header">
142
110
  <h5 class="card-title">
143
111
  <div>
144
112
  <i class="fas fa-folder-open"></i>
145
113
  </div>
146
114
  <span id="fileListTitle">Files</span>
147
115
  </h5>
148
-
116
+
117
+ <!-- Inline Search (moved from separate card) -->
118
+ <div class="search-inline">
119
+ <input type="text" class="form-control form-control-sm" id="searchInput" placeholder="Search files and folders..." aria-label="Search files">
120
+ <button type="button" class="btn btn-sm btn-primary" onclick="performSearch()" aria-label="Search"><i class="fas fa-search"></i></button>
121
+ <button type="button" class="btn btn-sm btn-outline-secondary" onclick="clearSearch()" aria-label="Clear search"><i class="fas fa-times"></i></button>
122
+ </div>
123
+
124
+ <div class="btn-group" role="group" aria-label="Actions">
125
+ <button type="button" class="btn btn-sm btn-success" onclick="createFile()" title="New Text File">
126
+ <i class="fas fa-file-alt"></i> New File
127
+ </button>
128
+ <button type="button" class="btn btn-sm btn-outline-success" onclick="createFolder()" title="New Folder">
129
+ <i class="fas fa-folder-plus"></i> New Folder
130
+ </button>
131
+ </div>
132
+
149
133
  <div class="btn-group" role="group" aria-label="View Mode">
150
- <button type="button" class="btn btn-sm btn-light view-toggle-btn active" id="viewBtnFolder" onclick="changeViewMode('folder')" title="Folder View" style="border-top-right-radius: 0; border-bottom-right-radius: 0;">
134
+ <button type="button" class="btn btn-sm btn-light view-toggle-btn view-btn-left active" id="viewBtnFolder" onclick="changeViewMode('folder')" title="Folder View">
151
135
  <i class="fas fa-folder"></i> Folders
152
136
  </button>
153
- <button type="button" class="btn btn-sm btn-outline-light view-toggle-btn" id="viewBtnFlat" onclick="changeViewMode('flat')" title="Flat List (All Files)" style="border-top-left-radius: 0; border-bottom-left-radius: 0;">
137
+ <button type="button" class="btn btn-sm btn-outline-light view-toggle-btn view-btn-right" id="viewBtnFlat" onclick="changeViewMode('flat')" title="Flat List (All Files)">
154
138
  <i class="fas fa-list-ul"></i> Flat View
155
139
  </button>
156
140
  </div>
@@ -165,8 +149,7 @@
165
149
  </div>
166
150
 
167
151
  <!-- Pagination -->
168
- <div id="paginationContainer"
169
- style="display: none; padding: 1rem; border-top: 1px solid var(--gray-light-color-ml); background: var(--light-color-ml);">
152
+ <div id="paginationContainer" class="pagination-container">
170
153
  <nav aria-label="File pagination">
171
154
  <ul class="pagination" id="paginationList">
172
155
  </ul>
@@ -190,10 +173,10 @@
190
173
  <div class="modal-body">
191
174
  <i class="fas fa-trash-alt fa-3x"></i>
192
175
  <h6>Are you sure you want to delete this file?</h6>
193
- <p style="color: var(--gray-color-ml); margin-bottom: 0;">
176
+ <p class="modal-body-text-style">
194
177
  <strong id="deleteFileName" style="color: var(--dark-color-ml);"></strong>
195
178
  </p>
196
- <p style="color: var(--gray-color-ml); margin-top: 0.5rem; margin-bottom: 0;">
179
+ <p class="modal-body-text-top">
197
180
  <small>This action cannot be undone.</small>
198
181
  </p>
199
182
  </div>
@@ -230,10 +213,10 @@
230
213
  </div>
231
214
  </div>
232
215
  <div class="modal-body">
233
- <div class="preview-content" aria-live="polite">
216
+ <div class="preview-content" id="previewContent" aria-live="polite">
234
217
  <div class="empty-preview">
235
218
  <i class="fas fa-spinner fa-spin"></i>
236
- <div style="margin-top:0.5rem; color:var(--gray-color-ml);">Loading preview...</div>
219
+ <div class="modal-header-spacing">Loading preview...</div>
237
220
  </div>
238
221
  </div>
239
222
  </div>
@@ -250,4 +233,7 @@
250
233
  </div>
251
234
  </div>
252
235
 
253
- <script src="/js/bucketadmincontent.js?v={{assetVersion}}"></script>
236
+ <!-- Toast Container -->
237
+ <div id="toast-container" class="toast-container"></div>
238
+
239
+ <script src="/mbkbucket/bucketadmin.js?v={{assetVersion}}"></script>