diff --git a/web/src/components/MemoReactionListView/ReactionSelector.tsx b/web/src/components/MemoReactionListView/ReactionSelector.tsx
index 8aa4073ed..d22d2a7ae 100644
--- a/web/src/components/MemoReactionListView/ReactionSelector.tsx
+++ b/web/src/components/MemoReactionListView/ReactionSelector.tsx
@@ -36,11 +36,7 @@ const ReactionSelector = (props: Props) => {
className,
)}
>
-<<<<<<< HEAD
-
-=======
->>>>>>> 89d43a2e (Developed Color Picker Feature for memos)
diff --git a/web/src/components/MemoView/MemoView.tsx b/web/src/components/MemoView/MemoView.tsx
index 43a4d68cd..bc0f60e2f 100644
--- a/web/src/components/MemoView/MemoView.tsx
+++ b/web/src/components/MemoView/MemoView.tsx
@@ -1,122 +1,5 @@
import { memo, useCallback, useMemo, useRef, useState } from "react";
import { useLocation } from "react-router-dom";
-import useCurrentUser from "@/hooks/useCurrentUser";
-import { useUser } from "@/hooks/useUserQueries";
-import { cn } from "@/lib/utils";
-import { State } from "@/types/proto/api/v1/common_pb";
-import { isSuperUser } from "@/utils/user";
-import MemoEditor from "../MemoEditor";
-import PreviewImageDialog from "../PreviewImageDialog";
-import { MemoBody, MemoCommentListView, MemoHeader } from "./components";
-import { MEMO_CARD_BASE_CLASSES } from "./constants";
-import { useImagePreview } from "./hooks";
-import { computeCommentAmount, MemoViewContext } from "./MemoViewContext";
-import type { MemoViewProps } from "./types";
-import MemoFooter from "./components/MemoFooter";
-
-const MemoView: React.FC = (props: MemoViewProps) => {
- const { memo: memoData, className, parentPage: parentPageProp, compact, showCreator, showVisibility, showPinned } = props;
- const cardRef = useRef(null);
- const [showEditor, setShowEditor] = useState(false);
-
- const currentUser = useCurrentUser();
- const creator = useUser(memoData.creator).data;
- const isArchived = memoData.state === State.ARCHIVED;
- const readonly = memoData.creator !== currentUser?.name && !isSuperUser(currentUser);
- const parentPage = parentPageProp || "/";
-
- // NSFW content management: always blur content tagged with NSFW (case-insensitive)
- const [showNSFWContent, setShowNSFWContent] = useState(false);
- const nsfw = memoData.tags?.some((tag) => tag.toUpperCase() === "NSFW") ?? false;
- const toggleNsfwVisibility = useCallback(() => setShowNSFWContent((prev) => !prev), []);
-
- const { previewState, openPreview, setPreviewOpen } = useImagePreview();
-
- const openEditor = useCallback(() => setShowEditor(true), []);
- const closeEditor = useCallback(() => setShowEditor(false), []);
-
- const location = useLocation();
- const isInMemoDetailPage = location.pathname.startsWith(`/${memoData.name}`);
- const showCommentPreview = !isInMemoDetailPage && computeCommentAmount(memoData) > 0;
-
- const contextValue = useMemo(
- () => ({
- memo: memoData,
- creator,
- currentUser,
- parentPage,
- isArchived,
- readonly,
- showNSFWContent,
- nsfw,
- openEditor,
- toggleNsfwVisibility,
- openPreview,
- }),
- [
- memoData,
- creator,
- currentUser,
- parentPage,
- isArchived,
- readonly,
- showNSFWContent,
- nsfw,
- openEditor,
- toggleNsfwVisibility,
- openPreview,
- ],
- );
-
- if (showEditor) {
- return (
-
- );
- }
-
- const article = (
-
-
-
-
-
-
-
- );
-
- return (
-
- {showCommentPreview ? (
-
- {article}
-
-
- ) : (
- article
- )}
-
- );
-};
-
-export default memo(MemoView);
-import { memo, useCallback, useMemo, useRef, useState } from "react";
-import { useLocation } from "react-router-dom";
import { useInstance } from "@/contexts/InstanceContext";
import useCurrentUser from "@/hooks/useCurrentUser";
import { useUser } from "@/hooks/useUserQueries";
@@ -194,7 +77,6 @@ const MemoView: React.FC = (props: MemoViewProps) => {
className="mb-2"
cacheKey={`inline-memo-editor-${memoData.name}`}
memo={memoData}
- parentMemoName={memoData.parent || undefined}
onConfirm={closeEditor}
onCancel={closeEditor}
/>
@@ -234,4 +116,4 @@ const MemoView: React.FC = (props: MemoViewProps) => {
);
};
-export default memo(MemoView);
+export default memo(MemoView);
\ No newline at end of file
diff --git a/web/src/components/MemoView/MemoViewContext.tsx b/web/src/components/MemoView/MemoViewContext.tsx
index 3cd7e06d1..c9df07c96 100644
--- a/web/src/components/MemoView/MemoViewContext.tsx
+++ b/web/src/components/MemoView/MemoViewContext.tsx
@@ -13,10 +13,10 @@ export interface MemoViewContextValue {
parentPage: string;
isArchived: boolean;
readonly: boolean;
- showNSFWContent: boolean;
- nsfw: boolean;
+ showBlurredContent: boolean;
+ blurred: boolean;
openEditor: () => void;
- toggleNsfwVisibility: () => void;
+ toggleBlurVisibility: () => void;
openPreview: (urls: string | string[], index?: number) => void;
}
diff --git a/web/src/components/MemoView/types.ts b/web/src/components/MemoView/types.ts
index 1d0882bfb..6b1f9c33c 100644
--- a/web/src/components/MemoView/types.ts
+++ b/web/src/components/MemoView/types.ts
@@ -18,4 +18,4 @@ export interface MemoHeaderProps {
export interface MemoBodyProps {
compact?: boolean;
-}
+}
\ No newline at end of file
diff --git a/web/src/components/VisibilityIcon.tsx b/web/src/components/VisibilityIcon.tsx
index 31eb26d28..7bdd65c95 100644
--- a/web/src/components/VisibilityIcon.tsx
+++ b/web/src/components/VisibilityIcon.tsx
@@ -22,11 +22,7 @@ const VisibilityIcon = (props: Props) => {
return null;
}
-<<<<<<< HEAD
- return ;
-=======
return ;
->>>>>>> 89d43a2e (Developed Color Picker Feature for memos)
};
export default VisibilityIcon;