From 7f04750e4a32a8fb112637e2de61a491a6a9fa78 Mon Sep 17 00:00:00 2001 From: mARTin Date: Sun, 8 Mar 2026 12:50:51 +0100 Subject: [PATCH] fix: provider icons on all tasks, font size matching, day header z-index - Show sync provider icons (Google, Microsoft, Apple, Synology) on both someday and weekday tasks with fallback detection from externalId - Remove hardcoded fontSize from someday tasks so they inherit CSS variables - Remove line-height override for someday task text - Bump day header z-index to 20 to prevent task overlap when scrolling - Always propagate externalProvider when dragging tasks between slots v1.17.2 --- package.json | 2 +- src/app/globals.css | 5 ++-- src/components/WeeklyView.tsx | 49 +++++++++++++++++------------------ 3 files changed, 27 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 68daa4a..5272bd0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.17.1", + "version": "1.17.2", "description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view", "main": "index.js", "scripts": { diff --git a/src/app/globals.css b/src/app/globals.css index ddbc0fe..d2bf7ac 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -633,8 +633,8 @@ h3 { box-sizing: border-box; position: sticky; top: 0; - z-index: 5; - background: var(--weekly-bg, white); + z-index: 20; + background-color: var(--weekly-bg, white); } .weekly-day-date { @@ -1429,7 +1429,6 @@ h3 { } .weekly-someday-list .weekly-task-text { - line-height: 1.4; word-break: break-word; overflow: visible; white-space: normal; diff --git a/src/components/WeeklyView.tsx b/src/components/WeeklyView.tsx index aed329d..075c7a4 100644 --- a/src/components/WeeklyView.tsx +++ b/src/components/WeeklyView.tsx @@ -3543,7 +3543,7 @@ export default function WeeklyView() { scheduledDate: newScheduledDate, dayOfWeek, startTime: targetSlot || "", - ...(taskProvider && !draggedTask.externalProvider && { externalProvider: taskProvider }), + ...(taskProvider && { externalProvider: taskProvider }), }), }); @@ -7035,7 +7035,7 @@ function TaskItem({ onDoubleClick={variant === "default" ? onEdit : undefined} style={ variant === "minimal" || isSomeday - ? { fontSize: "0.9375rem", display: "flex", alignItems: "center", gap: "4px", ...(task.completed && showTaskCheckboxes ? { opacity: 0.5 } : {}) } + ? { display: "flex", alignItems: "center", gap: "4px", ...(task.completed && showTaskCheckboxes ? { opacity: 0.5 } : {}) } : { display: "flex", alignItems: "center", gap: "6px", ...(task.completed && showTaskCheckboxes ? { opacity: 0.5 } : {}) } } > @@ -7069,29 +7069,28 @@ function TaskItem({ > {task.title} - {/* DEBUG: always show provider info */} - {!isSomeday && ( - - [{task.externalProvider || "no-ext"}] - - )} - {task.externalProvider && !isSomeday && ( - - {task.externalProvider === "google" ? ( - - ) : task.externalProvider === "outlook" ? ( - - ) : task.externalProvider === "apple" ? ( - - ) : task.externalProvider === "synology" ? ( - - ) : null} - - )} + {(() => { + const provider = task.externalProvider + || (task.externalId?.startsWith("synology::") ? "synology" : null); + if (!provider) return null; + const iconMap: Record = { + google: { icon: faGoogle, color: "#4285F4", label: "Google" }, + outlook: { icon: faMicrosoft, color: "#0078D4", label: "Microsoft" }, + apple: { icon: faApple, color: "#555", label: "Apple" }, + synology: { icon: faServer, color: "#007AFF", label: "Synology" }, + }; + const info = iconMap[provider]; + if (!info) return null; + return ( + + + + ); + })()} {/* Subtask indicator - toggles subtask list */}