bibot 1.0.23 → 1.0.24

Sign up to get free protection for your applications and to get access to all the features.
@@ -3485,16 +3485,33 @@ var AppProvider = function AppProvider(_ref) {
3485
3485
  };
3486
3486
 
3487
3487
  var getRemoteClientChatPredefinedQuestions = function getRemoteClientChatPredefinedQuestions(params) {
3488
- return Promise.resolve(_catch(function () {
3489
- var path = "" + domain.inference + resources.predefinedQ;
3490
- return Promise.resolve(pluginAxiosInstance.get(path, {
3491
- params: params
3492
- })).then(function (response) {
3493
- return response.data.predefined_messages;
3494
- });
3495
- }, function () {
3496
- return ['These are placeholders', 'They will be removed in production', 'This will be empty if there are no predefined questions', 'So hide if there are no predefined questions'];
3497
- }));
3488
+ try {
3489
+ return Promise.resolve(_catch(function () {
3490
+ var path = "" + domain.inference + resources.predefinedQ;
3491
+ return Promise.resolve(pluginAxiosInstance.get(path, {
3492
+ params: params
3493
+ })).then(function (response) {
3494
+ console.log(response.data.predefined_questions);
3495
+ return response.data.predefined_questions;
3496
+ });
3497
+ }, function () {
3498
+ return [{
3499
+ question: 'These are placeholders',
3500
+ answer: ''
3501
+ }, {
3502
+ question: 'They will be removed in production',
3503
+ answer: ''
3504
+ }, {
3505
+ question: 'This will be empty if there are no predefined questions',
3506
+ answer: ''
3507
+ }, {
3508
+ question: 'So hide if there are no predefined questions',
3509
+ answer: ''
3510
+ }];
3511
+ }));
3512
+ } catch (e) {
3513
+ return Promise.reject(e);
3514
+ }
3498
3515
  };
