mbkbucket 1.2.1 → 1.4.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.
@@ -13,8 +13,9 @@
13
13
  <p id="filterInfo">Loading file information...</p>
14
14
  </div>
15
15
  <div style="margin-left: auto;">
16
- <option value="{{bucketvar}}">{{bucketvar}}</option>
17
- </select>
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;">
17
+ <i class="fas fa-database" style="margin-right:0.4rem;"></i>{{bucketvar}}
18
+ </span>
18
19
  </div>
19
20
  </div>
20
21
  </div>
@@ -40,15 +41,18 @@
40
41
  <!-- Upload Form -->
41
42
  <div class="col-lg-12">
42
43
  <div class="dashboard-card h-100">
43
- <div class="card-header">
44
+ <div class="card-header upload-card-header" id="uploadToggleBtn">
44
45
  <h5 class="card-title">
45
46
  <div class="card-icon">
46
47
  <i class="fas fa-upload"></i>
47
48
  </div>
48
49
  Upload File
49
50
  </h5>
51
+ <button type="button" class="collapse-btn">
52
+ <i class="fas fa-chevron-down"></i>
53
+ </button>
50
54
  </div>
51
- <div class="card-body">
55
+ <div class="card-body collapsible-content" id="uploadSection">
52
56
  <form id="uploadForm" action="/mbkbucket/upload" method="post" enctype="multipart/form-data">
53
57
  <input type="hidden" name="prefix" value="{{prefix}}">
54
58
 
@@ -103,7 +107,7 @@
103
107
 
104
108
  <!-- File List -->
105
109
  <div class="dashboard-card">
106
- <div class="card-header" style="display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;">
110
+ <div class="card-header file-list-header">
107
111
  <h5 class="card-title">
108
112
  <div>
109
113
  <i class="fas fa-folder-open"></i>
@@ -112,7 +116,7 @@
112
116
  </h5>
113
117
 
114
118
  <!-- Inline Search (moved from separate card) -->
115
- <div class="search-inline" style="flex:1; max-width:640px; display:flex; gap:0.5rem; align-items:center; justify-content:center;">
119
+ <div class="search-inline">
116
120
  <input type="text" class="form-control form-control-sm" id="searchInput" placeholder="Search files and folders..." aria-label="Search files">
117
121
  <button type="button" class="btn btn-sm btn-primary" onclick="performSearch()" aria-label="Search"><i class="fas fa-search"></i></button>
118
122
  <button type="button" class="btn btn-sm btn-outline-secondary" onclick="clearSearch()" aria-label="Clear search"><i class="fas fa-times"></i></button>
@@ -128,10 +132,10 @@
128
132
  </div>
129
133
 
130
134
  <div class="btn-group" role="group" aria-label="View Mode">
131
- <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;">
135
+ <button type="button" class="btn btn-sm btn-light view-toggle-btn view-btn-left active" id="viewBtnFolder" onclick="changeViewMode('folder')" title="Folder View">
132
136
  <i class="fas fa-folder"></i> Folders
133
137
  </button>
134
- <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;">
138
+ <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)">
135
139
  <i class="fas fa-list-ul"></i> Flat View
136
140
  </button>
137
141
  </div>
@@ -146,8 +150,7 @@
146
150
  </div>
147
151
 
148
152
  <!-- Pagination -->
149
- <div id="paginationContainer"
150
- style="display: none; padding: 1rem; border-top: 1px solid var(--gray-light-color-ml); background: var(--light-color-ml);">
153
+ <div id="paginationContainer" class="pagination-container">
151
154
  <nav aria-label="File pagination">
152
155
  <ul class="pagination" id="paginationList">
153
156
  </ul>
@@ -171,10 +174,10 @@
171
174
  <div class="modal-body">
172
175
  <i class="fas fa-trash-alt fa-3x"></i>
173
176
  <h6>Are you sure you want to delete this file?</h6>
174
- <p style="color: var(--gray-color-ml); margin-bottom: 0;">
177
+ <p class="modal-body-text-style">
175
178
  <strong id="deleteFileName" style="color: var(--dark-color-ml);"></strong>
176
179
  </p>
