Spaces:
Sleeping
Sleeping
David Ko
commited on
Commit
·
64663bd
1
Parent(s):
68634f6
Fix login redirect loop by improving login and serve_react functions
Browse files
api.py
CHANGED
|
@@ -1153,8 +1153,8 @@ def login():
|
|
| 1153 |
if next_page and next_page.startswith('/') and next_page != '/login':
|
| 1154 |
print(f"Redirecting to: {next_page}")
|
| 1155 |
return redirect(next_page)
|
| 1156 |
-
print("Redirecting to
|
| 1157 |
-
return
|
| 1158 |
else:
|
| 1159 |
error = 'Invalid username or password'
|
| 1160 |
print(f"Login failed: {error}")
|
|
@@ -1171,10 +1171,16 @@ def logout():
|
|
| 1171 |
@login_required
|
| 1172 |
def serve_react(path):
|
| 1173 |
"""Serve React frontend"""
|
| 1174 |
-
print(f"Serving React frontend for path: {path}, user: {current_user.username}")
|
| 1175 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1176 |
return send_from_directory(app.static_folder, path)
|
| 1177 |
else:
|
|
|
|
| 1178 |
return send_from_directory(app.static_folder, 'index.html')
|
| 1179 |
|
| 1180 |
@app.route('/similar-images', methods=['GET'])
|
|
|
|
| 1153 |
if next_page and next_page.startswith('/') and next_page != '/login':
|
| 1154 |
print(f"Redirecting to: {next_page}")
|
| 1155 |
return redirect(next_page)
|
| 1156 |
+
print("Redirecting to static index.html")
|
| 1157 |
+
return send_from_directory(app.static_folder, 'index.html')
|
| 1158 |
else:
|
| 1159 |
error = 'Invalid username or password'
|
| 1160 |
print(f"Login failed: {error}")
|
|
|
|
| 1171 |
@login_required
|
| 1172 |
def serve_react(path):
|
| 1173 |
"""Serve React frontend"""
|
| 1174 |
+
print(f"Serving React frontend for path: {path}, user: {current_user.username if current_user.is_authenticated else 'not authenticated'}")
|
| 1175 |
+
# Handle static files directly
|
| 1176 |
+
if path.startswith('static/'):
|
| 1177 |
+
file_path = path[7:] # Remove 'static/' prefix
|
| 1178 |
+
return send_from_directory(app.static_folder, file_path)
|
| 1179 |
+
# Handle other static files in root of static folder
|
| 1180 |
+
elif path != "" and os.path.exists(os.path.join(app.static_folder, path)):
|
| 1181 |
return send_from_directory(app.static_folder, path)
|
| 1182 |
else:
|
| 1183 |
+
# Serve the React app's index.html for all other routes
|
| 1184 |
return send_from_directory(app.static_folder, 'index.html')
|
| 1185 |
|
| 1186 |
@app.route('/similar-images', methods=['GET'])
|