diff --git a/package.json b/package.json
index acab7a1..2b7235d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "my-weekly-todo-list",
- "version": "1.36.0",
+ "version": "1.36.1",
"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/components/CalendarEventModal.tsx b/src/components/CalendarEventModal.tsx
index 3652d8f..8a69c9c 100644
--- a/src/components/CalendarEventModal.tsx
+++ b/src/components/CalendarEventModal.tsx
@@ -87,7 +87,6 @@ export default function CalendarEventModal({
);
const [newAttachmentUrl, setNewAttachmentUrl] = useState('');
const [showMoreOptions, setShowMoreOptions] = useState(
- // Auto-expand if event has these fields set
!!(event?.attendees?.length || event?.attachments?.length || (event?.busyStatus && event.busyStatus !== 'busy') || (event?.visibility && event.visibility !== 'default'))
);
@@ -143,7 +142,7 @@ export default function CalendarEventModal({
case 'google': return ;
case 'apple': return ;
case 'outlook': return ;
- case 'synology': return ;
+ case 'synology': return ;
default: return null;
}
};
@@ -165,7 +164,6 @@ export default function CalendarEventModal({
setIsSaving(true);
setError('');
try {
- // Filter out "none" reminders
const activeReminders = reminders.filter(r => r.minutes >= 0);
await onSave({
@@ -255,7 +253,6 @@ export default function CalendarEventModal({
const updateReminder = (index: number, minutes: number) => {
if (minutes === -1) {
- // Remove this reminder
setReminders(reminders.filter((_, i) => i !== index));
return;
}
@@ -270,30 +267,32 @@ export default function CalendarEventModal({
const rowStyle: React.CSSProperties = {
display: 'flex', alignItems: 'center', justifyContent: 'space-between',
+ padding: '0 10px', minHeight: '32px',
};
const labelStyle: React.CSSProperties = {
- fontSize: '0.9rem', color: 'var(--weekly-text-light)', fontWeight: 500,
+ fontSize: '0.82rem', color: 'var(--weekly-text-light)', fontWeight: 500,
};
const selectStyle: React.CSSProperties = {
background: 'transparent', border: 'none', textAlign: 'right' as const,
- fontSize: '0.9rem', cursor: 'pointer', outline: 'none', color: 'var(--weekly-text)',
+ fontSize: '0.82rem', cursor: 'pointer', outline: 'none', color: 'var(--weekly-text)',
};
return (
e.stopPropagation()} style={{
- maxWidth: '450px',
- padding: '20px',
- borderRadius: '12px',
+ maxWidth: '400px',
+ width: 'calc(100vw - 16px)',
+ padding: '12px',
+ borderRadius: '10px',
boxShadow: '0 10px 25px rgba(0,0,0,0.15)',
border: '1px solid var(--weekly-border)',
- maxHeight: '90vh',
+ maxHeight: '85vh',
overflowY: 'auto',
}}>
- {error &&
{error}
}
+ {error &&
{error}
}
-
- {/* Title Input */}
+
+ {/* Title */}
- {/* Location Input */}
+ {/* Location */}
setLocation(e.target.value)}
placeholder="Location or Video Call"
style={{
- width: '100%',
- padding: '8px 16px',
- border: 'none',
+ width: '100%', padding: '5px 10px', border: 'none',
borderBottom: '1px solid var(--weekly-border)',
- borderRadius: '0',
- background: 'transparent',
- outline: 'none',
- fontSize: '0.95rem'
+ borderRadius: '0', background: 'transparent', outline: 'none', fontSize: '0.82rem',
}}
/>
{/* Calendar row */}
-
+
Calendar
-
{isCalendarSelectorOpen && (
{availableCalendars.map((cal: any) => (
{ setCalendarId(cal.id); setIsCalendarSelectorOpen(false); }}
style={{
- display: 'flex', alignItems: 'center', gap: '10px',
- padding: '8px 12px', borderRadius: '6px', cursor: 'pointer',
- fontSize: '0.9rem', color: 'var(--weekly-text)',
+ display: 'flex', alignItems: 'center', gap: '8px',
+ padding: '6px 10px', borderRadius: '5px', cursor: 'pointer',
+ fontSize: '0.82rem', color: 'var(--weekly-text)',
backgroundColor: calendarId === cal.id ? 'var(--weekly-selection, rgba(59, 130, 246, 0.1))' : 'transparent',
transition: 'background 0.2s', textAlign: 'left'
}}
onMouseEnter={(e) => e.currentTarget.style.backgroundColor = 'var(--weekly-hover, rgba(0,0,0,0.05))'}
onMouseLeave={(e) => e.currentTarget.style.backgroundColor = calendarId === cal.id ? 'var(--weekly-selection, rgba(59, 130, 246, 0.1))' : 'transparent'}
>
-
+
{cal.summary || cal.title}
@@ -395,99 +381,101 @@ export default function CalendarEventModal({
- {/* All Day row */}
-
+ {/* All Day */}
+
All Day
setAllDay(e.target.checked)}
- style={{ width: '18px', height: '18px', cursor: 'pointer' }}
+ style={{ width: '16px', height: '16px', cursor: 'pointer' }}
/>
- {/* Date/Time rows */}
-
-
+ {/* Start / End on same row when not all-day */}
+
+
Starts
handleStartDateChange(e.target.value)}
style={{
- padding: '4px 8px', border: 'none', borderRadius: '6px',
+ padding: '2px 6px', border: 'none', borderRadius: '4px',
background: 'var(--weekly-bg-secondary, #f3f4f6)',
- fontSize: '0.9rem', textAlign: 'center'
+ fontSize: '0.8rem', textAlign: 'center',
}}
/>
-
+
Ends
setEndDate(new Date(e.target.value))}
style={{
- padding: '4px 8px', border: 'none', borderRadius: '6px',
+ padding: '2px 6px', border: 'none', borderRadius: '4px',
background: 'var(--weekly-bg-secondary, #f3f4f6)',
- fontSize: '0.9rem', textAlign: 'center'
+ fontSize: '0.8rem', textAlign: 'center',
}}
/>
- {/* Meta Fields Group */}
-
- {/* Recurrence */}
-
- Repeat
-
-
+ {/* Divider */}
+
- {/* Reminders */}
-
-
0 ? '6px' : 0 }}>
-
- Alert
-
- {reminders.length === 0 && (
-
- )}
-
- {reminders.map((reminder, idx) => (
-
-
-
-
- ))}
- {reminders.length > 0 && reminders.length < 2 && (
-