Spaces:
Runtime error
Runtime error
Update menu.py
Browse files
menu.py
CHANGED
@@ -52,6 +52,7 @@ def menu():
|
|
52 |
user_name = session.get('user_name')
|
53 |
|
54 |
first_letter = user_name[0].upper() if user_name else "A"
|
|
|
55 |
|
56 |
# Fetch user referral and reward points
|
57 |
user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
|
@@ -150,9 +151,35 @@ def menu():
|
|
150 |
reward_points=reward_points,
|
151 |
user_name=user_name,
|
152 |
first_letter=first_letter,
|
153 |
-
cart_item_count=cart_item_count
|
|
|
154 |
)
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
@menu_blueprint.route('/api/addons', methods=['GET'])
|
157 |
def get_addons():
|
158 |
item_name = request.args.get('item_name')
|
|
|
52 |
user_name = session.get('user_name')
|
53 |
|
54 |
first_letter = user_name[0].upper() if user_name else "A"
|
55 |
+
user_image = session.get('user_image') # Add avatar image from session
|
56 |
|
57 |
# Fetch user referral and reward points
|
58 |
user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
|
|
|
151 |
reward_points=reward_points,
|
152 |
user_name=user_name,
|
153 |
first_letter=first_letter,
|
154 |
+
cart_item_count=cart_item_count,
|
155 |
+
user_image=user_image # Pass user_image to template
|
156 |
)
|
157 |
|
158 |
+
@menu_blueprint.route('/upload_avatar', methods=['POST'])
|
159 |
+
def upload_avatar():
|
160 |
+
data = request.get_json()
|
161 |
+
if not data or 'image' not in data:
|
162 |
+
return jsonify({'success': False, 'error': 'No image data provided'})
|
163 |
+
|
164 |
+
image_data = data['image']
|
165 |
+
# Validate base64 image
|
166 |
+
if not image_data.startswith('data:image/'):
|
167 |
+
return jsonify({'success': False, 'error': 'Invalid image format'})
|
168 |
+
|
169 |
+
# Limit size to ~1MB (base64 encoded size)
|
170 |
+
if len(image_data) > 1_400_000:
|
171 |
+
return jsonify({'success': False, 'error': 'Image too large (max 1MB)'})
|
172 |
+
|
173 |
+
session['user_image'] = image_data
|
174 |
+
return jsonify({'success': True, 'image': image_data})
|
175 |
+
|
176 |
+
@menu_blueprint.route('/delete_avatar', methods=['POST'])
|
177 |
+
def delete_avatar():
|
178 |
+
if 'user_image' in session:
|
179 |
+
session.pop('user_image', None)
|
180 |
+
return jsonify({'success': True})
|
181 |
+
return jsonify({'success': False, 'error': 'No image to delete'})
|
182 |
+
|
183 |
@menu_blueprint.route('/api/addons', methods=['GET'])
|
184 |
def get_addons():
|
185 |
item_name = request.args.get('item_name')
|