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
This commit is contained in:
parent
f925c8cb7f
commit
7f04750e4a
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "my-weekly-todo-list",
|
"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",
|
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -633,8 +633,8 @@ h3 {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 5;
|
z-index: 20;
|
||||||
background: var(--weekly-bg, white);
|
background-color: var(--weekly-bg, white);
|
||||||
}
|
}
|
||||||
|
|
||||||
.weekly-day-date {
|
.weekly-day-date {
|
||||||
@ -1429,7 +1429,6 @@ h3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.weekly-someday-list .weekly-task-text {
|
.weekly-someday-list .weekly-task-text {
|
||||||
line-height: 1.4;
|
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
|
|||||||
@ -3543,7 +3543,7 @@ export default function WeeklyView() {
|
|||||||
scheduledDate: newScheduledDate,
|
scheduledDate: newScheduledDate,
|
||||||
dayOfWeek,
|
dayOfWeek,
|
||||||
startTime: targetSlot || "",
|
startTime: targetSlot || "",
|
||||||
...(taskProvider && !draggedTask.externalProvider && { externalProvider: taskProvider }),
|
...(taskProvider && { externalProvider: taskProvider }),
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -7035,7 +7035,7 @@ function TaskItem({
|
|||||||
onDoubleClick={variant === "default" ? onEdit : undefined}
|
onDoubleClick={variant === "default" ? onEdit : undefined}
|
||||||
style={
|
style={
|
||||||
variant === "minimal" || isSomeday
|
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 } : {}) }
|
: { display: "flex", alignItems: "center", gap: "6px", ...(task.completed && showTaskCheckboxes ? { opacity: 0.5 } : {}) }
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
@ -7069,29 +7069,28 @@ function TaskItem({
|
|||||||
>
|
>
|
||||||
{task.title}
|
{task.title}
|
||||||
</span>
|
</span>
|
||||||
{/* DEBUG: always show provider info */}
|
{(() => {
|
||||||
{!isSomeday && (
|
const provider = task.externalProvider
|
||||||
<span style={{ color: task.externalProvider ? "red" : "orange", fontWeight: "bold", fontSize: "11px", marginLeft: "4px", flexShrink: 0 }}>
|
|| (task.externalId?.startsWith("synology::") ? "synology" : null);
|
||||||
[{task.externalProvider || "no-ext"}]
|
if (!provider) return null;
|
||||||
</span>
|
const iconMap: Record<string, { icon: any; color: string; label: string }> = {
|
||||||
)}
|
google: { icon: faGoogle, color: "#4285F4", label: "Google" },
|
||||||
{task.externalProvider && !isSomeday && (
|
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 (
|
||||||
<span
|
<span
|
||||||
className="flex-shrink-0"
|
className="flex-shrink-0"
|
||||||
title={`Synced with ${task.externalProvider === "outlook" ? "Microsoft" : task.externalProvider === "google" ? "Google" : task.externalProvider === "apple" ? "Apple" : task.externalProvider}`}
|
title={`Synced with ${info.label}`}
|
||||||
style={{ display: "inline-flex", alignItems: "center", opacity: 0.55, marginLeft: "4px" }}
|
style={{ display: "inline-flex", alignItems: "center", opacity: 0.55, marginLeft: "4px" }}
|
||||||
>
|
>
|
||||||
{task.externalProvider === "google" ? (
|
<FontAwesomeIcon icon={info.icon} style={{ width: 12, height: 12, color: info.color }} />
|
||||||
<FontAwesomeIcon icon={faGoogle} style={{ width: 12, height: 12, color: "#4285F4" }} />
|
|
||||||
) : task.externalProvider === "outlook" ? (
|
|
||||||
<FontAwesomeIcon icon={faMicrosoft} style={{ width: 12, height: 12, color: "#0078D4" }} />
|
|
||||||
) : task.externalProvider === "apple" ? (
|
|
||||||
<FontAwesomeIcon icon={faApple} style={{ width: 12, height: 12, color: "#555" }} />
|
|
||||||
) : task.externalProvider === "synology" ? (
|
|
||||||
<FontAwesomeIcon icon={faServer} style={{ width: 12, height: 12, color: "#007AFF" }} />
|
|
||||||
) : null}
|
|
||||||
</span>
|
</span>
|
||||||
)}
|
);
|
||||||
|
})()}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{/* Subtask indicator - toggles subtask list */}
|
{/* Subtask indicator - toggles subtask list */}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user