fix; bring back newsletters; nginx config broke the site
This commit is contained in:
		
							parent
							
								
									dbf748ab3f
								
							
						
					
					
						commit
						4934e7fbec
					
				
					 2 changed files with 32 additions and 0 deletions
				
			
		
							
								
								
									
										28
									
								
								server.py
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								server.py
									
										
									
									
									
								
							|  | @ -219,6 +219,34 @@ def unsubscribe(): | ||||||
|         app.logger.error(f"Error in unsubscribe endpoint: {e}") |         app.logger.error(f"Error in unsubscribe endpoint: {e}") | ||||||
|         return "Internal server error", 500 |         return "Internal server error", 500 | ||||||
| 
 | 
 | ||||||
|  | @app.route("/newsletters", methods=["GET"]) | ||||||
|  | def newsletters(): | ||||||
|  |     """ | ||||||
|  |     List all newsletters (newest first) with caching for better performance. | ||||||
|  |     """ | ||||||
|  |     try: | ||||||
|  |         newsletters = get_newsletters_cached() | ||||||
|  |         return render_template("newsletters.html", newsletters=newsletters) | ||||||
|  |     except Exception as e: | ||||||
|  |         app.logger.error(f"Error in newsletters endpoint: {e}") | ||||||
|  |         return "Internal server error", 500 | ||||||
|  | 
 | ||||||
|  | @app.route("/newsletter/<int:newsletter_id>", methods=["GET"]) | ||||||
|  | def newsletter_detail(newsletter_id): | ||||||
|  |     """ | ||||||
|  |     Show a single newsletter by its ID with caching. | ||||||
|  |     """ | ||||||
|  |     try: | ||||||
|  |         newsletter = get_newsletter_by_id_cached(newsletter_id) | ||||||
|  |          | ||||||
|  |         if not newsletter: | ||||||
|  |             return "Newsletter not found.", 404 | ||||||
|  | 
 | ||||||
|  |         return render_template("newsletter_detail.html", newsletter=newsletter) | ||||||
|  |     except Exception as e: | ||||||
|  |         app.logger.error(f"Error in newsletter_detail endpoint: {e}") | ||||||
|  |         return "Internal server error", 500 | ||||||
|  | 
 | ||||||
| @app.route("/admin/clear-cache", methods=["POST"]) | @app.route("/admin/clear-cache", methods=["POST"]) | ||||||
| def clear_cache(): | def clear_cache(): | ||||||
|     """Admin endpoint to clear newsletter cache""" |     """Admin endpoint to clear newsletter cache""" | ||||||
|  |  | ||||||
|  | @ -14,6 +14,10 @@ | ||||||
|     <nav class="navbar"> |     <nav class="navbar"> | ||||||
|         <div class="nav-container"> |         <div class="nav-container"> | ||||||
|             <a href="#" class="logo">Ride<span class="logo-accent">Aware</span></a> |             <a href="#" class="logo">Ride<span class="logo-accent">Aware</span></a> | ||||||
|  |             <ul class="nav-links"> | ||||||
|  |                 <li><a href="#features">Features</a></li> | ||||||
|  |                 <li><a href="/newsletters">Newsletters</a></li> | ||||||
|  |             </ul> | ||||||
|         </div> |         </div> | ||||||
|     </nav> |     </nav> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Cipher Vance
						Cipher Vance