Changeset 0.20.0 (#85)
This commit is contained in:
@@ -21,6 +21,9 @@
|
||||
<link rel="stylesheet" href="css/styles.css?v=%%APP_VERSION%%">
|
||||
<link rel="stylesheet" href="css/persona-kb.css?v=%%APP_VERSION%%">
|
||||
<link rel="stylesheet" href="css/memory.css?v=%%APP_VERSION%%">
|
||||
<link rel="stylesheet" href="css/notifications.css?v=%%APP_VERSION%%">
|
||||
<link rel="stylesheet" href="css/channel-models.css?v=%%APP_VERSION%%">
|
||||
<link rel="stylesheet" href="css/notification-prefs.css?v=%%APP_VERSION%%">
|
||||
<link rel="stylesheet" href="branding/custom.css" onerror="this.remove()">
|
||||
</head>
|
||||
<body>
|
||||
@@ -136,7 +139,15 @@
|
||||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg>
|
||||
</button>
|
||||
<div class="model-caps" id="modelCaps"></div>
|
||||
<div class="ch-model-pills" id="channelModelPills"></div>
|
||||
<span class="chat-token-count" id="chatTokenCount"></span>
|
||||
<div class="notif-wrap" id="notifWrap">
|
||||
<button class="notif-bell" id="notifBell" onclick="Notifications.toggleDropdown()" title="Notifications">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/></svg>
|
||||
<span class="notif-badge" id="notifBadge" style="display:none">0</span>
|
||||
</button>
|
||||
<div class="notif-dropdown" id="notifDropdown"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="messages" id="chatMessages">
|
||||
@@ -394,6 +405,7 @@
|
||||
<button class="settings-tab" data-stab="roles" onclick="UI.switchSettingsTab('roles')" id="settingsRolesTabBtn">Model Roles</button>
|
||||
<button class="settings-tab" data-stab="knowledgeBases" onclick="UI.switchSettingsTab('knowledgeBases')" id="settingsKBTabBtn" style="display:none">Knowledge</button>
|
||||
<button class="settings-tab" data-stab="memory" onclick="UI.switchSettingsTab('memory')" id="settingsMemoryTabBtn">Memory</button>
|
||||
<button class="settings-tab" data-stab="notifPrefs" onclick="UI.switchSettingsTab('notifPrefs')">Notifications</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- General Tab -->
|
||||
@@ -565,6 +577,14 @@
|
||||
<div id="settingsMemoryContent"></div>
|
||||
</section>
|
||||
</div>
|
||||
<!-- Notification Preferences Tab (v0.20.0 Phase 3) -->
|
||||
<div class="settings-tab-content" id="settingsNotifPrefsTab" style="display:none">
|
||||
<section class="settings-section">
|
||||
<h3>Delivery Preferences</h3>
|
||||
<p class="section-hint" style="margin-bottom:8px">Choose how you receive notifications. Email delivery requires admin SMTP configuration.</p>
|
||||
<div id="notifPrefsBody"></div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer"><button class="btn-primary" id="settingsSaveBtn">Save Settings</button></div>
|
||||
</div>
|
||||
@@ -935,6 +955,30 @@
|
||||
<h4>🔐 Encryption</h4>
|
||||
<div id="adminVaultStatus"><span class="empty-hint">Loading…</span></div>
|
||||
</section>
|
||||
<section class="settings-section">
|
||||
<h3>Email Notifications (SMTP)</h3>
|
||||
<label class="checkbox-label"><input type="checkbox" id="adminEmailEnabled"> Enable email notifications</label>
|
||||
<div id="smtpConfigFields" style="display:none">
|
||||
<div class="smtp-config-grid" style="margin-top:12px">
|
||||
<div class="form-group"><label>SMTP Host</label><input type="text" id="adminSmtpHost" placeholder="smtp.example.com"></div>
|
||||
<div class="form-group"><label>Port</label><input type="number" id="adminSmtpPort" value="587" min="1" max="65535" style="width:100px"></div>
|
||||
<div class="form-group"><label>Username</label><input type="text" id="adminSmtpUser" placeholder="user@example.com"></div>
|
||||
<div class="form-group"><label>Password</label><input type="password" id="adminSmtpPassword" placeholder="••••••••"></div>
|
||||
<div class="form-group"><label>From Address</label><input type="text" id="adminSmtpFrom" placeholder="noreply@chat.example.com"></div>
|
||||
<div class="form-group"><label>TLS Mode</label>
|
||||
<select id="adminSmtpTls">
|
||||
<option value="false">STARTTLS (port 587)</option>
|
||||
<option value="true">Implicit TLS (port 465)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="smtp-test-row">
|
||||
<button class="btn-small" id="adminSmtpTestBtn" onclick="NotifPrefs._testEmail()">Send Test Email</button>
|
||||
<span class="smtp-test-status" id="smtpTestStatus"></span>
|
||||
</div>
|
||||
<p class="section-hint" style="margin-top:8px">Test sends to your account's email address. Save settings first, then test.</p>
|
||||
</div>
|
||||
</section>
|
||||
<button class="btn-primary btn-small" id="adminSaveSettings">Save Settings</button>
|
||||
</div>
|
||||
<div class="admin-section-content" id="adminStorageTab" style="display:none"><div id="adminStorageContent"></div></div>
|
||||
@@ -1131,6 +1175,9 @@
|
||||
<script src="js/memory-ui.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/persona-kb.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/projects-ui.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/channel-models.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/notification-prefs.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/notifications.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/chat.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/settings-handlers.js?v=%%APP_VERSION%%"></script>
|
||||
<script src="js/admin-handlers.js?v=%%APP_VERSION%%"></script>
|
||||
|
||||
Reference in New Issue
Block a user