+ {/* Always-rendered labels (stable layout) */}
+
+ {timeLabel && (
+
+ {timeLabel}
+
+ )}
+
+ {config.label}
+
+ {item.priority && item.priority !== 'none' && (
+
+ {item.priority}
+
+ )}
+
- {isHovered && item.type === 'reminder' && (
-
- {/* Snooze button with dropdown */}
-
+ {/* Action buttons overlaid in same space */}
+ {isHovered && item.type === 'todo' && (
+
- {snoozeOpen === itemKey && (
-
-
-
-
-
- )}
- {/* Dismiss button */}
-
-
- )}
+ )}
- {/* Time label */}
- {timeLabel && !isHovered && (
-
- {timeLabel}
-
- )}
-
- {/* Type pill */}
- {!isHovered && (
-
- {config.label}
-
- )}
-
- {/* Priority pill (todos only) */}
- {!isHovered && item.priority && item.priority !== 'none' && (
-
- {item.priority}
-
- )}
+ {isHovered && item.type === 'reminder' && (
+
+
+
+ {snoozeOpen === itemKey && (
+
+
+
+
+
+ )}
+
+
+
+ )}
+