From 4637e64458b126387d7fddde726922491c39b88f Mon Sep 17 00:00:00 2001 From: Maximilian Kaske <56969857+mxkaske@users.noreply.github.com> Date: Mon, 21 Aug 2023 21:31:02 +0200 Subject: [PATCH] chore: support markdown (#215) * chore: support markdown * fix: deps * fix: remove log --- apps/web/package.json | 3 + apps/web/src/components/content/preview.tsx | 16 ++++++ .../src/components/forms/incident-form.tsx | 34 +++++++---- .../components/forms/incident-update-form.tsx | 34 +++++++---- apps/web/src/components/incidents/events.tsx | 24 +++++++- apps/web/src/hooks/use-preprocessor.tsx | 31 ++++++++++ pnpm-lock.yaml | 56 +++++++++++++++++++ 7 files changed, 175 insertions(+), 23 deletions(-) create mode 100644 apps/web/src/components/content/preview.tsx create mode 100644 apps/web/src/hooks/use-preprocessor.tsx diff --git a/apps/web/package.json b/apps/web/package.json index a48d062ec..56cc0e4b4 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -68,6 +68,9 @@ "react-tweet": "^3.1.1", "reading-time": "1.5.0", "rehype-pretty-code": "0.10.0", + "rehype-react": "7.2.0", + "remark-parse": "10.0.2", + "remark-rehype": "10.1.0", "resend": "0.15.3", "shiki": "0.14.3", "stripe": "12.17.0", diff --git a/apps/web/src/components/content/preview.tsx b/apps/web/src/components/content/preview.tsx new file mode 100644 index 000000000..501414e67 --- /dev/null +++ b/apps/web/src/components/content/preview.tsx @@ -0,0 +1,16 @@ +"use client"; + +import { useProcessor } from "@/hooks/use-preprocessor"; + +interface Props { + md?: string; +} + +export function Preview({ md }: Props) { + const Component = useProcessor(md || ""); + return ( +
+ {Component} +
+ ); +} diff --git a/apps/web/src/components/forms/incident-form.tsx b/apps/web/src/components/forms/incident-form.tsx index 4f1fd136e..49e89c215 100644 --- a/apps/web/src/components/forms/incident-form.tsx +++ b/apps/web/src/components/forms/incident-form.tsx @@ -1,4 +1,3 @@ -// move into @/components/forms/ later "use client"; import * as React from "react"; @@ -14,6 +13,7 @@ import { StatusEnum, } from "@openstatus/db/src/schema"; +import { Preview } from "@/components/content/preview"; import { Icons } from "@/components/icons"; import { LoadingAnimation } from "@/components/loading-animation"; import { Button } from "@/components/ui/button"; @@ -30,6 +30,7 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Textarea } from "@/components/ui/textarea"; import { useToast } from "@/components/ui/use-toast"; import { statusDict } from "@/data/incidents-dictionary"; @@ -170,20 +171,31 @@ export function IncidentForm({
( Message - -