diff --git a/website/public/locales/en/message.json b/website/public/locales/en/message.json
index e16e3c0a..d506ce80 100644
--- a/website/public/locales/en/message.json
+++ b/website/public/locales/en/message.json
@@ -9,5 +9,6 @@
"report_placeholder": "Why should this message be reviewed?",
"report_title": "Report",
"send_report": "Send",
- "submit_labels": "Submit"
+ "submit_labels": "Submit",
+ "view_user": "View user"
}
diff --git a/website/src/components/Messages/MessageTable.stories.tsx b/website/src/components/Messages/MessageTable.stories.tsx
index bc03aed1..772d1b52 100644
--- a/website/src/components/Messages/MessageTable.stories.tsx
+++ b/website/src/components/Messages/MessageTable.stories.tsx
@@ -1,3 +1,4 @@
+import { SessionProvider } from "next-auth/react";
import React from "react";
import { Message } from "src/types/Conversation";
@@ -18,7 +19,11 @@ const Template = ({
enableLink: boolean;
highlightLastMessage: boolean;
}) => {
- return ;
+ return (
+
+ ;
+
+ );
};
export const Default = Template.bind({});
diff --git a/website/src/components/Messages/MessageTableEntry.stories.tsx b/website/src/components/Messages/MessageTableEntry.stories.tsx
index 3550d00f..7288fb6f 100644
--- a/website/src/components/Messages/MessageTableEntry.stories.tsx
+++ b/website/src/components/Messages/MessageTableEntry.stories.tsx
@@ -1,3 +1,4 @@
+import { SessionProvider } from "next-auth/react";
import React from "react";
import { Message } from "src/types/Conversation";
@@ -10,7 +11,11 @@ export default {
};
const Template = ({ enabled, highlight, ...message }) => {
- return ;
+ return (
+
+ ;
+
+ );
};
export const Default = Template.bind({});
diff --git a/website/src/components/Messages/MessageTableEntry.tsx b/website/src/components/Messages/MessageTableEntry.tsx
index 75e1ad10..e65885e2 100644
--- a/website/src/components/Messages/MessageTableEntry.tsx
+++ b/website/src/components/Messages/MessageTableEntry.tsx
@@ -14,8 +14,9 @@ import {
useDisclosure,
} from "@chakra-ui/react";
import { boolean } from "boolean";
-import { ClipboardList, Flag, MessageSquare, MoreHorizontal } from "lucide-react";
+import { ClipboardList, Flag, MessageSquare, MoreHorizontal, User } from "lucide-react";
import { useRouter } from "next/router";
+import { useSession } from "next-auth/react";
import { useTranslation } from "next-i18next";
import { useCallback, useEffect, useMemo, useState } from "react";
import { LabelMessagePopup } from "src/components/Messages/LabelPopup";
@@ -109,7 +110,7 @@ export function MessageTableEntry({ message, enabled, highlight }: MessageTableE
userEmoji={emojiState.user_emojis}
onLabel={showLabelPopup}
onReport={showReportPopup}
- messageId={message.id}
+ message={message}
/>
@@ -142,16 +143,17 @@ const MessageActions = ({
userEmoji,
onLabel,
onReport,
- messageId,
+ message,
}: {
react: (emoji: string, state: boolean) => void;
userEmoji: string[];
onLabel: () => void;
onReport: () => void;
- messageId: string;
+ message: Message;
}) => {
const { t } = useTranslation("message");
-
+ const { data } = useSession() || {};
+ const role = data?.user?.role;
return (
);
diff --git a/website/src/components/Messages/MessageWithChildren.stories.tsx b/website/src/components/Messages/MessageWithChildren.stories.tsx
index 3ad9583f..55472c20 100644
--- a/website/src/components/Messages/MessageWithChildren.stories.tsx
+++ b/website/src/components/Messages/MessageWithChildren.stories.tsx
@@ -1,4 +1,6 @@
import { rest } from "msw";
+import { SessionProvider } from "next-auth/react";
+
import { MessageWithChildren } from "./MessageWithChildren";
// eslint-disable-next-line import/no-anonymous-default-export
@@ -28,7 +30,11 @@ export default {
},
};
-const Template = (args) => ;
+const Template = (args) => (
+
+ ;
+
+);
export const NoChildren = Template.bind({});
NoChildren.args = {
diff --git a/website/src/types/Conversation.ts b/website/src/types/Conversation.ts
index 8b258a25..5eb86351 100644
--- a/website/src/types/Conversation.ts
+++ b/website/src/types/Conversation.ts
@@ -18,6 +18,7 @@ export interface Message extends MessageEmojis {
created_date: string; // iso date string
parent_id: string;
frontend_message_id?: string;
+ user_id: string;
}
export interface Conversation {