Untitled
unknown
plain_text
2 years ago
3.9 kB
5
Indexable
// Customizable Area Start
import { IBlock } from '../../../../framework/src/IBlock';
import { Message } from '../../../../framework/src/Message';
import { BlockComponent } from '../../../../framework/src/BlockComponent';
import MessageEnum, {
getName,
} from '../../../../framework/src/Messages/MessageEnum';
import { runEngine } from '../../../../framework/src/RunEngine';
import StorageProvider from '../../../../framework/src/StorageProvider';
import * as helpers from '../../../../framework/src/Helpers'
import {
Conversation,
Client as ConversationsClient,
} from '@twilio/conversations';
export const configJSON = require('../config');
export interface Props {
navigation: any;
id: string;
// Customizable Area Start
// Customizable Area End
}
interface S {
// Customizable Area Start
like: boolean;
// Customizable Area End
}
interface SS {
// Customizable Area Start
id: any;
// Customizable Area End
}
export default class ChatIconsController extends BlockComponent<Props, S, SS> {
// Customizable Area Start
likeButtonApiCall: any;
// Customizable Area End
constructor(props: Props) {
super(props);
this.receive = this.receive.bind(this);
this.subScribedMessages = [
// Customizable Area Start
getName(MessageEnum.NavigationPayLoadMessage),
getName(MessageEnum.RestAPIResponceMessage),
// Customizable Area End
];
// Customizable Area Start
this.state = {
like: false,
};
}
async receive(from: string, message: Message) {
// Customizable Area Start
// Navigation passed Data
if (
getName(MessageEnum.RestAPIResponceMessage) === message.id &&
this.likeButtonApiCall != null &&
this.likeButtonApiCall === message.getData(getName(MessageEnum.RestAPIResponceDataMessage))
) {
let responseJson = message.getData(
getName(MessageEnum.RestAPIResponceSuccessMessage)
);
if (responseJson !== undefined && responseJson?.errors === undefined) {
console.log(responseJson,"responsejaons")
// this.setState({messages:responseJson?.data?.attributes?.messages.reverse()})
} else {
let errorReponse = message.getData(
getName(MessageEnum.RestAPIResponceErrorMessage)
);
console.log("Error response", errorReponse)
console.log(responseJson)
}
}
// Customizable Area End
}
likeChatApiCall = async () => {
console.log('likeChatApiCall',this.props?.likeid);
this.props?.cable.channel(`MessagesChannel`).perform('speak', { message_id:this.props?.likeid._id,is_favourite:true, })
// this.setState({ like: !this.state.like });
// console.log('like', this.props?.likeid);
// const token = await StorageProvider.get('USER_TOKEN');
// const header = {
// 'Content-Type': 'application/json',
// token,
// };
// const is_favourite = true
// const requestMessage = new Message(
// getName(MessageEnum.RestAPIRequestMessage)
// );
// this.likeButtonApiCall = requestMessage.messageId;
// requestMessage.addData(
// getName(MessageEnum.RestAPIResponceEndPointMessage),
// `bx_block_chat/chats/${this.props?.likeid}/make_favourite`
// );
// requestMessage.addData(
// getName(MessageEnum.RestAPIRequestHeaderMessage),
// JSON.stringify(header)
// );
// const httpBody = {
// "is_favourite": true
// }
// requestMessage.addData(
// getName(MessageEnum.RestAPIRequestBodyMessage),
// JSON.stringify(httpBody),x
// )
// requestMessage.addData(
// getName(MessageEnum.RestAPIRequestMethodMessage),
// 'PUT'
// );
// runEngine.sendMessage(requestMessage.id, requestMessage);
// return true;
};
// Customizable Area End
}
// Customizable Area End
Editor is loading...