fix: login button works, header no longer overflows
CI / test (push) Failing after 4s
CI / lint (push) Failing after 4s

- dashboard.py: decode session cookie and pass user to template
- notes.py: pass user to template (both GET and POST)
- CSS: .header-right flex layout, #user-info styles, min-height instead of fixed height
- Removed duplicate #user-info CSS block
- Login now properly shows admin/Deconnexion after authentication
This commit is contained in:
2026-07-08 10:00:30 -04:00
parent a67f42bfe6
commit d15cfb1d33
3 changed files with 23 additions and 9 deletions
+4
View File
@@ -39,11 +39,15 @@ async def dashboard(
repos = []
from jinja2 import Environment, FileSystemLoader
from app.auth.session import SessionManager
env = Environment(loader=FileSystemLoader("app/templates"))
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
template = env.get_template("dashboard.html")
return template.render(
request=request,
repos=repos,
search=search,
show_archived=show_archived,
user=user,
)
+6 -2
View File
@@ -22,9 +22,11 @@ async def get_notes(request: Request, owner: str, repo: str):
content = row["content"] if row else ""
from jinja2 import Environment, FileSystemLoader
from app.auth.session import SessionManager
env = Environment(loader=FileSystemLoader("app/templates"))
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
template = env.get_template("notes.html")
return template.render(request=request, owner=owner, repo=repo, content=content)
return template.render(request=request, owner=owner, repo=repo, content=content, user=user)
@router.post("/{owner}/{repo}", response_class=HTMLResponse)
@@ -43,6 +45,8 @@ async def save_notes(request: Request, owner: str, repo: str):
conn.commit()
from jinja2 import Environment, FileSystemLoader
from app.auth.session import SessionManager
env = Environment(loader=FileSystemLoader("app/templates"))
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
template = env.get_template("notes.html")
return template.render(request=request, owner=owner, repo=repo, content=content)
return template.render(request=request, owner=owner, repo=repo, content=content, user=user)
+13 -7
View File
@@ -37,14 +37,24 @@ body { min-height: 100vh; }
/* ── Header ── */
.app-header {
display: flex; align-items: center; justify-content: space-between;
padding: 0 16px; height: 48px; border-bottom: 1px solid var(--border);
background: var(--bg-card);
padding: 0 16px; min-height: 48px; border-bottom: 1px solid var(--border);
background: var(--bg-card); gap: 12px; flex-shrink: 0;
}
.header-left { display: flex; align-items: center; flex-shrink: 0; }
.header-right {
display: flex; align-items: center; gap: 10px; flex-shrink: 0;
flex-wrap: nowrap;
}
#user-info {
display: flex; align-items: center; gap: 6px; font-size: 13px;
color: var(--text-dim); white-space: nowrap;
}
#user-info .avatar { width: 20px; height: 20px; border-radius: 50%; }
.logo { text-decoration: none; display: flex; align-items: center; gap: 8px; }
.logo-icon { font-size: 22px; color: var(--accent); }
.logo-text { font-size: 16px; font-weight: 700; color: var(--text); }
.theme-toggle { background: none; border: 1px solid var(--border); border-radius: 6px;
padding: 4px 8px; cursor: pointer; font-size: 16px; }
padding: 4px 8px; cursor: pointer; font-size: 16px; flex-shrink: 0; }
/* ── Dashboard ── */
.dashboard { max-width: 900px; margin: 0 auto; padding: 24px 16px; }
@@ -239,10 +249,6 @@ body { min-height: 100vh; }
/* ── Loading ── */
.loading { text-align: center; padding: 24px; color: var(--text-dim); }
/* ── User info ── */
#user-info { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-dim); }
#user-info .avatar { width: 20px; height: 20px; }
/* ── Responsive ── */
@media (max-width: 768px) {
.board-columns { flex-direction: column; }