fix: provider icon in event modal, hide synology URL, recurring event display
- Show provider icon (Google/Apple/Outlook/Synology) left of calendar color dot - Hide URL field when Synology calendar is selected (not supported) - Force refresh after creating recurring events so all instances show immediately (previously only the first occurrence appeared until next sync cycle) v1.74.1 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
cfa4fb023c
commit
8d8ba73d17
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "my-weekly-todo-list",
|
"name": "my-weekly-todo-list",
|
||||||
"version": "1.74.0",
|
"version": "1.74.1",
|
||||||
"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": {
|
||||||
|
|||||||
@ -156,7 +156,7 @@ export default function CalendarEventModal({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const selectedCal = availableCalendars.find((c: any) => c.id === calendarId);
|
const selectedCal = availableCalendars.find((c: any) => c.id === calendarId);
|
||||||
const supportsURL = selectedCal && (selectedCal.provider !== 'google' && selectedCal.provider !== 'outlook');
|
const supportsURL = selectedCal && (selectedCal.provider !== 'google' && selectedCal.provider !== 'outlook' && selectedCal.provider !== 'synology');
|
||||||
const supportsAttachments = selectedCal && (selectedCal.provider === 'apple' || selectedCal.provider === 'synology');
|
const supportsAttachments = selectedCal && (selectedCal.provider === 'apple' || selectedCal.provider === 'synology');
|
||||||
|
|
||||||
const getProviderIcon = (provider: string) => {
|
const getProviderIcon = (provider: string) => {
|
||||||
@ -375,8 +375,9 @@ export default function CalendarEventModal({
|
|||||||
|
|
||||||
{/* Calendar selector */}
|
{/* Calendar selector */}
|
||||||
<div style={{ ...iconRow, padding: '4px 0' }}>
|
<div style={{ ...iconRow, padding: '4px 0' }}>
|
||||||
<div style={iconCol}>
|
<div style={{ ...iconCol, gap: '4px', width: 'auto', display: 'flex', alignItems: 'center' }}>
|
||||||
<div style={{ width: '10px', height: '10px', borderRadius: '50%', background: calColor }} />
|
<span style={{ fontSize: '0.8rem', opacity: 0.7 }}>{selectedCal ? getProviderIcon(selectedCal.provider) : null}</span>
|
||||||
|
<div style={{ width: '10px', height: '10px', borderRadius: '50%', background: calColor, flexShrink: 0 }} />
|
||||||
</div>
|
</div>
|
||||||
<div ref={calendarSelectorRef} style={{ ...fieldCol, position: 'relative' }}>
|
<div ref={calendarSelectorRef} style={{ ...fieldCol, position: 'relative' }}>
|
||||||
<button
|
<button
|
||||||
|
|||||||
@ -2689,9 +2689,9 @@ export default function WeeklyView() {
|
|||||||
return [...prev, frontendEvent];
|
return [...prev, frontendEvent];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// Re-read from cache to get the canonical version
|
// Re-read events - force refresh for recurring events so all instances expand
|
||||||
// The backend already cached the event via upsertCachedEvent
|
const isRecurring = !!(eventData.recurrence && eventData.recurrence !== 'none');
|
||||||
await fetchCalendarEvents(false);
|
await fetchCalendarEvents(isRecurring);
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
console.error("Error saving event:", error);
|
console.error("Error saving event:", error);
|
||||||
if (error.name === "AbortError") {
|
if (error.name === "AbortError") {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user