diff --git a/packetserver/http/routers/dashboard.py b/packetserver/http/routers/dashboard.py index 8bebd37..7b0e42a 100644 --- a/packetserver/http/routers/dashboard.py +++ b/packetserver/http/routers/dashboard.py @@ -29,4 +29,17 @@ async def dashboard( return templates.TemplateResponse( "dashboard.html", {"request": request, "current_user": current_user.username, "messages": messages} + ) + +@router.get("/dashboard/profile", response_class=HTMLResponse) +async def profile_page( + request: Request, + current_user: HttpUser = Depends(get_current_http_user) +): + from packetserver.http.routers.profile import profile as api_profile + profile_data = await api_profile(current_user=current_user) + + return templates.TemplateResponse( + "profile.html", + {"request": request, "current_user": current_user.username, "profile": profile_data} ) \ No newline at end of file diff --git a/packetserver/http/templates/base.html b/packetserver/http/templates/base.html index c47a389..1f075d0 100644 --- a/packetserver/http/templates/base.html +++ b/packetserver/http/templates/base.html @@ -16,6 +16,7 @@ {# Basic Auth note #} (Close browser to logout) + Profile diff --git a/packetserver/http/templates/profile.html b/packetserver/http/templates/profile.html new file mode 100644 index 0000000..1491a55 --- /dev/null +++ b/packetserver/http/templates/profile.html @@ -0,0 +1,44 @@ +{% extends "base.html" %} + +{% block title %}Profile - {{ current_user }}{% endblock %} + +{% block content %} +

User Profile: {{ profile.username }}

+ +
+
+
+
+ General Information +
+
+ + + + + + + + +
Status{{ profile.status or "Not set" }}
Bio{{ profile.bio or "No bio" }}
Email{{ profile.email or "Not set" }}
Location{{ profile.location or "Not set" }}
Social Links{% if profile.socials %}{{ profile.socials | join(', ') }}{% else %}None{% endif %}
Created{{ profile.created_at }}
Last Seen{{ profile.last_seen }}
+
+
+ +
+
+ HTTP Gateway Access +
+
+ + + + + +
HTTP Enabled{% if profile.http_enabled %}Yes{% else %}No{% endif %}
RF Gateway Enabled{% if profile.rf_enabled %}Yes{% else %}No (blacklisted){% endif %}
HTTP Account Created{{ profile.http_created_at }}
Last HTTP Login{{ profile.http_last_login or "Never" }}
+
+
+
+
+ +← Back to Dashboard +{% endblock %} \ No newline at end of file