mirror of
https://github.com/hexastack/hexabot
synced 2025-06-26 18:27:28 +00:00
feat: update frontend to use id instead of foreign_id
This commit is contained in:
parent
e2c81a9618
commit
c35be05416
@ -1,11 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright © 2024 Hexastack. All rights reserved.
|
* Copyright © 2025 Hexastack. All rights reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
||||||
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
||||||
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
import { Grid } from "@mui/material";
|
import { Grid } from "@mui/material";
|
||||||
import { GridRenderCellParams } from "@mui/x-data-grid";
|
import { GridRenderCellParams } from "@mui/x-data-grid";
|
||||||
|
|
||||||
@ -29,13 +30,7 @@ export const buildRenderPicture = (
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
src={getAvatarSrc(
|
src={getAvatarSrc(apiUrl, entityType, params.row.id)}
|
||||||
apiUrl,
|
|
||||||
entityType,
|
|
||||||
entityType === EntityType.USER
|
|
||||||
? params.row.id
|
|
||||||
: params.row.foreign_id,
|
|
||||||
)}
|
|
||||||
style={{ width: "36px", height: "36px" }}
|
style={{ width: "36px", height: "36px" }}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright © 2024 Hexastack. All rights reserved.
|
* Copyright © 2025 Hexastack. All rights reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
||||||
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
||||||
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Avatar,
|
Avatar,
|
||||||
ChatContainer,
|
ChatContainer,
|
||||||
@ -70,11 +71,7 @@ export function Chat() {
|
|||||||
<ConversationHeader>
|
<ConversationHeader>
|
||||||
<Avatar
|
<Avatar
|
||||||
name={subscriber?.first_name}
|
name={subscriber?.first_name}
|
||||||
src={getAvatarSrc(
|
src={getAvatarSrc(apiUrl, EntityType.SUBSCRIBER, subscriber.id)}
|
||||||
apiUrl,
|
|
||||||
EntityType.SUBSCRIBER,
|
|
||||||
subscriber.foreign_id,
|
|
||||||
)}
|
|
||||||
/>
|
/>
|
||||||
<ConversationHeader.Content>
|
<ConversationHeader.Content>
|
||||||
<ChatHeader />
|
<ChatHeader />
|
||||||
@ -127,9 +124,8 @@ export function Chat() {
|
|||||||
message.sender
|
message.sender
|
||||||
? EntityType.SUBSCRIBER
|
? EntityType.SUBSCRIBER
|
||||||
: EntityType.USER,
|
: EntityType.USER,
|
||||||
(message.sender
|
(message.sender ? subscriber.id : message.sentBy) ||
|
||||||
? subscriber.foreign_id
|
"",
|
||||||
: message.sentBy) || "",
|
|
||||||
)}
|
)}
|
||||||
/>,
|
/>,
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright © 2024 Hexastack. All rights reserved.
|
* Copyright © 2025 Hexastack. All rights reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
||||||
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
||||||
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Avatar,
|
Avatar,
|
||||||
Conversation,
|
Conversation,
|
||||||
@ -50,30 +51,26 @@ export const SubscribersList = (props: {
|
|||||||
loadingMore={isFetching}
|
loadingMore={isFetching}
|
||||||
onYReachEnd={handleLoadMore}
|
onYReachEnd={handleLoadMore}
|
||||||
>
|
>
|
||||||
{subscribers.map((conversation) => (
|
{subscribers.map((subscriber) => (
|
||||||
<Conversation
|
<Conversation
|
||||||
onClick={() => chat.setSubscriberId(conversation.id)}
|
onClick={() => chat.setSubscriberId(subscriber.id)}
|
||||||
className="changeColor"
|
className="changeColor"
|
||||||
key={conversation.id}
|
key={subscriber.id}
|
||||||
active={chat.subscriber?.id === conversation.id}
|
active={chat.subscriber?.id === subscriber.id}
|
||||||
>
|
>
|
||||||
<Avatar
|
<Avatar
|
||||||
src={getAvatarSrc(
|
src={getAvatarSrc(apiUrl, EntityType.SUBSCRIBER, subscriber.id)}
|
||||||
apiUrl,
|
|
||||||
EntityType.SUBSCRIBER,
|
|
||||||
conversation.foreign_id,
|
|
||||||
)}
|
|
||||||
/>
|
/>
|
||||||
<Conversation.Content>
|
<Conversation.Content>
|
||||||
<div>
|
<div>
|
||||||
{conversation.first_name} {conversation.last_name}
|
{subscriber.first_name} {subscriber.last_name}
|
||||||
</div>
|
</div>
|
||||||
<div className="cs-conversation__info">
|
<div className="cs-conversation__info">
|
||||||
{conversation.lastvisit?.toLocaleString(i18n.language)}
|
{subscriber.lastvisit?.toLocaleString(i18n.language)}
|
||||||
</div>
|
</div>
|
||||||
</Conversation.Content>
|
</Conversation.Content>
|
||||||
<Conversation.Operations visible>
|
<Conversation.Operations visible>
|
||||||
<Chip size="small" label={conversation.channel.name} />
|
<Chip size="small" label={subscriber.channel.name} />
|
||||||
</Conversation.Operations>
|
</Conversation.Operations>
|
||||||
</Conversation>
|
</Conversation>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user