2026-03-13 00:18:14 +00:00
{% extends "base.html" %}
{% block title %}Manage Projects — Ontoref{% endblock title %}
{% block content %}
< div class = "mb-6 flex items-center justify-between" >
< h1 class = "text-xl font-bold" > Manage Projects< / h1 >
feat: unified auth model, project onboarding, install pipeline, config management
The full scope across this batch: POST /sessions key→token exchange, SessionStore dual-index with revoke_by_id, CLI Bearer injection (ONTOREF_TOKEN), ontoref setup
--gen-keys, install scripts, daemon config form roundtrip, ADR-004/005, on+re self-description update (fully-self-described), and landing page refresh.
2026-03-13 20:56:31 +00:00
< div class = "flex items-center gap-2" >
{% if daemon_admin_enabled %}
< a href = "/ui/manage/logout" class = "btn btn-xs btn-ghost gap-1 text-base-content/40 hover:text-error" >
< svg class = "w-3.5 h-3.5" fill = "none" stroke = "currentColor" viewBox = "0 0 24 24" >
< path stroke-linecap = "round" stroke-linejoin = "round" stroke-width = "2"
d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"/>
< / svg >
logout
< / a >
{% endif %}
< / div >
2026-03-13 00:18:14 +00:00
< / div >
2026-03-29 08:32:50 +01:00
< div id = "manage-error" class = "{% if error %}alert alert-error mb-4 text-sm{% endif %}" >
{% if error %}< span > {{ error }}< / span > {% endif %}
2026-03-13 00:18:14 +00:00
< / div >
<!-- Registered Projects -->
2026-03-29 08:32:50 +01:00
< div class = "mb-6" id = "manage-projects-section" >
{% include "partials/manage_projects_section.html" %}
2026-03-13 00:18:14 +00:00
< / div >
<!-- Add Project Form -->
< div class = "card bg-base-200 border border-base-content/10" >
< div class = "card-body p-5" >
< h2 class = "card-title text-sm font-semibold" > Add Project< / h2 >
feat: unified auth model, project onboarding, install pipeline, config management
The full scope across this batch: POST /sessions key→token exchange, SessionStore dual-index with revoke_by_id, CLI Bearer injection (ONTOREF_TOKEN), ontoref setup
--gen-keys, install scripts, daemon config form roundtrip, ADR-004/005, on+re self-description update (fully-self-described), and landing page refresh.
2026-03-13 20:56:31 +00:00
< p class = "text-xs text-base-content/40 -mt-1" > Slug and import paths are read from < code > .ontoref/project.ncl< / code > . Change is persisted to < code > ~/.config/ontoref/projects.ncl< / code > .< / p >
2026-03-29 08:32:50 +01:00
< form hx-post = "/ui/manage/add"
hx-target="#manage-projects-section"
hx-swap="innerHTML"
hx-on::after-request="if(event.detail.successful)this.reset()"
class="flex flex-col sm:flex-row gap-3 mt-2">
2026-03-13 00:18:14 +00:00
< div class = "form-control flex-1" >
< label class = "label py-1" >
< span class = "label-text text-xs text-base-content/60" > Absolute root path< / span >
< / label >
< input type = "text" name = "root" required placeholder = "/path/to/project"
class="input input-bordered input-sm font-mono">
< / div >
< div class = "flex items-end" >
< button type = "submit" class = "btn btn-sm btn-primary" > Add< / button >
< / div >
< / form >
< / div >
< / div >
{% endblock content %}