superlocalmemory 2.3.6 → 2.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.
package/ui/index.html CHANGED
@@ -206,6 +206,94 @@
206
206
  vertical-align: middle;
207
207
  }
208
208
 
209
+ /* Profile select in navbar */
210
+ .profile-select {
211
+ background: rgba(255,255,255,0.15);
212
+ border: 1px solid rgba(255,255,255,0.3);
213
+ color: white;
214
+ border-radius: 20px;
215
+ padding: 2px 28px 2px 10px;
216
+ font-size: 0.85rem;
217
+ min-width: 120px;
218
+ cursor: pointer;
219
+ }
220
+
221
+ .profile-select option {
222
+ background: var(--bs-body-bg);
223
+ color: var(--bs-body-color);
224
+ }
225
+
226
+ /* Sortable table headers */
227
+ .sortable {
228
+ cursor: pointer;
229
+ user-select: none;
230
+ position: relative;
231
+ padding-right: 18px !important;
232
+ }
233
+
234
+ .sortable:hover {
235
+ background-color: rgba(102, 126, 234, 0.08);
236
+ }
237
+
238
+ .sortable::after {
239
+ content: '\F282';
240
+ font-family: 'bootstrap-icons';
241
+ position: absolute;
242
+ right: 4px;
243
+ opacity: 0.3;
244
+ font-size: 0.7rem;
245
+ }
246
+
247
+ .sortable.sort-asc::after {
248
+ content: '\F235';
249
+ opacity: 0.8;
250
+ }
251
+
252
+ .sortable.sort-desc::after {
253
+ content: '\F229';
254
+ opacity: 0.8;
255
+ }
256
+
257
+ /* Confidence bar for patterns */
258
+ .confidence-bar {
259
+ height: 6px;
260
+ border-radius: 3px;
261
+ background: var(--bs-border-color);
262
+ overflow: hidden;
263
+ margin-top: 4px;
264
+ }
265
+
266
+ .confidence-fill {
267
+ height: 100%;
268
+ border-radius: 3px;
269
+ transition: width 0.6s ease;
270
+ }
271
+
272
+ /* Backup status cards */
273
+ .backup-stat {
274
+ padding: 12px;
275
+ border-radius: 8px;
276
+ background: var(--bs-tertiary-bg);
277
+ text-align: center;
278
+ }
279
+
280
+ .backup-stat .value {
281
+ font-size: 1.3rem;
282
+ font-weight: 700;
283
+ }
284
+
285
+ .backup-stat .label {
286
+ font-size: 0.75rem;
287
+ color: var(--bs-secondary-color);
288
+ text-transform: uppercase;
289
+ }
290
+
291
+ /* Profile delete button */
292
+ .btn-delete-profile {
293
+ padding: 2px 8px;
294
+ font-size: 0.75rem;
295
+ }
296
+
209
297
  /* Dark mode toggle button */
