From 16a7a8ea3914f201dd8bc2946f3860765ed2c923 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Sun, 7 Jun 2026 16:28:12 -0400 Subject: [PATCH] Add DynamicCalendarIcon --- app/editor/components/MentionMenu.tsx | 9 ++++-- shared/components/DynamicCalendarIcon.tsx | 36 ++++++++++++++++++++++ shared/editor/components/Mentions.tsx | 2 -- shared/i18n/locales/en_US/translation.json | 4 ++- 4 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 shared/components/DynamicCalendarIcon.tsx diff --git a/app/editor/components/MentionMenu.tsx b/app/editor/components/MentionMenu.tsx index f812c44e59..a9f638ea45 100644 --- a/app/editor/components/MentionMenu.tsx +++ b/app/editor/components/MentionMenu.tsx @@ -2,7 +2,6 @@ import { isEmail } from "class-validator"; import { observer } from "mobx-react"; import { v4 as uuidv4 } from "uuid"; import { - CalendarIcon, DocumentIcon, PlusIcon, NewDocumentIcon, @@ -18,12 +17,14 @@ import { MentionType } from "@shared/types"; import { dateToReadable, dateToRelativeReadable, + parseISODate, toISODate, } from "@shared/utils/date"; import parseDocumentSlug from "@shared/utils/parseDocumentSlug"; import { parseNaturalLanguageDate } from "@shared/utils/parseNaturalLanguageDate"; import { Avatar, AvatarSize, GroupAvatar } from "~/components/Avatar"; import DocumentBreadcrumb from "~/components/DocumentBreadcrumb"; +import { DynamicCalendarIcon } from "@shared/components/DynamicCalendarIcon"; import Flex from "~/components/Flex"; import { DateSection, @@ -93,7 +94,11 @@ function MentionMenu({ search, isActive, ...rest }: Props) { ? [ { name: "mention", - icon: , + icon: ( + + ), title: dateToRelativeReadable(parsedISODate, t, userLocale), subtitle: dateToReadable(parsedISODate, userLocale), section: DateSection, diff --git a/shared/components/DynamicCalendarIcon.tsx b/shared/components/DynamicCalendarIcon.tsx new file mode 100644 index 0000000000..39d16c799d --- /dev/null +++ b/shared/components/DynamicCalendarIcon.tsx @@ -0,0 +1,36 @@ +import { useTheme } from "styled-components"; + +type Props = { day: number; className?: string }; + +export function DynamicCalendarIcon({ day, className }: Props) { + const theme = useTheme(); + + return ( + + + + + {day} + + + + ); +} diff --git a/shared/editor/components/Mentions.tsx b/shared/editor/components/Mentions.tsx index 6117278cd2..f80f14c555 100644 --- a/shared/editor/components/Mentions.tsx +++ b/shared/editor/components/Mentions.tsx @@ -1,7 +1,6 @@ import * as PopoverPrimitive from "@radix-ui/react-popover"; import { observer } from "mobx-react"; import { - CalendarIcon, DocumentIcon, EmailIcon, CollectionIcon, @@ -569,7 +568,6 @@ export const MentionDate = observer(function MentionDate_(props: DateProps) { })} $editable={isEditable} > - {display} ); diff --git a/shared/i18n/locales/en_US/translation.json b/shared/i18n/locales/en_US/translation.json index 637f688062..07d39ae50f 100644 --- a/shared/i18n/locales/en_US/translation.json +++ b/shared/i18n/locales/en_US/translation.json @@ -188,6 +188,7 @@ "Collection": "Collection", "Collections": "Collections", "Debug": "Debug", + "Date": "Date", "Document": "Document", "Search results": "Search results", "Documents": "Documents", @@ -1781,5 +1782,6 @@ "Hide completed": "Hide completed", "Write a caption": "Write a caption", "Add title": "Add title", - "Add content": "Add content" + "Add content": "Add content", + "Tomorrow": "Tomorrow" }