177
- <p style="color: var(--gray-color-ml); margin-top: 0.5rem; margin-bottom: 0;">
180
+ <p class="modal-body-text-top">
178
181
  <small>This action cannot be undone.</small>
179
182
  </p>
180
183
  </div>
@@ -214,7 +217,7 @@
214
217
  <div class="preview-content" id="previewContent" aria-live="polite">
215
218
  <div class="empty-preview">
216
219
  <i class="fas fa-spinner fa-spin"></i>
217
- <div style="margin-top:0.5rem; color:var(--gray-color-ml);">Loading preview...</div>
220
+ <div class="modal-header-spacing">Loading preview...</div>
218
221
  </div>
219
222
  </div>
220
223
  </div>
@@ -232,6 +235,6 @@
232
235
  </div>
233
236
 
234
237
  <!-- Toast Container -->
235
- <div id="toast-container" style="position: fixed; bottom: 20px; right: 20px; z-index: 1050; display: flex; flex-direction: column; gap: 10px;"></div>
238
+ <div id="toast-container" class="toast-container"></div>
236
239
 
237
240
  <script src="/mbkbucket/bucketadmin.js?v={{assetVersion}}"></script>
@@ -0,0 +1,226 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <meta name="description"
8
+ content="Log in to portal.mbktech.org to access your resources and manage projects securely.">
9
+ <meta name="keywords" content="MBK Tech, Web-Portal, Web, Portal, Admin-Panel, Admin, login">
10
+ <meta property="og:title" content="Version and Configuration Information | MBK Tech" />
11
+ <meta property="og:image" content="https://mbktech.org/Assets/Images/Icon/logo.png" />
12
+ <meta property="og:url" content="/mbkbucket/info">
13
+ <title>Version and Configuration Information | MBK Tech Portal</title>
14
+ <link rel="icon" type="image/svg+xml" href="/icon.svg">
15
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
16
+ {{> sharedStyles}}
17
+ <style>
18
+ .info-box {
19
+ background: rgba(10, 20, 20, 0.95);
20
+ backdrop-filter: blur(10px);
21
+ border-radius: var(--border-radius);
22
+ padding: 2.5rem;
23
+ width: 100%;
24
+ max-width: 900px;
25
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
26
+ border: 1px solid rgba(0, 184, 148, 0.2);
27
+ position: relative;
28
+ z-index: 2;
29
+ transition: var(--transition);
30
+ }
31
+
32
+ .info-box:hover {
33
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
34
+ border-color: rgba(0, 184, 148, 0.3);
35
+ }
36
+
37
+ .info-title {
38
+ text-align: center;
39
+ margin-bottom: 2rem;
40
+ font-size: 2rem;
41
+ position: relative;
42
+ color: var(--light);
43
+ }
44
+
45
+ .info-title::after {
46
+ content: '';
47
+ position: absolute;
48
+ bottom: -10px;
49
+ left: 50%;
50
+ transform: translateX(-50%);
51
+ width: 100px;
52
+ height: 4px;
53
+ background-color: var(--accent);
54
+ border-radius: 2px;
55
+ }
56
+
57
+ .info-section {
58
+ margin-bottom: 2rem;
59
+ padding: 1.5rem;
60
+ border: 1px solid rgba(0, 184, 148, 0.2);
61
+ border-radius: var(--border-radius);
62
+ background-color: rgba(0, 0, 0, 0.2);
63
+ transition: var(--transition);
64
+ }
65
+
66
+ .info-section:hover {
67
+ border-color: rgba(0, 184, 148, 0.4);
68
+ background-color: rgba(0, 0, 0, 0.3);
69
+ }
70
+
71
+ .info-section h2 {
72
+ color: var(--accent);
73
+ border-bottom: 2px solid rgba(0, 184, 148, 0.3);
74
+ padding-bottom: 10px;
75
+ margin-top: 0;
76
+ margin-bottom: 1.5rem;
77
+ font-size: 1.4rem;
78
+ display: flex;
79
+ align-items: center;
80
+ gap: 10px;
81
+ }
82
+
83
+ .info-section h2 i {
84
+ font-size: 1.2rem;
85
+ }
86
+
87
+ .info-row {
88
+ display: flex;
89
+ margin-bottom: 1rem;
90
+ padding-bottom: 1rem;
91
+ border-bottom: 1px solid rgba(0, 184, 148, 0.1);
92
+ align-items: center;
93
+ }
94
+
95
+ .info-row:last-child {
96
+ border-bottom: none;
97
+ margin-bottom: 0;
98
+ padding-bottom: 0;
99
+ }
100
+
101
+ .info-label {
102
+ font-weight: 600;
103
+ color: var(--text-light);
104
+ min-width: 240px;
105
+ font-size: 1rem;
106
+ }
107
+
108
+ .info-value {
109
+ flex: 1;
110
+ word-break: break-word;
111
+ color: var(--text);
112
+ font-size: 1rem;
113
+ }
114
+
115
+ .version-status {
116
+ display: inline-flex;
117
+ align-items: center;
118
+ gap: 6px;
119
+ padding: 4px 12px;
120
+ border-radius: 20px;
121
+ font-size: 0.85rem;
122
+ font-weight: 600;
123
+ margin-left: 10px;
124
+ }
125
+
126
+ .version-up-to-date {
127
+ background: rgba(67, 233, 123, 0.2);
128
+ color: var(--success);
129
+ border: 1px solid var(--success);
130
+ }
131
+
132
+ .version-outdated {
133
+ background: rgba(255, 118, 117, 0.2);
134
+ color: var(--danger);
135
+ border: 1px solid var(--danger);
136
+ }
137
+
138
+ .version-fetch-error {
139
+ background: rgba(255, 209, 102, 0.2);
140
+ color: var(--warning);
141
+ border: 1px solid var(--warning);
142
+ }
143
+
144
+ @media (max-width: 768px) {
145
+ .info-box {
146
+ padding: 2rem;
147
+ max-width: 100%;
148
+ }
149
+
150
+ .info-title {
151
+ font-size: 1.8rem;
152
+ }
153
+
154
+ .info-row {
155
+ flex-direction: column;
156
+ align-items: flex-start;
157
+ gap: 0.5rem;
158
+ }
159
+
160
+ .info-label {
161
+ min-width: unset;
162
+ }
163
+
164
+ .info-section h2 {
165
+ font-size: 1.2rem;
166
+ }
167
+ }
168
+
169
+ @media (max-width: 576px) {
170
+ .info-box {
171
+ padding: 1.5rem;
172
+ }
173
+
174
+ .info-section {
175
+ padding: 1rem;
176
+ }
177
+ }
178
+ </style>
179
+ </head>
180
+
181
+ <body>
182
+ <header>
183
+ <div class="header-container">
184
+ <a class="logo">
185
+ <img src="/icon.svg" alt="Logo" class="logo-image" />
186
+ <span class="logo-text">BK <span>Tech</span></span>
187
+ <span class="logo-comp">{{#if APP_NAME}}{{APP_NAME}}{{else}}mbkbucket{{/if}}
188
+ </a>
189
+
190
+ {{> profilemenu}}
191
+ </div>
192
+ </header>
193
+ <section class="login-container">
194
+ <i class="fas fa-info-circle ai-element"></i>
195
+ <i class="fas fa-cogs ai-element"></i>
196
+ <i class="fas fa-server ai-element"></i>
197
+ <i class="fas fa-code-branch ai-element"></i>
198
+
199
+ <div class="info-box">
200
+ <h1 class="info-title">System Information</h1>
201
+
202
+ <div class="info-section">
203
+ <h2><i class="fas fa-code-branch"></i> Version Information</h2>
204
+ <div class="info-row">
205
+ <div class="info-label">Current Version:</div>
206
+ <div class="info-value" id="CurrentVersion">{{CurrentVersion}}</div>
207
+ </div>
208
+
209
+ <div class="info-row">
210
+ <div class="info-label">Latest Version:</div>
211
+ <div class="info-value">
212
+ {{latestVersion}}
213
+ {{#if (eq latestVersion CurrentVersion)}}
214
+ <span class="version-status version-up-to-date">
215
+ <i class="fas fa-check-circle"></i> Up to date
216
+ </span>
217
+ {{/if}}
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </div>
222
+ </section>
223
+
224
+ </body>
225
+
226
+ </html>