210
298
  .theme-toggle {
211
299
  background: none;
@@ -285,7 +373,16 @@
285
373
  <i class="bi bi-diagram-3"></i> SuperLocalMemory V2
286
374
  </span>
287
375
  <div class="d-flex align-items-center gap-3">
288
- <span class="text-white-50 d-none d-md-inline">Knowledge Graph Explorer</span>
376
+ <div class="d-flex align-items-center gap-2">
377
+ <i class="bi bi-person-circle text-white-50"></i>
378
+ <select class="form-select form-select-sm profile-select" id="profile-select" title="Switch memory profile">
379
+ <option value="default">default</option>
380
+ </select>
381
+ <button class="btn btn-sm theme-toggle" id="add-profile-btn" title="Create new profile" style="padding:2px 8px;font-size:1rem;line-height:1;">
382
+ <i class="bi bi-plus-lg"></i>
383
+ </button>
384
+ </div>
385
+ <span class="text-white-50 d-none d-md-inline" id="navbar-subtitle">Knowledge Graph Explorer</span>
289
386
  <button class="theme-toggle" id="theme-toggle" onclick="toggleDarkMode()" title="Toggle dark mode">
290
387
  <i class="bi bi-sun-fill" id="theme-icon"></i>
291
388
  </button>
@@ -357,6 +454,11 @@
357
454
  <i class="bi bi-clock-history"></i> Timeline
358
455
  </button>
359
456
  </li>
457
+ <li class="nav-item">
458
+ <button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings-pane">
459
+ <i class="bi bi-gear"></i> Settings
460
+ </button>
461
+ </li>
360
462
  </ul>
361
463
 
362
464
  <div class="tab-content">
@@ -474,6 +576,85 @@
474
576
  </div>
475
577
  </div>
476
578
  </div>
579
+
580
+ <!-- Settings & Backup -->
581
+ <div class="tab-pane fade" id="settings-pane">
582
+ <!-- Profile Management -->
583
+ <div class="card p-3 mb-3">
584
+ <h5 class="mb-3"><i class="bi bi-people"></i> Profile Management</h5>
585
+ <div class="row g-3 align-items-end mb-3">
586
+ <div class="col-md-5">
587
+ <label class="form-label">Create New Profile</label>
588
+ <input type="text" class="form-control" id="new-profile-name" placeholder="e.g. work, personal, project-x" maxlength="32">
589
+ </div>
590
+ <div class="col-md-3">
591
+ <button class="btn btn-primary w-100" onclick="createProfile()">
592
+ <i class="bi bi-plus-circle"></i> Create Profile
593
+ </button>
594
+ </div>
595
+ </div>
596
+ <div id="profiles-table" class="table-responsive">
597
+ <div class="loading">
598
+ <div class="spinner-border text-primary" role="status"></div>
599
+ <div>Loading profiles...</div>
600
+ </div>
601
+ </div>
602
+ </div>
603
+
604
+ <div class="row">
605
+ <!-- Backup Status -->
606
+ <div class="col-lg-6 mb-3">
607
+ <div class="card p-3">
608
+ <h5 class="mb-3"><i class="bi bi-shield-check"></i> Auto-Backup</h5>
609
+ <div id="backup-status">
610
+ <div class="loading">
611
+ <div class="spinner-border text-primary" role="status"></div>
612
+ <div>Loading backup status...</div>
613
+ </div>
614
+ </div>
615
+ </div>
616
+ </div>
617
+ <!-- Backup Configuration -->
618
+ <div class="col-lg-6 mb-3">
619
+ <div class="card p-3">
620
+ <h5 class="mb-3"><i class="bi bi-sliders"></i> Backup Configuration</h5>
621
+ <div class="mb-3">
622
+ <label class="form-label">Backup Interval</label>
623
+ <select class="form-select" id="backup-interval">
624
+ <option value="24">Daily (every 24 hours)</option>
625
+ <option value="168" selected>Weekly (every 7 days)</option>
626
+ </select>
627
+ </div>
628
+ <div class="mb-3">
629
+ <label class="form-label">Max Backups to Keep</label>
630
+ <input type="number" class="form-control" id="backup-max" value="10" min="1" max="100">
631
+ </div>
632
+ <div class="form-check form-switch mb-3">
633
+ <input class="form-check-input" type="checkbox" id="backup-enabled" checked>
634
+ <label class="form-check-label" for="backup-enabled">Auto-backup enabled</label>
635
+ </div>
636
+ <div class="d-flex gap-2">
637
+ <button class="btn btn-primary" onclick="saveBackupConfig()">
638
+ <i class="bi bi-save"></i> Save Settings
639
+ </button>
640
+ <button class="btn btn-outline-success" onclick="createBackupNow()">
641
+ <i class="bi bi-download"></i> Backup Now
642
+ </button>
643
+ </div>
644
+ </div>
645
+ </div>
646
+ </div>
647
+ <!-- Backup History -->
648
+ <div class="card p-3">
649
+ <h5 class="mb-3"><i class="bi bi-clock-history"></i> Backup History</h5>
650
+ <div id="backup-list" class="table-responsive">
651
+ <div class="loading">
652
+ <div class="spinner-border text-primary" role="status"></div>
653
+ <div>Loading backups...</div>
654
+ </div>
655
+ </div>
656
+ </div>
657
+ </div>
477
658
  </div>
478
659
  </div>
479
660