UNPKG

@robylon/robylon-web-react-sdk

Version:
3 lines (2 loc) 3.28 kB
import e,{useState as r,useEffect as o}from"react";var n=function(){return n=Object.assign||function(e){for(var r,o=1,n=arguments.length;o<n;o++)for(var i in r=arguments[o])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},n.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var i="http://localhost:3000",t="development",l=function(e){var l=r({isLoading:!0,isInitialized:!1,error:null}),d=l[0],a=l[1],u={copilotUrl:i,environment:t}.copilotUrl,s=function(){var r,o,i,t,l,d,u,s,c,v;if(window.initializeRobylonSdk)try{window.initializeRobylonSdk({chatbot_id:e.chatbotId,user_id:e.userId,token:e.token,user_profile:n(n({},(null==e?void 0:e.userProfile)||{}),{email:null===(r=null==e?void 0:e.userProfile)||void 0===r?void 0:r.email,name:null===(o=null==e?void 0:e.userProfile)||void 0===o?void 0:o.name,mobile:null===(i=null==e?void 0:e.userProfile)||void 0===i?void 0:i.mobile,platform:"Web",OS:(null===(t=null==e?void 0:e.userProfile)||void 0===t?void 0:t.OS)||(null===(l=navigator.userAgentData)||void 0===l?void 0:l.platform)||(/Windows|Mac|Linux|Android|iOS/.exec(navigator.userAgent)||["Unknown"])[0],browser:(null===(d=null==e?void 0:e.userProfile)||void 0===d?void 0:d.browser)||(null===(c=null===(s=null===(u=navigator.userAgentData)||void 0===u?void 0:u.brands)||void 0===s?void 0:s[0])||void 0===c?void 0:c.brand)||(/Chrome|Firefox|Safari|Edge|Opera/.exec(navigator.userAgent)||["Unknown"])[0],sdk_version:(null===(v=null==e?void 0:e.userProfile)||void 0===v?void 0:v.sdkVersion)||"1.1.1"})}),a((function(e){return n(n({},e),{isInitialized:!0,isLoading:!1})}))}catch(e){a((function(r){return n(n({},r),{error:e instanceof Error?e.message:"Failed to initialize SDK",isLoading:!1})}))}else a((function(e){return n(n({},e),{error:"SDK not found",isLoading:!1})}))};return o((function(){return function(){a((function(e){return n(n({},e),{isLoading:!0})})),console.log("copilotUrl====>",u);var e=document.createElement("script");return e.src=u+"/embed.min.js",e.defer=!0,e.onload=s,e.onerror=function(){a((function(e){return n(n({},e),{error:"Failed to load SDK script",isLoading:!1})}))},document.body.appendChild(e),function(){document.body.removeChild(e)}}()}),[e.chatbotId,e.userId]),d},d=e.createElement("div",{className:"flex items-center justify-center p-4 bg-white rounded-lg shadow"},e.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900"})),a=function(r){var o=r.error;return e.createElement("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg"},e.createElement("p",{className:"text-red-600"},o))},u=function(r){var o=r.loadingComponent,n=void 0===o?d:o,i=r.errorComponent,t=void 0===i?a:i,u=function(e,r){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(r,["loadingComponent","errorComponent"]),s=l(u),c=s.isLoading,v=s.error;s.isInitialized;return c?e.createElement(e.Fragment,null,n):v?e.createElement(t,{error:v}):null};export{u as RobylonChatbot,l as useChatbot}; //# sourceMappingURL=index.js.map