From 0c423ed77173332681d9e595c5f973ac8b4dfc76 Mon Sep 17 00:00:00 2001 From: xaralis <filip.varecha@fragaria.cz> Date: Mon, 28 Dec 2020 13:08:35 +0100 Subject: [PATCH] feat: parse announcement content as Markdown --- src/components/annoucements/Announcement.jsx | 9 ++++++++- src/components/annoucements/AnnouncementList.jsx | 2 +- src/utils.js | 1 + typings/cf2021.d.ts | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/annoucements/Announcement.jsx b/src/components/annoucements/Announcement.jsx index 1cd7e38..1ed1045 100644 --- a/src/components/annoucements/Announcement.jsx +++ b/src/components/annoucements/Announcement.jsx @@ -75,6 +75,10 @@ const Announcement = ({ "announcement", ].includes(type); + const htmlContent = { + __html: content, + }; + return ( <div className={wrapperClassName} ref={ref}> <div className="flex items-center justify-between mb-2"> @@ -117,7 +121,10 @@ const Announcement = ({ </DropdownMenu> )} </div> - <span className="leading-tight text-sm lg:text-base">{content}</span> + <div + className="leading-tight text-sm lg:text-base content-block" + dangerouslySetInnerHTML={htmlContent} + ></div> </div> ); }; diff --git a/src/components/annoucements/AnnouncementList.jsx b/src/components/annoucements/AnnouncementList.jsx index 3e3ba8d..a14a35f 100644 --- a/src/components/annoucements/AnnouncementList.jsx +++ b/src/components/annoucements/AnnouncementList.jsx @@ -43,7 +43,7 @@ const AnnouncementList = ({ key={item.id} datetime={item.datetime} type={item.type} - content={item.content} + content={item.contentHtml} link={item.link} seen={item.seen} canRunActions={canRunActions} diff --git a/src/utils.js b/src/utils.js index 2ff66b9..b860c96 100644 --- a/src/utils.js +++ b/src/utils.js @@ -164,6 +164,7 @@ export const parseRawPost = (rawPost) => { export const parseRawAnnouncement = (rawAnnouncement) => { const announcement = { ...pick(rawAnnouncement, ["id", "content", "link"]), + contentHtml: markdownConverter.makeHtml(rawAnnouncement.content), datetime: parse( rawAnnouncement.datetime, "yyyy-MM-dd HH:mm:ss", diff --git a/typings/cf2021.d.ts b/typings/cf2021.d.ts index 135e0bc..2afcdfe 100644 --- a/typings/cf2021.d.ts +++ b/typings/cf2021.d.ts @@ -70,6 +70,7 @@ declare namespace CF2021 { datetime: Date; type: AnnouncementType; content: string; + contentHtml: string; link?: string; relatedPostId: string; seen: boolean; -- GitLab