feat(dashboard): add corpus dashboard at /dashboard/
Full private corpus dashboard for tools.dobetternorge.no users — each SSO
account gets an auto-provisioned CaveauAI tenant (clients row, corpus) on
first visit. Includes upload (file/paste/URL), RAG chat with SSE streaming
and citation chips, document CRUD, FalkorDB graph relations tab, and
improved save-from-tool flow with tag/preview support.
- dashboard/{index,documents,document,upload,chat,settings}.php
- api/dashboard/{corpus-init,documents,upload,ingest-status,chat-stream,
save-from-tool,graph}.php
- includes/{CorpusProvision,layout_dashboard,layout_dashboard_footer}.php
- assets/css/dashboard.css assets/js/corpus-save.js (routing upgrade)
- includes/{bootstrap,layout}.php extended for dashboard provisioning
Migration 141 (clients.dbn_sso_uid + import_method enum) applied on chloe.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
</div><!-- /dash-main__body -->
|
||||
</main><!-- /dash-main -->
|
||||
</div><!-- /dash-layout -->
|
||||
</div><!-- /dash-shell -->
|
||||
|
||||
<script src="/assets/js/tools.js" defer></script>
|
||||
<?php if (!empty($extraScripts) && is_array($extraScripts)): foreach ($extraScripts as $extraScript): ?>
|
||||
<script src="<?= htmlspecialchars((string)$extraScript) ?>" defer></script>
|
||||
<?php endforeach; endif; ?>
|
||||
<script src="/assets/js/corpus-save.js" defer></script>
|
||||
|
||||
<dialog id="save-corpus-dialog" class="save-corpus-dialog">
|
||||
<form method="dialog" id="save-corpus-form">
|
||||
<h3>Save to corpus</h3>
|
||||
<p class="save-corpus-hint">This will be indexed and searchable in your private corpus.</p>
|
||||
<label>
|
||||
<span>Title <span aria-hidden="true">*</span></span>
|
||||
<input id="save-corpus-title" type="text" required autocomplete="off">
|
||||
</label>
|
||||
<label>
|
||||
<span>Tags <span class="save-corpus-optional">(comma-separated)</span></span>
|
||||
<input id="save-corpus-tags" type="text" placeholder="e.g. barnevern, 2024, kjennelse">
|
||||
</label>
|
||||
<menu>
|
||||
<button type="submit" class="btn-primary">Save</button>
|
||||
<button type="button" id="save-corpus-cancel">Cancel</button>
|
||||
</menu>
|
||||
</form>
|
||||
</dialog>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user