home: add minerva dashboard scaffold
Some checks failed
secret-guardrails / artifact-secret-scan (push) Has been cancelled
secret-guardrails / gitleaks (push) Has been cancelled

This commit is contained in:
Fizzlepoof
2026-05-25 15:40:26 +00:00
parent 6659fd929f
commit 2db6a23a2c
24 changed files with 1220 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
from __future__ import annotations
from pathlib import Path
from fastapi import APIRouter, Form, Request, status
from fastapi.responses import HTMLResponse, RedirectResponse
from fastapi.templating import Jinja2Templates
BASE_DIR = Path(__file__).resolve().parents[1]
templates = Jinja2Templates(directory=str(BASE_DIR / 'templates'))
router = APIRouter()
@router.get('/', response_class=HTMLResponse)
def dashboard(request: Request) -> HTMLResponse:
summary = request.app.state.store.dashboard_summary()
return templates.TemplateResponse(
request,
'dashboard.html',
{
'summary': summary,
},
)
@router.post('/quick-actions/notes')
def quick_add_note_form(
request: Request,
title: str = Form(...),
body: str = Form(...),
category: str = Form('note'),
) -> RedirectResponse:
request.app.state.store.add_quick_note(
{
'title': title,
'body': body,
'category': category,
'source': 'dashboard-form',
'pinned': False,
}
)
return RedirectResponse(url='/', status_code=status.HTTP_303_SEE_OTHER)