mirror of
https://github.com/wassname/Open-Assistant.git
synced 2026-07-03 17:10:10 +08:00
Merge pull request #897 from othrayte/highlight-target-message
website: Highlight target message
This commit is contained in:
@@ -5,13 +5,19 @@ import { Message } from "src/types/Conversation";
|
||||
interface MessageTableProps {
|
||||
messages: Message[];
|
||||
enableLink?: boolean;
|
||||
highlightLastMessage?: boolean;
|
||||
}
|
||||
|
||||
export function MessageTable({ messages, enableLink }: MessageTableProps) {
|
||||
export function MessageTable({ messages, enableLink, highlightLastMessage }: MessageTableProps) {
|
||||
return (
|
||||
<Stack spacing="4">
|
||||
{messages.map((item) => (
|
||||
<MessageTableEntry enabled={enableLink} item={item} key={item.id + item.frontend_message_id} />
|
||||
{messages.map((item, idx) => (
|
||||
<MessageTableEntry
|
||||
enabled={enableLink}
|
||||
item={item}
|
||||
key={item.id + item.frontend_message_id}
|
||||
highlight={highlightLastMessage && idx === messages.length - 1}
|
||||
/>
|
||||
))}
|
||||
</Stack>
|
||||
);
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
import { Avatar, Box, HStack, LinkBox, useBreakpoint, useBreakpointValue, useColorModeValue } from "@chakra-ui/react";
|
||||
import { Avatar, Box, HStack, useBreakpointValue, useColorModeValue } from "@chakra-ui/react";
|
||||
import { boolean } from "boolean";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
import { useCallback, useMemo } from "react";
|
||||
import { FlaggableElement } from "src/components/FlaggableElement";
|
||||
import { Message } from "src/types/Conversation";
|
||||
import { colors } from "styles/Theme/colors";
|
||||
|
||||
interface MessageTableEntryProps {
|
||||
item: Message;
|
||||
enabled?: boolean;
|
||||
highlight?: boolean;
|
||||
}
|
||||
|
||||
export function MessageTableEntry(props: MessageTableEntryProps) {
|
||||
@@ -37,6 +38,7 @@ export function MessageTableEntry(props: MessageTableEntryProps) {
|
||||
),
|
||||
[borderColor, inlineAvatar, item.is_assistant]
|
||||
);
|
||||
const highlightColor = useColorModeValue(colors.light.highlight, colors.dark.highlight);
|
||||
|
||||
return (
|
||||
<FlaggableElement message={item}>
|
||||
@@ -48,6 +50,8 @@ export function MessageTableEntry(props: MessageTableEntryProps) {
|
||||
p="4"
|
||||
borderRadius="md"
|
||||
bg={item.is_assistant ? backgroundColor : backgroundColor2}
|
||||
outline={props.highlight && "2px solid black"}
|
||||
outlineColor={highlightColor}
|
||||
onClick={props.enabled && goToMessage}
|
||||
_hover={props.enabled && { cursor: "pointer", opacity: 0.9 }}
|
||||
whiteSpace="pre-wrap"
|
||||
|
||||
@@ -36,7 +36,7 @@ export const CreateTask = ({
|
||||
<TaskHeader taskType={taskType} />
|
||||
{task.conversation ? (
|
||||
<Box mt="4" borderRadius="lg" bg={cardColor} className="p-3 sm:p-6">
|
||||
<MessageTable messages={task.conversation.messages} />
|
||||
<MessageTable messages={task.conversation.messages} highlightLastMessage />
|
||||
</Box>
|
||||
) : null}
|
||||
</>
|
||||
|
||||
@@ -38,7 +38,7 @@ export const EvaluateTask = ({
|
||||
<SurveyCard>
|
||||
<TaskHeader taskType={taskType} />
|
||||
<Box mt="4" p="6" borderRadius="lg" bg={cardColor}>
|
||||
<MessageTable messages={messages} />
|
||||
<MessageTable messages={messages} highlightLastMessage />
|
||||
</Box>
|
||||
<Sortable
|
||||
items={task[sortables]}
|
||||
|
||||
@@ -53,6 +53,7 @@ export const LabelTask = ({
|
||||
message_id: task.message_id,
|
||||
},
|
||||
]}
|
||||
highlightLastMessage
|
||||
/>
|
||||
</Box>
|
||||
) : (
|
||||
|
||||
@@ -4,11 +4,13 @@ export const colors = {
|
||||
btn: "gray.50",
|
||||
div: "white",
|
||||
text: "black",
|
||||
highlight: "blue.400",
|
||||
},
|
||||
dark: {
|
||||
bg: "gray.900",
|
||||
btn: "gray.600",
|
||||
div: "gray.700",
|
||||
text: "gray.200",
|
||||
highlight: "blue.500",
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user