Spaces:
Sleeping
Sleeping
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')
|