fix: login button works, header no longer overflows
- 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:
@@ -39,11 +39,15 @@ async def dashboard(
|
|||||||
repos = []
|
repos = []
|
||||||
|
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
from app.auth.session import SessionManager
|
||||||
|
|
||||||
env = Environment(loader=FileSystemLoader("app/templates"))
|
env = Environment(loader=FileSystemLoader("app/templates"))
|
||||||
|
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
|
||||||
template = env.get_template("dashboard.html")
|
template = env.get_template("dashboard.html")
|
||||||
return template.render(
|
return template.render(
|
||||||
request=request,
|
request=request,
|
||||||
repos=repos,
|
repos=repos,
|
||||||
search=search,
|
search=search,
|
||||||
show_archived=show_archived,
|
show_archived=show_archived,
|
||||||
|
user=user,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -22,9 +22,11 @@ async def get_notes(request: Request, owner: str, repo: str):
|
|||||||
content = row["content"] if row else ""
|
content = row["content"] if row else ""
|
||||||
|
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
from app.auth.session import SessionManager
|
||||||
env = Environment(loader=FileSystemLoader("app/templates"))
|
env = Environment(loader=FileSystemLoader("app/templates"))
|
||||||
|
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
|
||||||
template = env.get_template("notes.html")
|
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)
|
@router.post("/{owner}/{repo}", response_class=HTMLResponse)
|
||||||
@@ -43,6 +45,8 @@ async def save_notes(request: Request, owner: str, repo: str):
|
|||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
from app.auth.session import SessionManager
|
||||||
env = Environment(loader=FileSystemLoader("app/templates"))
|
env = Environment(loader=FileSystemLoader("app/templates"))
|
||||||
|
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
|
||||||
template = env.get_template("notes.html")
|
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
@@ -37,14 +37,24 @@ body { min-height: 100vh; }
|
|||||||
/* ── Header ── */
|
/* ── Header ── */
|
||||||
.app-header {
|
.app-header {
|
||||||
display: flex; align-items: center; justify-content: space-between;
|
display: flex; align-items: center; justify-content: space-between;
|
||||||
padding: 0 16px; height: 48px; border-bottom: 1px solid var(--border);
|
padding: 0 16px; min-height: 48px; border-bottom: 1px solid var(--border);
|
||||||
background: var(--bg-card);
|
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 { text-decoration: none; display: flex; align-items: center; gap: 8px; }
|
||||||
.logo-icon { font-size: 22px; color: var(--accent); }
|
.logo-icon { font-size: 22px; color: var(--accent); }
|
||||||
.logo-text { font-size: 16px; font-weight: 700; color: var(--text); }
|
.logo-text { font-size: 16px; font-weight: 700; color: var(--text); }
|
||||||
.theme-toggle { background: none; border: 1px solid var(--border); border-radius: 6px;
|
.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 ── */
|
||||||
.dashboard { max-width: 900px; margin: 0 auto; padding: 24px 16px; }
|
.dashboard { max-width: 900px; margin: 0 auto; padding: 24px 16px; }
|
||||||
@@ -239,10 +249,6 @@ body { min-height: 100vh; }
|
|||||||
/* ── Loading ── */
|
/* ── Loading ── */
|
||||||
.loading { text-align: center; padding: 24px; color: var(--text-dim); }
|
.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 ── */
|
/* ── Responsive ── */
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.board-columns { flex-direction: column; }
|
.board-columns { flex-direction: column; }
|
||||||
|
|||||||
Reference in New Issue
Block a user