Changeset 0.37.7 (#219)
Co-authored-by: gobha <jasafpro@gmail.com> Co-committed-by: gobha <jasafpro@gmail.com>
This commit is contained in:
@@ -354,112 +354,7 @@ window.addEventListener('unhandledrejection', function(e) {
|
||||
{{/* ── Hidden File Input ─────── */}}
|
||||
<input type="file" id="fileInput" multiple style="display:none;">
|
||||
|
||||
{{/* ── Team Admin Modal ────────────────────── */}}
|
||||
<div id="teamAdminModal" class="modal-overlay">
|
||||
<div class="modal" style="max-width:900px;height:80vh;display:flex;flex-direction:column;">
|
||||
<div class="modal-header" style="flex-shrink:0;">
|
||||
<h2 id="teamAdminTitle">Team Admin</h2>
|
||||
<button id="teamAdminCloseBtn" class="modal-close">✕</button>
|
||||
</div>
|
||||
<div class="modal-body" style="display:flex;flex:1;min-height:0;padding:0;">
|
||||
{{/* Team picker (multi-team admins) */}}
|
||||
<div id="teamAdminPicker" style="padding:20px;flex:1;overflow-y:auto;">
|
||||
<div id="teamAdminPickerList"></div>
|
||||
</div>
|
||||
|
||||
{{/* Tabbed team management */}}
|
||||
<div id="teamAdminContent" class="team-admin-content" style="display:none;">
|
||||
{{/* Tab bar */}}
|
||||
<div id="teamAdminTabs" style="display:flex;gap:2px;padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;">
|
||||
<button class="admin-tab active" data-ttab="members" onclick="sb.call('UI.switchTeamTab','members')">Members</button>
|
||||
<button class="admin-tab" data-ttab="providers" onclick="sb.call('UI.switchTeamTab','providers')">Providers</button>
|
||||
<button class="admin-tab" data-ttab="personas" onclick="sb.call('UI.switchTeamTab','personas')">Personas</button>
|
||||
<button class="admin-tab" data-ttab="knowledge" onclick="sb.call('UI.switchTeamTab','knowledge')">Knowledge</button>
|
||||
<button class="admin-tab" data-ttab="groups" onclick="sb.call('UI.switchTeamTab','groups')">Groups</button>
|
||||
<button class="admin-tab" data-ttab="settings" onclick="sb.call('UI.switchTeamTab','settings')">Settings</button>
|
||||
<button class="admin-tab" data-ttab="usage" onclick="sb.call('UI.switchTeamTab','usage')">Usage</button>
|
||||
<button class="admin-tab" data-ttab="activity" onclick="sb.call('UI.switchTeamTab','activity')">Activity</button>
|
||||
</div>
|
||||
|
||||
{{/* Tab content panels */}}
|
||||
<div style="flex:1;overflow-y:auto;padding:16px;">
|
||||
{{/* Members */}}
|
||||
<div id="teamTabMembers" class="team-tab-content">
|
||||
<div id="settingsTeamMembers"></div>
|
||||
<div id="settingsTeamAddMember" class="admin-inline-form" style="display:none;margin-top:12px;">
|
||||
<div style="display:flex;gap:8px;align-items:flex-end;">
|
||||
<div class="form-group" style="flex:1"><label>User</label><select id="settingsTeamMemberUser"><option value="">Select user...</option></select></div>
|
||||
<div class="form-group"><label>Role</label><select id="settingsTeamMemberRole"><option value="member">Member</option><option value="admin">Admin</option></select></div>
|
||||
<button class="btn-small btn-primary" id="settingsTeamAddMemberSubmit">Add</button>
|
||||
<button class="btn-small" onclick="document.getElementById('settingsTeamAddMember').style.display='none'">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn-small" id="settingsTeamAddMemberBtn" style="margin-top:8px">+ Add Member</button>
|
||||
</div>
|
||||
|
||||
{{/* Providers */}}
|
||||
<div id="teamTabProviders" class="team-tab-content" style="display:none;">
|
||||
<div id="settingsTeamProviders"></div>
|
||||
<div id="settingsTeamProviderForm" style="display:none;margin-top:12px;"></div>
|
||||
<button class="btn-small" id="settingsTeamAddProviderBtn" style="margin-top:8px">+ Add Provider</button>
|
||||
</div>
|
||||
|
||||
{{/* Personas */}}
|
||||
<div id="teamTabPersonas" class="team-tab-content" style="display:none;">
|
||||
<div id="teamPersonaList"></div>
|
||||
<div id="settingsTeamAddPersona" style="display:none;margin-top:12px;"></div>
|
||||
<div id="settingsTeamPersonas" style="display:none;"></div>
|
||||
<div style="display:none;"><select id="teamPersona_model"></select></div>
|
||||
<button class="btn-small" id="settingsTeamAddPersonaBtn" style="margin-top:8px">+ New Persona</button>
|
||||
</div>
|
||||
|
||||
{{/* Knowledge */}}
|
||||
<div id="teamTabKnowledge" class="team-tab-content" style="display:none;">
|
||||
<div id="teamKBContent"></div>
|
||||
</div>
|
||||
|
||||
{{/* Groups */}}
|
||||
<div id="teamTabGroups" class="team-tab-content" style="display:none;">
|
||||
<div id="settingsTeamGroups"></div>
|
||||
</div>
|
||||
|
||||
{{/* Settings */}}
|
||||
<div id="teamTabSettings" class="team-tab-content" style="display:none;">
|
||||
<div style="max-width:500px;">
|
||||
<div class="form-group" style="margin-bottom:12px;">
|
||||
<label class="toggle-label"><input type="checkbox" id="teamSettingPrivatePolicy"><span class="toggle-track"></span><span>Require private providers (BYOK)</span></label>
|
||||
<div class="toggle-hint">Team members must use their own API keys</div>
|
||||
</div>
|
||||
<div class="form-group" style="margin-bottom:12px;">
|
||||
<label class="toggle-label"><input type="checkbox" id="teamSettingAllowProviders" checked><span class="toggle-track"></span><span>Allow team providers</span></label>
|
||||
<div class="toggle-hint">Team admins can add shared provider configs</div>
|
||||
</div>
|
||||
<button class="btn-small btn-primary" id="teamSettingSaveBtn">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{/* Usage */}}
|
||||
<div id="teamTabUsage" class="team-tab-content" style="display:none;">
|
||||
<div id="settingsTeamUsageTotals"></div>
|
||||
</div>
|
||||
|
||||
{{/* Activity (Audit) */}}
|
||||
<div id="teamTabActivity" class="team-tab-content" style="display:none;">
|
||||
<div style="margin-bottom:8px;">
|
||||
<select id="teamAuditFilterAction" style="font-size:12px;padding:4px 8px;"><option value="">All actions</option></select>
|
||||
</div>
|
||||
<div id="settingsTeamAudit"></div>
|
||||
<div id="teamAuditPagination" style="display:flex;gap:8px;align-items:center;margin-top:8px;">
|
||||
<button id="teamAuditPrevBtn" class="btn-small" disabled>← Prev</button>
|
||||
<span id="teamAuditPageInfo" class="text-muted" style="font-size:12px;"></span>
|
||||
<button id="teamAuditNextBtn" class="btn-small">Next →</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/* Team Admin Modal — removed in v0.37.7. Team admin is now at /team-admin. */}}
|
||||
|
||||
{{/* ── Debug Modal moved to base.html (available on all surfaces) ── */}}
|
||||
|
||||
@@ -506,24 +401,20 @@ window.addEventListener('unhandledrejection', function(e) {
|
||||
{{/* App JS — order matches index.html (minus api/events/ui-primitives/ui-format already in base) */}}
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/extensions.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/panels.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/ui-settings.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/ui-admin.js?v={{$.Version}}"></script>
|
||||
{{/* ui-settings.js and ui-admin.js removed in v0.37.7 — team admin is now at /team-admin */}}
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/tokens.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/notes.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/files.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/tools-toggle.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/knowledge-ui.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/memory-ui.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/persona-kb.js?v={{$.Version}}"></script>
|
||||
{{/* memory-ui.js and persona-kb.js removed in v0.37.7 — no chat surface callers */}}
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/projects-ui.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/channel-models.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/notification-prefs.js?v={{$.Version}}"></script>
|
||||
{{/* notification-prefs.js removed in v0.37.7 — now native Preact in settings */}}
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/notifications.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/chat.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/settings-handlers.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/admin-handlers.js?v={{$.Version}}"></script>
|
||||
{{/* settings-handlers.js, admin-handlers.js, workflow-admin.js removed in v0.37.7 */}}
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/workflow-api.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/workflow-admin.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/workflow-queue.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/task-sidebar.js?v={{$.Version}}"></script>
|
||||
<script type="module" nonce="{{$.CSPNonce}}" src="{{$.BasePath}}/js/app.js?v={{$.Version}}"></script>
|
||||
|
||||
Reference in New Issue
Block a user