diff --git a/src/app/page.tsx b/src/app/page.tsx index bfd4500..2c580ab 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -25,6 +25,7 @@ export default function HomePage() { const [start, setStart] = useState('') const [end, setEnd] = useState('') const [allDay, setAllDay] = useState(false) + const [recurrenceRule, setRecurrenceRule] = useState('') // AI const [aiPrompt, setAiPrompt] = useState('') @@ -57,6 +58,7 @@ export default function HomePage() { description, location, url, + recurrenceRule: recurrenceRule || undefined, start, end: end || undefined, allDay, @@ -105,7 +107,7 @@ export default function HomePage() { const url = URL.createObjectURL(blob) const a = document.createElement('a') a.href = url - a.download = 'events.ics' + a.download = `icallocal-export-${new Date().toLocaleTimeString()}.ics` document.body.appendChild(a) a.click() document.body.removeChild(a) @@ -153,6 +155,7 @@ export default function HomePage() { setAllDay(ev.allDay || false) setEditingId(null) setDialogOpen(true) + setRecurrenceRule(ev.recurrenceRule || '') } else { // Save them all directly to DB for (const ev of data) { @@ -265,6 +268,11 @@ export default function HomePage() {
  • {ev.title}
    + {ev.recurrenceRule && ( +
    + Repeats: {ev.recurrenceRule} +
    + )}
    {ev.allDay ? ev.start.split('T')[0] : new Date(ev.start).toLocaleString()} {ev.location && @ {ev.location}} @@ -300,6 +308,11 @@ export default function HomePage() { value={description} onChange={e => setDescription(e.target.value)} /> setLocation(e.target.value)} /> setUrl(e.target.value)} /> + setRecurrenceRule(e.target.value)} + />