sync - added week menus

This commit is contained in:
2025-09-22 09:56:30 -07:00
parent 45779f1739
commit 3344d88691
6 changed files with 25 additions and 14 deletions

10
main.py
View File

@@ -74,7 +74,7 @@ class Plan(Base):
__tablename__ = "plans"
id = Column(Integer, primary_key=True, index=True)
person = Column(String, index=True) # Person A or Person B
person = Column(String, index=True) # Sarah or Stuart
date = Column(Date, index=True) # Store actual calendar dates
meal_id = Column(Integer, ForeignKey("meals.id"))
meal_time = Column(String) # Breakfast, Lunch, Dinner, Snack 1, Snack 2, Beverage 1, Beverage 2
@@ -126,7 +126,7 @@ class TrackedDay(Base):
__tablename__ = "tracked_days"
id = Column(Integer, primary_key=True, index=True)
person = Column(String, index=True) # Person A or Person B
person = Column(String, index=True) # Sarah or Stuart
date = Column(Date, index=True) # Date being tracked
is_modified = Column(Boolean, default=False) # Whether this day has been modified from original plan
@@ -928,7 +928,7 @@ async def delete_meals(meal_ids: dict = Body(...), db: Session = Depends(get_db)
# Plan tab
@app.get("/plan", response_class=HTMLResponse)
async def plan_page(request: Request, person: str = "Person A", week_start_date: str = None, db: Session = Depends(get_db)):
async def plan_page(request: Request, person: str = "Sarah", week_start_date: str = None, db: Session = Depends(get_db)):
from datetime import datetime, timedelta
# If no week_start_date provided, use current week starting from Monday
@@ -1095,7 +1095,7 @@ async def remove_from_plan(plan_id: int, db: Session = Depends(get_db)):
return {"status": "error", "message": str(e)}
@app.get("/detailed", response_class=HTMLResponse)
async def detailed(request: Request, person: str = "Person A", plan_date: str = None, template_id: int = None, db: Session = Depends(get_db)):
async def detailed(request: Request, person: str = "Sarah", plan_date: str = None, template_id: int = None, db: Session = Depends(get_db)):
from datetime import datetime
if template_id:
@@ -1458,7 +1458,7 @@ async def delete_weekly_menu(weekly_menu_id: int, db: Session = Depends(get_db))
# Tracker tab
@app.get("/tracker", response_class=HTMLResponse)
async def tracker_page(request: Request, person: str = "Person A", date: str = None, db: Session = Depends(get_db)):
async def tracker_page(request: Request, person: str = "Sarah", date: str = None, db: Session = Depends(get_db)):
from datetime import datetime, date as date_type
# If no date provided, use today

View File

@@ -21,7 +21,7 @@ class TrackedDay(Base):
__tablename__ = "tracked_days"
id = Column(Integer, primary_key=True, index=True)
person = Column(String, index=True) # Person A or Person B
person = Column(String, index=True) # Sarah or Stuart
date = Column(Date, index=True) # Date being tracked
class TrackedMeal(Base):

View File

@@ -47,8 +47,8 @@
<div class="container-fluid">
<div class="person-toggle">
<select id="personSelect" class="form-select" onchange="switchPerson()">
<option value="Person A" {% if person == "Person A" %}selected{% endif %}>Person A</option>
<option value="Person B" {% if person == "Person B" %}selected{% endif %}>Person B</option>
<option value="Sarah" {% if person == "Sarah" %}selected{% endif %}>Sarah</option>
<option value="Stuart" {% if person == "Stuart" %}selected{% endif %}>Stuart</option>
</select>
</div>
@@ -104,6 +104,7 @@
<script>
function switchPerson() {
const person = document.getElementById('personSelect').value;
localStorage.setItem('selectedPerson', person);
const currentUrl = new URL(window.location);
currentUrl.searchParams.set('person', person);
window.location.href = currentUrl.toString();
@@ -111,6 +112,15 @@
// Set active tab based on current URL
document.addEventListener('DOMContentLoaded', function() {
// Set person selection from localStorage if available
const savedPerson = localStorage.getItem('selectedPerson');
if (savedPerson) {
const personSelect = document.getElementById('personSelect');
if (personSelect) {
personSelect.value = savedPerson;
}
}
const currentPath = window.location.pathname;
const tabs = document.querySelectorAll('.nav-link');

View File

@@ -34,8 +34,8 @@
<div class="container-fluid">
<div class="person-toggle">
<select id="personSelect" class="form-select" onchange="switchPerson()">
<option value="Person A" {% if person == "Person A" %}selected{% endif %}>Person A</option>
<option value="Person B" {% if person == "Person B" %}selected{% endif %}>Person B</option>
<option value="Sarah" {% if person == "Sarah" %}selected{% endif %}>Sarah</option>
<option value="Stuart" {% if person == "Stuart" %}selected{% endif %}>Stuart</option>
</select>
</div>
@@ -65,6 +65,7 @@
<script>
function switchPerson() {
const person = document.getElementById('personSelect').value;
localStorage.setItem('selectedPerson', person);
const currentUrl = new URL(window.location);
currentUrl.searchParams.set('person', person);
window.location.href = currentUrl.toString();

View File

@@ -162,8 +162,8 @@
<div class="mb-3">
<label for="person" class="form-label">Person</label>
<select class="form-control" id="person" name="person" required>
<option value="Person A">Person A</option>
<option value="Person B">Person B</option>
<option value="Sarah">Sarah</option>
<option value="Stuart">Stuart</option>
</select>
</div>
<div id="overwriteWarning" class="alert alert-warning" style="display: none;">

View File

@@ -162,8 +162,8 @@
<div class="mb-3">
<label for="applyPerson" class="form-label">Person</label>
<select class="form-control" id="applyPerson" name="person" required>
<option value="Person A">Person A</option>
<option value="Person B">Person B</option>
<option value="Sarah">Sarah</option>
<option value="Stuart">Stuart</option>
</select>
</div>
<div id="applyOverwriteWarning" class="alert alert-warning" style="display: none;">