diff --git a/.playwright-mcp/calendar-dropdown-test.png b/.playwright-mcp/calendar-dropdown-test.png
new file mode 100644
index 0000000..87fbf8d
Binary files /dev/null and b/.playwright-mcp/calendar-dropdown-test.png differ
diff --git a/.playwright-mcp/current-state.png b/.playwright-mcp/current-state.png
new file mode 100644
index 0000000..296da69
Binary files /dev/null and b/.playwright-mcp/current-state.png differ
diff --git a/.playwright-mcp/date-order-issue.png b/.playwright-mcp/date-order-issue.png
new file mode 100644
index 0000000..0ecfd60
Binary files /dev/null and b/.playwright-mcp/date-order-issue.png differ
diff --git a/.playwright-mcp/dropdown-opened.png b/.playwright-mcp/dropdown-opened.png
new file mode 100644
index 0000000..85dd4f2
Binary files /dev/null and b/.playwright-mcp/dropdown-opened.png differ
diff --git a/.playwright-mcp/dropdown-test-2.png b/.playwright-mcp/dropdown-test-2.png
new file mode 100644
index 0000000..dc39778
Binary files /dev/null and b/.playwright-mcp/dropdown-test-2.png differ
diff --git a/.playwright-mcp/final-state.png b/.playwright-mcp/final-state.png
new file mode 100644
index 0000000..f452a4c
Binary files /dev/null and b/.playwright-mcp/final-state.png differ
diff --git a/.playwright-mcp/month-dropdown-open.png b/.playwright-mcp/month-dropdown-open.png
new file mode 100644
index 0000000..f386f50
Binary files /dev/null and b/.playwright-mcp/month-dropdown-open.png differ
diff --git a/.playwright-mcp/september-selected.png b/.playwright-mcp/september-selected.png
new file mode 100644
index 0000000..5a3e07e
Binary files /dev/null and b/.playwright-mcp/september-selected.png differ
diff --git a/.playwright-mcp/working-dropdowns.png b/.playwright-mcp/working-dropdowns.png
new file mode 100644
index 0000000..296da69
Binary files /dev/null and b/.playwright-mcp/working-dropdowns.png differ
diff --git a/.playwright-mcp/year-dropdown-open.png b/.playwright-mcp/year-dropdown-open.png
new file mode 100644
index 0000000..0320133
Binary files /dev/null and b/.playwright-mcp/year-dropdown-open.png differ
diff --git a/backend/api/main.py b/backend/api/main.py
index 2454cad..44f0154 100644
--- a/backend/api/main.py
+++ b/backend/api/main.py
@@ -91,12 +91,14 @@ async def scrape_journeybook(request: ScrapeRequest):
async def calculate_kilometers(request: CalculateRequest):
"""Scrape data, filter sick days, and recalculate kilometers"""
try:
+ logger.info(f"Calculate request: start_date={request.start_date}, end_date={request.end_date}")
attendance_scraper = AttendanceScraper(request.username, request.password)
journeybook_scraper = JourneybookScraper(request.username, request.password, request.vehicle_registration)
# Get all months in the date range
start = datetime.strptime(request.start_date, "%Y-%m-%d")
end = datetime.strptime(request.end_date, "%Y-%m-%d")
+ logger.info(f"Parsed dates: start={start}, end={end}")
# Collect data from all months
all_attendance_dates = []
diff --git a/frontend/app/components/DataPreview.tsx b/frontend/app/components/DataPreview.tsx
index c5729da..5d048db 100644
--- a/frontend/app/components/DataPreview.tsx
+++ b/frontend/app/components/DataPreview.tsx
@@ -23,6 +23,14 @@ export default function DataPreview({ data, loading, formData }: DataPreviewProp
setFillResult(null)
try {
+ // Format dates as YYYY-MM-DD in local timezone
+ const formatLocalDate = (date: Date) => {
+ const year = date.getFullYear()
+ const month = String(date.getMonth() + 1).padStart(2, '0')
+ const day = String(date.getDate()).padStart(2, '0')
+ return `${year}-${month}-${day}`
+ }
+
const response = await fetch(`${API_URL}/api/fill/journeybook`, {
method: 'POST',
headers: {
@@ -31,8 +39,8 @@ export default function DataPreview({ data, loading, formData }: DataPreviewProp
body: JSON.stringify({
username: formData.username,
password: formData.password,
- start_date: formData.startDate,
- end_date: formData.endDate,
+ start_date: formatLocalDate(formData.startDate),
+ end_date: formatLocalDate(formData.endDate),
start_km: parseInt(formData.startKm),
end_km: parseInt(formData.endKm),
vehicle_registration: formData.vehicleRegistration,
@@ -142,7 +150,7 @@ export default function DataPreview({ data, loading, formData }: DataPreviewProp
- {formData && formData.startDate === '2025-01-01' && (
+ {formData && (