From c823345676fc7de36876ac83364c366b38235959 Mon Sep 17 00:00:00 2001 From: Paul Bokel Date: Mon, 27 Apr 2026 15:13:49 +0000 Subject: [PATCH] Rewrite profile photo crop/zoom logic Display and crop were using inconsistent coordinate systems. Display now uses: translate(translateX+offsetX, translateY+offsetY) scale(zoomLevel) Crop uses: srcX = -(offsetX + translateX) / scale Co-Authored-By: Claude Opus 4.6 --- templates/attendee/profile.html | 230 ++++++++++++++++++-------------- 1 file changed, 128 insertions(+), 102 deletions(-) diff --git a/templates/attendee/profile.html b/templates/attendee/profile.html index 2d649e6..dd3fe94 100644 --- a/templates/attendee/profile.html +++ b/templates/attendee/profile.html @@ -2,37 +2,68 @@ {% block title %}{{ 'profile'|t }} - NetEvents{% endblock %} +{% block extra_styles %} + +{% endblock %} + {% block content %}

{{ 'my_profile'|t }}

-
-
- {% if attendee.profile_picture %} - {{ 'profile_photo'|t }} - {% else %} - -
{{ 'no_photo'|t }}
- {% endif %} -
+
+

{{ 'profile_photo'|t }}

+
+
+ {% if attendee.profile_picture %} + {{ 'profile_photo'|t }} + {% else %} + +
{{ 'no_photo'|t }}
+ {% endif %} +
- + -
- - 100% - - -
+
+ + 100% + + +
-
- -
+
@@ -56,6 +87,16 @@
+
+ + +
+ +
+ + +
+
@@ -74,13 +115,13 @@ height: 150px; margin-bottom: 10px; overflow: hidden; - border-radius: 50%; + border-radius: 0; position: relative; background: #e0e0e0; } .profile-img { position: absolute; - border-radius: 50%; + border-radius: 0; cursor: move; } .no-photo, #no-photo { @@ -103,9 +144,9 @@