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 }}
+
+
+
+
+
+
+
+ | 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 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