3499
3516
  var getRemoteClientChatBubbleConfig = function getRemoteClientChatBubbleConfig(params) {
3500
3517
  try {
@@ -3588,20 +3605,21 @@ var useBiBotChatBot = function useBiBotChatBot(_ref) {
3588
3605
  var sendInputInquiry = function sendInputInquiry() {
3589
3606
  try {
3590
3607
  setIsLoading(true);
3608
+ var input = userInput.trim();
3591
3609
  setUserInput('');
3592
3610
  return Promise.resolve(_finallyRethrows(function () {
3593
3611
  return _catch(function () {
3594
3612
  var _temp2 = function () {
3595
- if (userInput.trim()) {
3613
+ if (input) {
3596
3614
  setMessages(function (messages) {
3597
3615
  return [].concat(messages, [{
3598
3616
  sender: 'user',
3599
- text: userInput
3617
+ text: input
3600
3618
  }]);
3601
3619
  });
3602
3620
  return Promise.resolve(askBiBot({
3603
3621
  client_id: clientId,
3604
- q: userInput.trim(),
3622
+ q: input,
3605
3623
  session_id: state.sessionId,
3606
3624
  chat_id: v4()
3607
3625
  })).then(function (response) {
@@ -3617,7 +3635,7 @@ var useBiBotChatBot = function useBiBotChatBot(_ref) {
3617
3635
  if (_temp2 && _temp2.then) return _temp2.then(function () {});
3618
3636
  }, function (error) {
3619
3637
  var _error$message;
3620
- void error((_error$message = error === null || error === void 0 ? void 0 : error.message) != null ? _error$message : 'Failed to get response from server');
3638
+ console.error((_error$message = error === null || error === void 0 ? void 0 : error.message) != null ? _error$message : 'Failed to get response from server');
3621
3639
  });
3622
3640
  }, function (_wasThrown, _result) {
3623
3641
  setIsLoading(false);
@@ -3628,6 +3646,33 @@ var useBiBotChatBot = function useBiBotChatBot(_ref) {
3628
3646
  return Promise.reject(e);
3629
3647
  }
3630
3648
  };
3649
+ var askPredefinedQuestion = function askPredefinedQuestion(question) {
3650
+ try {
3651
+ setIsLoading(true);
3652
+ var input = question.question.trim();
3653
+ setUserInput('');
3654
+ if (input === question.question) {
3655
+ setMessages(function (messages) {
3656
+ return [].concat(messages, [{
3657
+ sender: 'user',
3658
+ text: input
3659
+ }]);
3660
+ });
3661
+ setTimeout(function () {
3662
+ setMessages(function (messages) {
3663
+ return [].concat(messages, [{
3664
+ sender: 'bot',
3665
+ text: question.answer
3666
+ }]);
3667
+ });
3668
+ setIsLoading(false);
3669
+ }, 1000);
3670
+ }
3671
+ return Promise.resolve();
3672
+ } catch (e) {
3673
+ return Promise.reject(e);
3674
+ }
3675
+ };
3631
3676
  var clientId = _ref.clientId;
3632
3677
  var _useState = useState([]),
3633
3678
  predefinedQuestions = _useState[0],
@@ -3654,9 +3699,10 @@ var useBiBotChatBot = function useBiBotChatBot(_ref) {
3654
3699
  chatBubbleConfig = _useState7[0],
3655
3700
  setChatBubbleConfig = _useState7[1];
3656
3701
  var handlePredefinedQuestionSelect = function handlePredefinedQuestionSelect(question) {
3657
- setUserInput(question);
3658
3702
  sendInputInquiry();
3659
- setShowPredefinedQuestions(false);
3703
+ askPredefinedQuestion(question);
3704
+ setUserInput('');
3705
+ setShowPredefinedQuestions(true);
3660
3706
  };
3661
3707
  var getChatBubbleConfig = useCallback(function () {
3662
3708
  try {
@@ -3892,38 +3938,61 @@ var useOnlineStatus = function useOnlineStatus() {
3892
3938
 
3893
3939
  var PredefinedQuestions = function PredefinedQuestions(_ref) {
3894
3940
  var questions = _ref.questions,
3895
- onSelect = _ref.onSelect;
3941
+ onSelect = _ref.onSelect,
3942
+ clientId = _ref.clientId;
3943
+ var _useBiBotChatBot = useBiBotChatBot({
3944
+ clientId: clientId
3945
+ }),
3946
+ chatBubbleConfig = _useBiBotChatBot.chatBubbleConfig;
3896
3947
  return createElement("div", {
3897
- className: styles['predefined-questions']
3948
+ className: styles['predefined-questions'],
3949
+ style: {
3950
+ height: '50%',
3951
+ color: '#000'
3952
+ }
3898
3953
  }, questions.map(function (question, index) {
3954
+ var _chatBubbleConfig$col;
3899
3955
  return createElement("div", {
3900
3956
  key: index,
3901
3957
  className: styles['predefined-questions'],
3958
+ style: {
3959
+ backgroundColor: '#fff',
3960
+ border: "0.5px solid " + (chatBubbleConfig ? (_chatBubbleConfig$col = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col : '#dedede' : '#000'),
3961
+ fontSize: 16,
3962
+ margin: 5,
3963
+ textAlign: 'start',
3964
+ height: 20,
3965
+ padding: 10,
3966
+ display: 'flex',
3967
+ alignItems: 'center',
3968
+ borderRadius: 6,
3969
+ cursor: 'pointer'
3970
+ },
3902
3971
  onClick: function onClick() {
3903
- return onSelect(question);
3972
+ onSelect(question);
3904
3973
  }
3905
- }, question);
3974
+ }, question.question);
3906
3975
  }));
3907
3976
  };
3908
3977
  var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
3909
- var _chatBubbleConfig$col, _chatBubbleConfig$col2;
3978
+ var _chatBubbleConfig$col2, _chatBubbleConfig$col3;
3910
3979
  var clientId = _ref2.clientId;
3911
- var _useBiBotChatBot = useBiBotChatBot({
3980
+ var _useBiBotChatBot2 = useBiBotChatBot({
3912
3981
  clientId: clientId
3913
3982
  }),
3914
- chatIsOpen = _useBiBotChatBot.chatIsOpen,
3915
- messages = _useBiBotChatBot.messages,
3916
- isLoading = _useBiBotChatBot.isLoading,
3917
- messageEndRef = _useBiBotChatBot.messageEndRef,
3918
- userInput = _useBiBotChatBot.userInput,
3919
- handleUserInput = _useBiBotChatBot.handleUserInput,
3920
- handleKeyPress = _useBiBotChatBot.handleKeyPress,
3921
- sendInputInquiry = _useBiBotChatBot.sendInputInquiry,
3922
- toggleChat = _useBiBotChatBot.toggleChat,
3923
- chatBubbleConfig = _useBiBotChatBot.chatBubbleConfig,
3924
- showPredefinedQuestions = _useBiBotChatBot.showPredefinedQuestions,
3925
- predefinedQuestions = _useBiBotChatBot.predefinedQuestions,
3926
- handlePredefinedQuestionSelect = _useBiBotChatBot.handlePredefinedQuestionSelect;
3983
+ chatIsOpen = _useBiBotChatBot2.chatIsOpen,
3984
+ messages = _useBiBotChatBot2.messages,
3985
+ isLoading = _useBiBotChatBot2.isLoading,
3986
+ messageEndRef = _useBiBotChatBot2.messageEndRef,
3987
+ userInput = _useBiBotChatBot2.userInput,
3988
+ handleUserInput = _useBiBotChatBot2.handleUserInput,
3989
+ handleKeyPress = _useBiBotChatBot2.handleKeyPress,
3990
+ sendInputInquiry = _useBiBotChatBot2.sendInputInquiry,
3991
+ toggleChat = _useBiBotChatBot2.toggleChat,
3992
+ chatBubbleConfig = _useBiBotChatBot2.chatBubbleConfig,
3993
+ showPredefinedQuestions = _useBiBotChatBot2.showPredefinedQuestions,
3994
+ predefinedQuestions = _useBiBotChatBot2.predefinedQuestions,
3995
+ handlePredefinedQuestionSelect = _useBiBotChatBot2.handlePredefinedQuestionSelect;
3927
3996
  var isOnline = useOnlineStatus();
3928
3997
  return createElement("div", {
3929
3998
  className: "chat-bubble " + (chatIsOpen ? 'open' : ''),
@@ -3950,7 +4019,7 @@ var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
3950
4019
  }, createElement("div", {
3951
4020
  className: styles['chat-header'],
3952
4021
  style: {
3953
- backgroundColor: (_chatBubbleConfig$col = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col : '#dedede',
4022
+ backgroundColor: (_chatBubbleConfig$col2 = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col2 : '#dedede',
3954
4023
  height: 50,
3955
4024
  borderTopLeftRadius: 8,
3956
4025
  borderTopRightRadius: 8,
@@ -4047,8 +4116,9 @@ var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
4047
4116
  }
4048
4117
  }, message.text));
4049
4118
  }), showPredefinedQuestions && predefinedQuestions && predefinedQuestions.length > 0 && createElement(PredefinedQuestions, {
4050
- questions: predefinedQuestions,
4051
- onSelect: handlePredefinedQuestionSelect
4119
+ questions: predefinedQuestions.slice(0, 5),
4120
+ onSelect: handlePredefinedQuestionSelect,
4121
+ clientId: clientId
4052
4122
  }), isLoading && createElement("div", {
4053
4123
  style: {
4054
4124
  marginLeft: '20px'
@@ -4093,14 +4163,16 @@ var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
4093
4163
  border: 'none',
4094
4164
  cursor: 'pointer'
4095
4165
  },
4096
- onClick: sendInputInquiry
4166
+ onClick: function onClick() {
4167
+ return sendInputInquiry();
4168
+ }
4097
4169
  }, createElement(SendMessageIcon, {
4098
4170
  color: isLoading ? '#fff' : chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color
4099
4171
  })))), createElement("button", {
4100
4172
  onClick: toggleChat,
4101
4173
  className: styles['chat-toggle'],
4102
4174
  style: {
4103
- backgroundColor: (_chatBubbleConfig$col2 = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col2 : '#dedede',
4175
+ backgroundColor: (_chatBubbleConfig$col3 = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col3 : '#dedede',
4104
4176
  color: '#fff',
4105
4177
  borderRadius: '50%',
4106
4178
  cursor: 'pointer',