18
18
{% block content %}
19
19
{% include "includes/sidenav.html" %}
20
20
< div class ="container mx-auto px-4 py-8 ">
21
- < div class ="max-w-4xl mx-auto ">
21
+ < div class ="lg: max-w-[1700px] mx-auto ">
22
22
<!-- Header -->
23
23
< div class ="text-center mb-12 ">
24
24
< h2 class ="text-3xl font-bold text-gray-900 "> Edit Profile</ h2 >
@@ -27,7 +27,7 @@ <h2 class="text-3xl font-bold text-gray-900">Edit Profile</h2>
27
27
<!-- Main Form -->
28
28
< form method ="post "
29
29
enctype ="multipart/form-data "
30
- class ="bg-white rounded-2xl shadow-xl p -8 ">
30
+ class =" bg-white rounded-xl w-full border border-gray-200 shadow-md py-10 px -8 ">
31
31
{% csrf_token %}
32
32
< div class ="grid grid-cols-1 lg:grid-cols-2 gap-8 ">
33
33
<!-- Left Column -->
@@ -47,7 +47,7 @@ <h2 class="text-3xl font-bold text-gray-900">Edit Profile</h2>
47
47
</ div >
48
48
{% endif %}
49
49
< label for ="id_user_avatar "
50
- class ="absolute bottom-0 right-0 bg-[#e74c3c] text-white p -2 rounded-full cursor-pointer hover:bg-red-700 transition-colors ">
50
+ class ="absolute bottom-0 right-0 bg-[#e74c3c] text-white px-3 py -2 rounded-full cursor-pointer hover:bg-red-700 transition-colors ">
51
51
< i class ="fas fa-camera "> </ i >
52
52
</ label >
53
53
< input type ="file "
@@ -66,7 +66,7 @@ <h2 class="text-3xl font-bold text-gray-900">Edit Profile</h2>
66
66
name ="role "
67
67
id ="id_role "
68
68
value ="{{ form.role.value }} "
69
- class ="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
69
+ class ="w-full placeholder:text-base px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
70
70
placeholder ="e.g., Security Researcher ">
71
71
</ div >
72
72
< div >
@@ -75,7 +75,7 @@ <h2 class="text-3xl font-bold text-gray-900">Edit Profile</h2>
75
75
< textarea name ="description "
76
76
id ="id_description "
77
77
rows ="4 "
78
- class ="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
78
+ class ="w-full placeholder:text-base px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
79
79
placeholder ="Tell us about yourself... "> {{ form.description.value }}</ textarea >
80
80
</ div >
81
81
</ div >
@@ -91,7 +91,7 @@ <h2 class="text-3xl font-bold text-gray-900">Edit Profile</h2>
91
91
name ="discounted_hourly_rate "
92
92
id ="id_discounted_hourly_rate "
93
93
value ="{{ form.discounted_hourly_rate.value }} "
94
- class ="w-full pl-8 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
94
+ class ="w-full placeholder:text-base pl-8 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
95
95
placeholder ="0.00 ">
96
96
</ div >
97
97
</ div >
@@ -108,7 +108,7 @@ <h3 class="text-lg font-semibold text-gray-900">Social Links</h3>
108
108
name ="linkedin_url "
109
109
id ="id_linkedin_url "
110
110
value ="{{ form.linkedin_url.value|default_if_none:'' }} "
111
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
111
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
112
112
placeholder ="https://linkedin.com/in/username ">
113
113
</ div >
114
114
</ div >
@@ -121,7 +121,7 @@ <h3 class="text-lg font-semibold text-gray-900">Social Links</h3>
121
121
name ="github_url "
122
122
id ="id_github_url "
123
123
value ="{{ form.github_url.value|default_if_none:'' }} "
124
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
124
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
125
125
placeholder ="https://github.com/username ">
126
126
</ div >
127
127
</ div >
@@ -134,7 +134,7 @@ <h3 class="text-lg font-semibold text-gray-900">Social Links</h3>
134
134
name ="x_username "
135
135
id ="id_x_username "
136
136
value ="{{ form.x_username.value|default_if_none:'' }} "
137
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
137
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
138
138
placeholder ="@username ">
139
139
</ div >
140
140
</ div >
@@ -147,20 +147,20 @@ <h3 class="text-lg font-semibold text-gray-900">Social Links</h3>
147
147
name ="website_url "
148
148
id ="id_website_url "
149
149
value ="{{ form.website_url.value|default_if_none:'' }} "
150
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
150
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
151
151
placeholder ="https://yourwebsite.com ">
152
152
</ div >
153
153
</ div >
154
154
</ div >
155
155
</ div >
156
156
<!-- Issues Hidden -->
157
- < div class ="flex items-center ">
157
+ < div class ="flex items-center ">
158
158
< input type ="checkbox "
159
159
name ="issues_hidden "
160
160
id ="id_issues_hidden "
161
161
class ="h-5 w-5 text-[#e74c3c] border-gray-300 rounded focus:ring-[#e74c3c] "
162
162
{% if form.issues_hidden.value %}checked{% endif %} >
163
- < label for ="id_issues_hidden " class ="ml-3 text-sm font-medium text-gray-700 "> Hide Issues</ label >
163
+ < p for ="id_issues_hidden " class ="ml-3 text-sm font-medium text-gray-700 "> Hide Issues</ p >
164
164
</ div >
165
165
</ div >
166
166
<!-- Right Column -->
@@ -174,7 +174,7 @@ <h3 class="text-lg font-semibold text-gray-900">Social Links</h3>
174
174
name ="email "
175
175
id ="id_email "
176
176
value ="{{ form.email.value|default_if_none:'' }} "
177
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
177
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
178
178
required >
179
179
</ div >
180
180
{% if form.email.errors %}< div class ="mt-2 text-sm text-red-600 "> {{ form.email.errors }}</ div > {% endif %}
@@ -192,7 +192,7 @@ <h3 class="text-lg font-semibold text-gray-900">Crypto Addresses</h3>
192
192
name ="btc_address "
193
193
id ="id_btc_address "
194
194
value ="{{ form.btc_address.value|default_if_none:'' }} "
195
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
195
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
196
196
placeholder ="BTC Address ">
197
197
</ div >
198
198
</ div >
@@ -205,7 +205,7 @@ <h3 class="text-lg font-semibold text-gray-900">Crypto Addresses</h3>
205
205
name ="bch_address "
206
206
id ="id_bch_address "
207
207
value ="{{ form.bch_address.value|default_if_none:'' }} "
208
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
208
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
209
209
placeholder ="BCH Address ">
210
210
</ div >
211
211
</ div >
@@ -218,7 +218,7 @@ <h3 class="text-lg font-semibold text-gray-900">Crypto Addresses</h3>
218
218
name ="eth_address "
219
219
id ="id_eth_address "
220
220
value ="{{ form.eth_address.value|default_if_none:'' }} "
221
- class ="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
221
+ class ="w-full placeholder:text-base pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
222
222
placeholder ="ETH Address ">
223
223
</ div >
224
224
</ div >
@@ -230,7 +230,7 @@ <h3 class="text-lg font-semibold text-gray-900">Crypto Addresses</h3>
230
230
< div class ="relative ">
231
231
< input type ="text "
232
232
id ="tagSearch "
233
- class ="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
233
+ class ="w-full placeholder:text-base px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
234
234
placeholder ="Search tags... ">
235
235
</ div >
236
236
< div id ="tagContainer "
@@ -259,27 +259,25 @@ <h3 class="text-lg font-semibold text-gray-900">Crypto Addresses</h3>
259
259
< div class ="relative ">
260
260
< input type ="text "
261
261
id ="domainSearch "
262
- class ="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
262
+ class ="w-full placeholder:text-base px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
263
263
placeholder ="Search domains... ">
264
264
</ div >
265
265
< div id ="domainContainer "
266
266
class ="mt-4 max-h-48 overflow-y-auto border border-gray-300 rounded-lg p-4 ">
267
267
< div class ="flex flex-wrap gap-2 ">
268
268
{% for domain in form.subscribed_domains.field.queryset %}
269
- {% if domain.id in form.subscribed_domains.value %}
270
- < div class ="domain-item ">
271
- < input type ="checkbox "
272
- name ="subscribed_domains "
273
- value ="{{ domain.id }} "
274
- id ="domain_{{ domain.id }} "
275
- class ="hidden "
276
- checked >
277
- < label for ="domain_{{ domain.id }} "
278
- class ="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium cursor-pointer bg-[#e74c3c] text-white hover:bg-red-700 transition-colors ">
279
- {{ domain.name }}
280
- </ label >
281
- </ div >
282
- {% endif %}
269
+ < div class ="domain-item ">
270
+ < input type ="checkbox "
271
+ name ="subscribed_domains "
272
+ value ="{{ domain.id }} "
273
+ id ="domain_{{ domain.id }} "
274
+ class ="hidden "
275
+ {% if domain.id in form.subscribed_domains.value %}checked{% endif %} >
276
+ < label for ="domain_{{ domain.id }} "
277
+ class ="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium cursor-pointer transition-colors {% if domain.id in form.subscribed_domains.value %}bg-[#e74c3c] text-white hover:bg-red-700{% else %}bg-gray-100 text-gray-700 hover:bg-gray-200{% endif %} ">
278
+ {{ domain.name }}
279
+ </ label >
280
+ </ div >
283
281
{% endfor %}
284
282
</ div >
285
283
</ div >
@@ -290,27 +288,25 @@ <h3 class="text-lg font-semibold text-gray-900">Crypto Addresses</h3>
290
288
< div class ="relative ">
291
289
< input type ="text "
292
290
id ="userSearch "
293
- class ="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
291
+ class ="w-full placeholder:text-base px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#e74c3c] focus:border-[#e74c3c] "
294
292
placeholder ="Search users... ">
295
293
</ div >
296
294
< div id ="userContainer "
297
295
class ="mt-4 max-h-48 overflow-y-auto border border-gray-300 rounded-lg p-4 ">
298
296
< div class ="flex flex-wrap gap-2 ">
299
297
{% for user in form.subscribed_users.field.queryset %}
300
- {% if user.id in form.subscribed_users.value %}
301
- < div class ="user-item ">
302
- < input type ="checkbox "
303
- name ="subscribed_users "
304
- value ="{{ user.id }} "
305
- id ="user_{{ user.id }} "
306
- class ="hidden "
307
- checked >
308
- < label for ="user_{{ user.id }} "
309
- class ="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium cursor-pointer bg-[#e74c3c] text-white hover:bg-red-700 transition-colors ">
310
- {{ user.username }}
311
- </ label >
312
- </ div >
313
- {% endif %}
298
+ < div class ="user-item ">
299
+ < input type ="checkbox "
300
+ name ="subscribed_users "
301
+ value ="{{ user.id }} "
302
+ id ="user_{{ user.id }} "
303
+ class ="hidden "
304
+ {% if user.id in form.subscribed_users.value %}checked{% endif %} >
305
+ < label for ="user_{{ user.id }} "
306
+ class ="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium cursor-pointer transition-colors {% if user.id in form.subscribed_users.value %}bg-[#e74c3c] text-white hover:bg-red-700{% else %}bg-gray-100 text-gray-700 hover:bg-gray-200{% endif %} ">
307
+ {{ user.username }}
308
+ </ label >
309
+ </ div >
314
310
{% endfor %}
315
311
</ div >
316
312
</ div >
@@ -326,8 +322,8 @@ <h3 class="text-lg font-semibold text-gray-900">Crypto Addresses</h3>
326
322
</ div >
327
323
</ form >
328
324
<!-- Danger Zone -->
329
- < div class ="mt-12 p-6 bg-red-50 rounded-lg border border-red-200 ">
330
- < h3 class ="text-lg font-semibold text-red-700 mb-4 "> Danger Zone</ h3 >
325
+ < div class ="mt-12 p-6 bg-red-50 rounded-lg border flex justify-between border-red-200 ">
326
+ < h3 class ="text-lg font-semibold text-red-700 "> Danger Zone</ h3 >
331
327
< form action ="{% url 'user_deletion' %} "
332
328
method ="post "
333
329
onsubmit ="return confirm('Are you sure you want to delete your account? This action cannot be undone.'); ">
0 commit comments