mirror of
https://github.com/wassname/Open-Assistant.git
synced 2026-08-09 11:40:53 +08:00
Add delete message feature
Remove deleted property from Message Add dedicated route for delete_message Pre-commit Revert change to promp_repository fetch_message Remove blank line
This commit is contained in:
@@ -14,7 +14,7 @@ import {
|
||||
useDisclosure,
|
||||
} from "@chakra-ui/react";
|
||||
import { boolean } from "boolean";
|
||||
import { ClipboardList, Flag, MessageSquare, MoreHorizontal, User } from "lucide-react";
|
||||
import { ClipboardList, Flag, MessageSquare, MoreHorizontal, Trash, User } from "lucide-react";
|
||||
import { useRouter } from "next/router";
|
||||
import { useSession } from "next-auth/react";
|
||||
import { useTranslation } from "next-i18next";
|
||||
@@ -22,9 +22,10 @@ import { useCallback, useEffect, useMemo, useState } from "react";
|
||||
import { LabelMessagePopup } from "src/components/Messages/LabelPopup";
|
||||
import { getEmojiIcon, MessageEmojiButton } from "src/components/Messages/MessageEmojiButton";
|
||||
import { ReportPopup } from "src/components/Messages/ReportPopup";
|
||||
import { post } from "src/lib/api";
|
||||
import { del, post } from "src/lib/api";
|
||||
import { colors } from "src/styles/Theme/colors";
|
||||
import { Message, MessageEmojis } from "src/types/Conversation";
|
||||
import { mutate } from "swr";
|
||||
import useSWRMutation from "swr/mutation";
|
||||
|
||||
interface MessageTableEntryProps {
|
||||
@@ -153,9 +154,16 @@ const MessageActions = ({
|
||||
onReport: () => void;
|
||||
message: Message;
|
||||
}) => {
|
||||
const { t } = useTranslation("message");
|
||||
const { t } = useTranslation(["message", "common"]);
|
||||
const { trigger } = useSWRMutation(`/api/admin/delete_message/${message.id}`, del);
|
||||
const { data } = useSession() || {};
|
||||
const role = data?.user?.role;
|
||||
|
||||
const handleDelete = async () => {
|
||||
await trigger();
|
||||
mutate((key) => typeof key === "string" && key.startsWith("/api/messages"), undefined, { revalidate: true });
|
||||
};
|
||||
|
||||
return (
|
||||
<Menu>
|
||||
<MenuButton>
|
||||
@@ -186,6 +194,9 @@ const MessageActions = ({
|
||||
<MenuItem as="a" href={`/admin/manage_user/${message.user_id}`} target="_blank" icon={<User />}>
|
||||
{t("view_user")}
|
||||
</MenuItem>
|
||||
<MenuItem onClick={handleDelete} icon={<Trash />}>
|
||||
{t("common:delete")}
|
||||
</MenuItem>
|
||||
</>
|
||||
)}
|
||||
</MenuList>
|
||||
|
||||
Reference in New Issue
Block a user