mirror of
https://github.com/open-webui/open-webui
synced 2025-06-04 03:37:35 +00:00
refac
This commit is contained in:
parent
f93c2e4a8d
commit
371201d820
@ -312,6 +312,8 @@ async def update_message_by_id(
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
message = Messages.update_message_by_id(message_id, form_data)
|
message = Messages.update_message_by_id(message_id, form_data)
|
||||||
|
message = Messages.get_message_by_id(message_id)
|
||||||
|
|
||||||
if message:
|
if message:
|
||||||
await sio.emit(
|
await sio.emit(
|
||||||
"channel-events",
|
"channel-events",
|
||||||
@ -446,6 +448,7 @@ async def remove_reaction_by_id_and_user_id_and_name(
|
|||||||
)
|
)
|
||||||
|
|
||||||
message = Messages.get_message_by_id(message_id)
|
message = Messages.get_message_by_id(message_id)
|
||||||
|
|
||||||
await sio.emit(
|
await sio.emit(
|
||||||
"channel-events",
|
"channel-events",
|
||||||
{
|
{
|
||||||
|
@ -94,6 +94,8 @@
|
|||||||
showUserProfile={messageIdx === 0 ||
|
showUserProfile={messageIdx === 0 ||
|
||||||
messageList.at(messageIdx - 1)?.user_id !== message.user_id}
|
messageList.at(messageIdx - 1)?.user_id !== message.user_id}
|
||||||
onDelete={() => {
|
onDelete={() => {
|
||||||
|
messages = messages.filter((m) => m.id !== message.id);
|
||||||
|
|
||||||
const res = deleteMessage(localStorage.token, message.channel_id, message.id).catch(
|
const res = deleteMessage(localStorage.token, message.channel_id, message.id).catch(
|
||||||
(error) => {
|
(error) => {
|
||||||
toast.error(error);
|
toast.error(error);
|
||||||
@ -102,6 +104,13 @@
|
|||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
onEdit={(content) => {
|
onEdit={(content) => {
|
||||||
|
messages = messages.map((m) => {
|
||||||
|
if (m.id === message.id) {
|
||||||
|
m.content = content;
|
||||||
|
}
|
||||||
|
return m;
|
||||||
|
});
|
||||||
|
|
||||||
const res = updateMessage(localStorage.token, message.channel_id, message.id, {
|
const res = updateMessage(localStorage.token, message.channel_id, message.id, {
|
||||||
content: content
|
content: content
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
@ -111,11 +120,18 @@
|
|||||||
}}
|
}}
|
||||||
onReaction={(name) => {
|
onReaction={(name) => {
|
||||||
if (
|
if (
|
||||||
message.reactions
|
(message?.reactions ?? [])
|
||||||
.find((reaction) => reaction.name === name)
|
.find((reaction) => reaction.name === name)
|
||||||
?.user_ids?.includes($user.id) ??
|
?.user_ids?.includes($user.id) ??
|
||||||
false
|
false
|
||||||
) {
|
) {
|
||||||
|
messages = messages.map((m) => {
|
||||||
|
if (m.id === message.id) {
|
||||||
|
m.reactions = m.reactions.filter((reaction) => reaction.name !== name);
|
||||||
|
}
|
||||||
|
return m;
|
||||||
|
});
|
||||||
|
|
||||||
const res = removeReaction(
|
const res = removeReaction(
|
||||||
localStorage.token,
|
localStorage.token,
|
||||||
message.channel_id,
|
message.channel_id,
|
||||||
@ -126,6 +142,26 @@
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
messages = messages.map((m) => {
|
||||||
|
if (m.id === message.id) {
|
||||||
|
if (m.reactions) {
|
||||||
|
const reaction = m.reactions.find((reaction) => reaction.name === name);
|
||||||
|
|
||||||
|
if (reaction) {
|
||||||
|
reaction.user_ids.push($user.id);
|
||||||
|
reaction.count = reaction.user_ids.length;
|
||||||
|
} else {
|
||||||
|
m.reactions.push({
|
||||||
|
name: name,
|
||||||
|
user_ids: [$user.id],
|
||||||
|
count: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return m;
|
||||||
|
});
|
||||||
|
|
||||||
const res = addReaction(localStorage.token, message.channel_id, message.id, name).catch(
|
const res = addReaction(localStorage.token, message.channel_id, message.id, name).catch(
|
||||||
(error) => {
|
(error) => {
|
||||||
toast.error(error);
|
toast.error(error);
|
||||||
|
@ -266,9 +266,9 @@
|
|||||||
>{/if}
|
>{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if message.reactions.length > 0}
|
{#if (message?.reactions ?? []).length > 0}
|
||||||
<div>
|
<div>
|
||||||
<div class="flex items-center gap-1 mt-1 mb-2">
|
<div class="flex items-center flex-wrap gap-y-1.5 gap-1 mt-1 mb-2">
|
||||||
{#each message.reactions as reaction}
|
{#each message.reactions as reaction}
|
||||||
<Tooltip content={`:${reaction.name}:`}>
|
<Tooltip content={`:${reaction.name}:`}>
|
||||||
<button
|
<button
|
||||||
|
Loading…
Reference in New Issue
Block a user