-
+
diff --git a/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx b/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
index ad76beb9..4462ef5c 100644
--- a/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
+++ b/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
@@ -1,4 +1,3 @@
-import clsx from "clsx";
import copy from "copy-to-clipboard";
import { ArrowUpRightIcon } from "lucide-react";
import { useContext, useEffect } from "react";
@@ -7,6 +6,7 @@ import { Link } from "react-router-dom";
import MemoResourceListView from "@/components/MemoResourceListView";
import useLoading from "@/hooks/useLoading";
import { extractMemoIdFromName, useMemoStore } from "@/store/v1";
+import { cn } from "@/utils";
import { memoLink } from "@/utils/memo";
import MemoContent from "..";
import { RendererContext } from "../types";
@@ -45,7 +45,7 @@ const EmbeddedMemo = ({ resourceId: uid, params: paramsStr }: Props) => {
// Add the memo to the set of embedded memos. This is used to prevent infinite loops when a memo embeds itself.
context.embeddedMemos.add(memoName);
const contentNode = useSnippet ? (
- {memo.snippet}
+ {memo.snippet}
) : (
<>
{
}
return (
-
+
);
diff --git a/web/src/components/MemoContent/List.tsx b/web/src/components/MemoContent/List.tsx
index 6f0c1b83..14b9373a 100644
--- a/web/src/components/MemoContent/List.tsx
+++ b/web/src/components/MemoContent/List.tsx
@@ -1,7 +1,7 @@
-import clsx from "clsx";
import { head } from "lodash-es";
import React from "react";
import { ListNode_Kind, Node, NodeType } from "@/types/proto/api/v1/markdown_service";
+import { cn } from "@/utils";
import Renderer from "./Renderer";
interface Props {
@@ -43,7 +43,7 @@ const List: React.FC
= ({ kind, indent, children }: Props) => {
return React.createElement(
getListContainer(),
{
- className: clsx(
+ className: cn(
`list-inside ${kind === ListNode_Kind.ORDERED ? "list-decimal" : kind === ListNode_Kind.UNORDERED ? "list-disc" : "list-none"}`,
indent > 0 ? `pl-${2 * indent}` : "",
),
diff --git a/web/src/components/MemoContent/Math.tsx b/web/src/components/MemoContent/Math.tsx
index b75a39cf..3e73eef6 100644
--- a/web/src/components/MemoContent/Math.tsx
+++ b/web/src/components/MemoContent/Math.tsx
@@ -1,6 +1,6 @@
import TeX from "@matejmazur/react-katex";
-import clsx from "clsx";
import "katex/dist/katex.min.css";
+import { cn } from "@/utils";
interface Props {
content: string;
@@ -8,7 +8,7 @@ interface Props {
}
const Math: React.FC = ({ content, block }: Props) => {
- return ;
+ return ;
};
export default Math;
diff --git a/web/src/components/MemoContent/Spoiler.tsx b/web/src/components/MemoContent/Spoiler.tsx
index cb00bd50..364e8efa 100644
--- a/web/src/components/MemoContent/Spoiler.tsx
+++ b/web/src/components/MemoContent/Spoiler.tsx
@@ -1,5 +1,5 @@
-import clsx from "clsx";
import { useState } from "react";
+import { cn } from "@/utils";
interface Props {
content: string;
@@ -10,10 +10,10 @@ const Spoiler: React.FC = ({ content }: Props) => {
return (
setIsRevealed(!isRevealed)}
>
- {content}
+ {content}
);
};
diff --git a/web/src/components/MemoContent/Tag.tsx b/web/src/components/MemoContent/Tag.tsx
index 9ba8b952..77727464 100644
--- a/web/src/components/MemoContent/Tag.tsx
+++ b/web/src/components/MemoContent/Tag.tsx
@@ -1,9 +1,9 @@
-import clsx from "clsx";
import { useContext } from "react";
import { useLocation } from "react-router-dom";
import useNavigateTo from "@/hooks/useNavigateTo";
import { Routes } from "@/router";
import { stringifyFilters, useMemoFilterStore } from "@/store/v1";
+import { cn } from "@/utils";
import { RendererContext } from "./types";
interface Props {
@@ -44,10 +44,7 @@ const Tag: React.FC = ({ content }: Props) => {
return (
#{content}
diff --git a/web/src/components/MemoContent/TaskListItem.tsx b/web/src/components/MemoContent/TaskListItem.tsx
index e96c7d68..90476b86 100644
--- a/web/src/components/MemoContent/TaskListItem.tsx
+++ b/web/src/components/MemoContent/TaskListItem.tsx
@@ -1,9 +1,9 @@
import { Checkbox } from "@usememos/mui";
-import clsx from "clsx";
import { useContext, useState } from "react";
import { markdownServiceClient } from "@/grpcweb";
import { useMemoStore } from "@/store/v1";
import { Node, TaskListItemNode } from "@/types/proto/api/v1/markdown_service";
+import { cn } from "@/utils";
import Renderer from "./Renderer";
import { RendererContext } from "./types";
@@ -39,11 +39,11 @@ const TaskListItem: React.FC = ({ node, complete, children }: Props) => {
};
return (
-
+
handleCheckboxChange(e.target.checked)} />
-
+
{children.map((child, index) => (
))}
diff --git a/web/src/components/MemoContent/index.tsx b/web/src/components/MemoContent/index.tsx
index 36c625c4..9a6c849b 100644
--- a/web/src/components/MemoContent/index.tsx
+++ b/web/src/components/MemoContent/index.tsx
@@ -1,8 +1,8 @@
-import clsx from "clsx";
import { memo, useEffect, useRef, useState } from "react";
import useCurrentUser from "@/hooks/useCurrentUser";
import { useMemoStore } from "@/store/v1";
import { Node, NodeType } from "@/types/proto/api/v1/markdown_service";
+import { cn } from "@/utils";
import { useTranslate } from "@/utils/i18n";
import { isSuperUser } from "@/utils/user";
import Renderer from "./Renderer";
@@ -86,7 +86,7 @@ const MemoContent: React.FC = (props: Props) => {
{
return (