fix: show provider icon on all events, better save button feedback

- Always show provider icon (Google/Apple/Outlook/Synology) at
  bottom-right of event blocks using FontAwesome icons
- Save button shows "Erstelle..." / "Creating..." while saving
  instead of just "..." to reduce user confusion during sync

v1.74.3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
mARTin 2026-03-25 12:31:36 +01:00
parent 3b1deb80e1
commit 2f973bf8af
3 changed files with 15 additions and 27 deletions

View File

@ -1,6 +1,6 @@
{
"name": "my-weekly-todo-list",
"version": "1.74.2",
"version": "1.74.3",
"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": {

View File

@ -908,7 +908,7 @@ export default function CalendarEventModal({
boxShadow: '0 1px 3px rgba(0,0,0,0.1)',
}}
>
{isSaving ? '...' : (language === 'de' ? 'Speichern' : 'Save')}
{isSaving ? (language === 'de' ? 'Erstelle...' : 'Creating...') : (language === 'de' ? 'Speichern' : 'Save')}
</button>
</div>
</div>
@ -975,7 +975,7 @@ export default function CalendarEventModal({
borderRadius: 8, cursor: 'pointer',
opacity: isSaving ? 0.6 : 1,
boxShadow: '0 1px 3px rgba(0,0,0,0.1)',
}}>{isSaving ? '...' : (language === 'de' ? 'Speichern' : 'Save')}</button>
}}>{isSaving ? (language === 'de' ? 'Erstelle...' : 'Creating...') : (language === 'de' ? 'Speichern' : 'Save')}</button>
</div>
</div>
</div>

View File

@ -8131,30 +8131,18 @@ export default function WeeklyView() {
{event.location && (
<div className="event-location-row">{event.location}</div>
)}
{(event.isRecurring || event.description || profile.showCalendarProviderIcon) && (
<div className="event-icons-row">
{event.description && (
<span className="event-note-icon" data-note={stripHtml(event.description || '')}>
<FileText size={11} />
</span>
)}
{event.isRecurring && <Repeat size={11} />}
{profile.showCalendarProviderIcon && (
<img
src={
event.source === "google" ? "/icons/google-calendar.svg"
: event.source === "apple" ? "/icons/apple-calendar.svg"
: event.source === "outlook" ? "/icons/outlook-calendar.svg"
: event.source === "synology" ? "/icons/synology-calendar.svg"
: undefined
}
alt={event.source}
style={{ width: 13, height: 13 }}
onError={(e) => { (e.target as HTMLImageElement).style.display = 'none'; }}
/>
)}
</div>
)}
<div className="event-icons-row">
{event.description && (
<span className="event-note-icon" data-note={stripHtml(event.description || '')}>
<FileText size={11} />
</span>
)}
{event.isRecurring && <Repeat size={11} />}
<FontAwesomeIcon
icon={event.source === "google" ? faGoogle : event.source === "apple" ? faApple : event.source === "outlook" ? faMicrosoft : faServer}
style={{ fontSize: '0.6rem' }}
/>
</div>
{/* Bottom resize handle */}
{event.editable && (
<div