{#- dashboard_client.html — the client role's dashboard. Inherits layout_app. Backend: GET /dashboard -> render_template("dashboard_client.html") when current_role() != 'admin' (app.py). CONTEXT (all real, no placeholders): current_user : dict injected globally by the app.py context_processor (auth.current_user() -> db.get_user()). Fields available: id, email, role, status, created_at, updated_at. password_hash is never used in a template. This page shows the signed-in client the real state of their own account and the real actions available to them — change password (GET /forgot) and log out (POST /logout) — using only what the framework already exposes. No mock numbers. As you build client features, add real cards here the same way. Note how little this decides: the sidebar, user card, theme, collapse, and security all come from layout_app. This page only fills the topbar + content. -#} {% extends "layout_app.html" %} {% block title %}Dashboard{% endblock %} {% block app_topbar %}
Your account

Welcome back

Change password
{% endblock %} {% block content %} {#- Account overview — every value comes from current_user, which is real. -#}
Status

{%- if current_user.status == 'active' %} Active {%- elif current_user.status == 'pending' %} Pending {%- else %} {{ current_user.status | capitalize }} {%- endif %}

{%- if current_user.status == 'active' %}Your account is active. {%- elif current_user.status == 'pending' %}Finish setup to activate. {%- else %}Contact support if this is unexpected.{% endif %}

Member since

{{ current_user.created_at[:10] }}

Account created

Last updated

{{ current_user.updated_at[:10] }}

Most recent account change

{#- Account details panel — real identity fields, and real actions that map to existing routes (forgot = change password, logout = end session). -#}

Account details

{{ current_user.role }}
{#- Security actions — both point at real routes. Change password is a link to GET /forgot; logout is a CSRF-protected POST to /logout, matching the form the sidebar already uses. -#}

Security

Change password
{% endblock %} {% block scripts %} {% endblock %}