diff --git a/src/components/CalendarEventContent/index.tsx b/src/components/CalendarEventContent/index.tsx index 908923b9..61c0c41a 100644 --- a/src/components/CalendarEventContent/index.tsx +++ b/src/components/CalendarEventContent/index.tsx @@ -1,10 +1,12 @@ import { createCalendarRsvpDraftEvent } from '@/lib/draft-event' +import { getUsingClient } from '@/lib/event' import { getCalendarEventMeta, getNip52CalendarEventTagExtras, formatCalendarTimeRange, formatCalendarDateRange, - isCalendarEventKind + isCalendarEventKind, + stripCalendarEventRedundantTopicHashtagLines } from '@/lib/calendar-event' import { tagNameEquals } from '@/lib/tag' import { useFetchCalendarRsvps } from '@/hooks/useFetchCalendarRsvps' @@ -13,6 +15,7 @@ import { toProfile } from '@/lib/link' import { useSecondaryPage } from '@/PageManager' import { CalendarEventCoverImage } from '@/components/CalendarEventCoverImage' import { CalendarEventNip52StructuredMeta } from '@/components/CalendarEventNip52StructuredMeta' +import ClientTag from '@/components/ClientTag' import MarkdownArticle from '@/components/Note/MarkdownArticle/MarkdownArticle' import { Event } from 'nostr-tools' import { useTranslation } from 'react-i18next' @@ -67,10 +70,15 @@ export default function CalendarEventContent({ return s || c || '' }, [meta, event.content, showFull]) + const markdownBodyDeduped = useMemo(() => { + const topicList = meta?.topics ?? [] + return stripCalendarEventRedundantTopicHashtagLines(markdownBody, topicList) + }, [markdownBody, meta]) + const eventForMarkdown = useMemo((): Event => { - if (!markdownBody) return event - return { ...event, content: markdownBody } - }, [event, markdownBody]) + if (!markdownBodyDeduped) return event + return { ...event, content: markdownBodyDeduped } + }, [event, markdownBodyDeduped]) const duplicateWebPreviewHints = useMemo(() => { if (!meta) return [] @@ -150,22 +158,22 @@ export default function CalendarEventContent({ return (
{scheduleLine}
{(startTzid || endTzid) && ( @@ -232,9 +245,9 @@ export default function CalendarEventContent({ isDateBased={isDateBased} /> ) : null} - {markdownBody ? ( + {markdownBodyDeduped ? ( showFull ? ( -- {markdownBody} + {markdownBodyDeduped}
> @@ -262,31 +275,42 @@ export default function CalendarEventContent({ isDateBased={isDateBased} /> ) : null} -
-
-
+{summaryTrim}
- {meta.geo.trim()} - -
+{dayGranularitySummary}
+{t('calendarNip52DayIndicesHint')}
{t('calendarNip52CalendarInclusionHint')}
+{t('calendarNip52CalendarInclusionHint')}
-
+
{meta.d.trim()}
-