zignal-stencil-library 1.1.108 → 1.1.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/autocomplete-address_43.cjs.entry.js +74 -44
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/quick-message-app.cjs.entry.js +1 -1
- package/dist/cjs/zignal-stencil-library.cjs.js +1 -1
- package/dist/collection/api/index.js +10 -0
- package/dist/collection/api/index.js.map +1 -1
- package/dist/collection/api/type.js.map +1 -1
- package/dist/collection/components/autocomplete-address/autocomplete-address.css +1 -1
- package/dist/collection/components/autocomplete-multiple-select/autocomplete-multiple-select.css +1 -1
- package/dist/collection/components/autocomplete-select/autocomplete-select.css +1 -1
- package/dist/collection/components/channel-box/channel-box.css +1 -1
- package/dist/collection/components/chat-app/chat-app.css +1 -1
- package/dist/collection/components/chat-header/chat-header.css +1 -1
- package/dist/collection/components/chat-input/chat-input.css +1 -1
- package/dist/collection/components/checkbox-list/checkbox-list.css +1 -1
- package/dist/collection/components/dialog-bill-editor/dialog-bill-editor.css +1 -1
- package/dist/collection/components/dialog-editor/dialog-editor.css +1 -1
- package/dist/collection/components/dialog-editor/dialog-editor.js +2 -2
- package/dist/collection/components/dialog-editor/dialog-editor.js.map +1 -1
- package/dist/collection/components/dialog-preview-media/dialog-preview-media.css +1 -1
- package/dist/collection/components/dialog-search/dialog-search.css +1 -1
- package/dist/collection/components/menu-chat-channel/menu-chat-channel.css +1 -1
- package/dist/collection/components/menu-chat-type/menu-chat-type.css +1 -1
- package/dist/collection/components/menu-list/menu-list.css +1 -1
- package/dist/collection/components/message-box/message-box.css +1 -1
- package/dist/collection/components/message-content/message-content.css +1 -1
- package/dist/collection/components/message-item/message-item.css +1 -1
- package/dist/collection/components/message-media/message-media.css +1 -1
- package/dist/collection/components/profile-history/profile-history.css +1 -1
- package/dist/collection/components/profile-info/profile-info.css +1 -1
- package/dist/collection/components/profile-info/profile-info.js +25 -3
- package/dist/collection/components/profile-info/profile-info.js.map +1 -1
- package/dist/collection/components/profile-info/user-info-section.js +3 -3
- package/dist/collection/components/profile-info/user-info-section.js.map +1 -1
- package/dist/collection/components/profile-media/profile-media.css +1 -1
- package/dist/collection/components/profile-tabs/profile-tabs.css +1 -1
- package/dist/collection/components/quick-message-add-template/quick-message-add-template.css +1 -1
- package/dist/collection/components/quick-message-app/quick-message-app.css +1 -1
- package/dist/collection/components/quick-message-file/quick-message-file.css +1 -1
- package/dist/collection/components/quick-message-image/quick-message-image.css +1 -1
- package/dist/collection/components/quick-message-modal/quick-message-modal.css +1 -1
- package/dist/collection/components/quick-message-template/quick-message-template.css +1 -1
- package/dist/collection/components/search-box/search-box.css +1 -1
- package/dist/collection/components/status-badge/status-badge.css +1 -1
- package/dist/collection/components/tag-list/tag-list.css +1 -1
- package/dist/collection/components/tag-or-status-item/tag-or-status-item.css +1 -1
- package/dist/collection/components/tag-popper/tag-popper.css +1 -1
- package/dist/collection/components/typography-clamp/typography-clamp.css +1 -1
- package/dist/collection/components/z-avatar/z-avatar.css +1 -1
- package/dist/collection/components/z-dialog/z-dialog.css +1 -1
- package/dist/components/autocomplete-address.js +1 -1
- package/dist/components/autocomplete-multiple-select.js +1 -1
- package/dist/components/autocomplete-select.js +1 -1
- package/dist/components/channel-box.js +1 -1
- package/dist/components/chat-app.js +39 -39
- package/dist/components/chat-app.js.map +1 -1
- package/dist/components/chat-header.js +1 -1
- package/dist/components/chat-input.js +1 -1
- package/dist/components/checkbox-list.js +1 -1
- package/dist/components/dialog-bill-editor.js +1 -1
- package/dist/components/dialog-editor.js +1 -1
- package/dist/components/dialog-preview-media.js +1 -1
- package/dist/components/dialog-search.js +1 -1
- package/dist/components/menu-chat-channel.js +1 -1
- package/dist/components/menu-chat-type.js +1 -1
- package/dist/components/menu-list.js +1 -1
- package/dist/components/message-box.js +1 -1
- package/dist/components/message-content.js +1 -1
- package/dist/components/message-item.js +1 -1
- package/dist/components/message-media.js +1 -1
- package/dist/components/{p-Cy8tIb9N.js → p--O1ZEUbW.js} +5 -5
- package/dist/components/{p-Cy8tIb9N.js.map → p--O1ZEUbW.js.map} +1 -1
- package/dist/components/{p-B0CigBRk.js → p-B8KaZkC1.js} +3 -3
- package/dist/components/{p-B0CigBRk.js.map → p-B8KaZkC1.js.map} +1 -1
- package/dist/components/{p-Y4bwbrrH.js → p-BAcE386V.js} +3 -3
- package/dist/components/{p-Y4bwbrrH.js.map → p-BAcE386V.js.map} +1 -1
- package/dist/components/{p-DHIfeK5t.js → p-BLIkH1Mo.js} +39 -18
- package/dist/components/p-BLIkH1Mo.js.map +1 -0
- package/dist/components/{p-DwuMPddw.js → p-BVEUC5lT.js} +3 -3
- package/dist/components/{p-DwuMPddw.js.map → p-BVEUC5lT.js.map} +1 -1
- package/dist/components/{p-SzF52WI_.js → p-BcvqaW9a.js} +5 -5
- package/dist/components/{p-SzF52WI_.js.map → p-BcvqaW9a.js.map} +1 -1
- package/dist/components/{p-CAXY__EG.js → p-Bfsq37ia.js} +3 -3
- package/dist/components/{p-CAXY__EG.js.map → p-Bfsq37ia.js.map} +1 -1
- package/dist/components/{p-Dpsv8GQT.js → p-Bi4p_UFq.js} +8 -8
- package/dist/components/{p-Dpsv8GQT.js.map → p-Bi4p_UFq.js.map} +1 -1
- package/dist/components/{p-BC4IEk7S.js → p-BsAFeM-5.js} +8 -8
- package/dist/components/{p-BC4IEk7S.js.map → p-BsAFeM-5.js.map} +1 -1
- package/dist/components/{p-epmh-mLu.js → p-BvfI15a9.js} +3 -3
- package/dist/components/{p-epmh-mLu.js.map → p-BvfI15a9.js.map} +1 -1
- package/dist/components/{p-OWJ6K2wG.js → p-BxtUL608.js} +3 -3
- package/dist/components/{p-OWJ6K2wG.js.map → p-BxtUL608.js.map} +1 -1
- package/dist/components/{p-Cy3ui5kA.js → p-Bz_ZwZP1.js} +3 -3
- package/dist/components/{p-Cy3ui5kA.js.map → p-Bz_ZwZP1.js.map} +1 -1
- package/dist/components/{p-edlq2pPS.js → p-C2y4A6PK.js} +3 -3
- package/dist/components/{p-edlq2pPS.js.map → p-C2y4A6PK.js.map} +1 -1
- package/dist/components/{p-C8sMXVQq.js → p-C6_QUEmP.js} +17 -17
- package/dist/components/{p-C8sMXVQq.js.map → p-C6_QUEmP.js.map} +1 -1
- package/dist/components/{p-DljLeu-a.js → p-CAzwNTwH.js} +3 -3
- package/dist/components/{p-DljLeu-a.js.map → p-CAzwNTwH.js.map} +1 -1
- package/dist/components/{p-CbIBIyOU.js → p-CQYTqV0b.js} +3 -3
- package/dist/components/{p-CbIBIyOU.js.map → p-CQYTqV0b.js.map} +1 -1
- package/dist/components/{p-B7zGFbN-.js → p-CTSEDIyo.js} +8 -8
- package/dist/components/{p-B7zGFbN-.js.map → p-CTSEDIyo.js.map} +1 -1
- package/dist/components/{p-yWKuwcuj.js → p-Ca9LbW-0.js} +13 -3
- package/dist/components/p-Ca9LbW-0.js.map +1 -0
- package/dist/components/{p-CwAnuyXt.js → p-Cl7hIV7X.js} +4 -4
- package/dist/components/{p-CwAnuyXt.js.map → p-Cl7hIV7X.js.map} +1 -1
- package/dist/components/{p-UQeKOohc.js → p-Cq3trT50.js} +5 -5
- package/dist/components/{p-UQeKOohc.js.map → p-Cq3trT50.js.map} +1 -1
- package/dist/components/{p-fgCarGlO.js → p-Cr7gI0aa.js} +3 -3
- package/dist/components/{p-fgCarGlO.js.map → p-Cr7gI0aa.js.map} +1 -1
- package/dist/components/{p-CPkaDKfY.js → p-D3TCeN-_.js} +10 -10
- package/dist/components/{p-CPkaDKfY.js.map → p-D3TCeN-_.js.map} +1 -1
- package/dist/components/{p-BpoDbaWl.js → p-D4jpzhhj.js} +3 -3
- package/dist/components/{p-BpoDbaWl.js.map → p-D4jpzhhj.js.map} +1 -1
- package/dist/components/{p-i0kt6Dyr.js → p-DBulpvHu.js} +7 -7
- package/dist/components/{p-i0kt6Dyr.js.map → p-DBulpvHu.js.map} +1 -1
- package/dist/components/{p-DYdoQzC_.js → p-DE1veeiP.js} +12 -12
- package/dist/components/{p-DYdoQzC_.js.map → p-DE1veeiP.js.map} +1 -1
- package/dist/components/{p-DkIGNUBw.js → p-DGF1OMnC.js} +3 -3
- package/dist/components/{p-DkIGNUBw.js.map → p-DGF1OMnC.js.map} +1 -1
- package/dist/components/{p-DfliSGzR.js → p-DI7kfodM.js} +10 -10
- package/dist/components/{p-DfliSGzR.js.map → p-DI7kfodM.js.map} +1 -1
- package/dist/components/{p-X5zHTifT.js → p-DKZZLjoB.js} +3 -3
- package/dist/components/{p-X5zHTifT.js.map → p-DKZZLjoB.js.map} +1 -1
- package/dist/components/{p-Ccj7ZvvK.js → p-DVnAr27s.js} +5 -5
- package/dist/components/{p-Ccj7ZvvK.js.map → p-DVnAr27s.js.map} +1 -1
- package/dist/components/{p-C-1HPyA3.js → p-DagQghge.js} +3 -3
- package/dist/components/{p-C-1HPyA3.js.map → p-DagQghge.js.map} +1 -1
- package/dist/components/{p-B7rxQVG9.js → p-Db2KItIV.js} +3 -3
- package/dist/components/{p-B7rxQVG9.js.map → p-Db2KItIV.js.map} +1 -1
- package/dist/components/{p-DAJSCmgW.js → p-DkAZFStQ.js} +7 -7
- package/dist/components/{p-DAJSCmgW.js.map → p-DkAZFStQ.js.map} +1 -1
- package/dist/components/{p-BAzVPNK5.js → p-DozNuTlX.js} +6 -6
- package/dist/components/p-DozNuTlX.js.map +1 -0
- package/dist/components/{p-ByiI7Ajt.js → p-LUMkIl0L.js} +3 -3
- package/dist/components/{p-ByiI7Ajt.js.map → p-LUMkIl0L.js.map} +1 -1
- package/dist/components/{p-BffroZpQ.js → p-V8jogkYH.js} +3 -3
- package/dist/components/{p-BffroZpQ.js.map → p-V8jogkYH.js.map} +1 -1
- package/dist/components/{p-I6OpXVSo.js → p-VAINz5I8.js} +19 -19
- package/dist/components/{p-I6OpXVSo.js.map → p-VAINz5I8.js.map} +1 -1
- package/dist/components/{p-B6jEqC8_.js → p-a8Ave0b1.js} +3 -3
- package/dist/components/{p-B6jEqC8_.js.map → p-a8Ave0b1.js.map} +1 -1
- package/dist/components/{p-BS58cdKA.js → p-fbMxRrBR.js} +3 -3
- package/dist/components/{p-BS58cdKA.js.map → p-fbMxRrBR.js.map} +1 -1
- package/dist/components/{p-BPsdb11S.js → p-lh6oIsdX.js} +4 -4
- package/dist/components/{p-BPsdb11S.js.map → p-lh6oIsdX.js.map} +1 -1
- package/dist/components/{p-BhBbacui.js → p-xDz70z-M.js} +3 -3
- package/dist/components/{p-BhBbacui.js.map → p-xDz70z-M.js.map} +1 -1
- package/dist/components/profile-history.js +1 -1
- package/dist/components/profile-info.js +1 -1
- package/dist/components/profile-media.js +1 -1
- package/dist/components/profile-tabs.js +1 -1
- package/dist/components/quick-message-add-template.js +1 -1
- package/dist/components/quick-message-app.js +6 -6
- package/dist/components/quick-message-file.js +1 -1
- package/dist/components/quick-message-image.js +1 -1
- package/dist/components/quick-message-modal.js +1 -1
- package/dist/components/quick-message-template.js +1 -1
- package/dist/components/search-box.js +1 -1
- package/dist/components/status-badge.js +1 -1
- package/dist/components/summarize-message-section.js +1 -1
- package/dist/components/tag-list.js +1 -1
- package/dist/components/tag-or-status-item.js +1 -1
- package/dist/components/tag-popper.js +1 -1
- package/dist/components/typography-clamp.js +1 -1
- package/dist/components/user-info-section.js +1 -1
- package/dist/components/z-avatar.js +1 -1
- package/dist/components/z-dialog.js +1 -1
- package/dist/esm/autocomplete-address_43.entry.js +74 -44
- package/dist/esm/loader.js +1 -1
- package/dist/esm/quick-message-app.entry.js +1 -1
- package/dist/esm/zignal-stencil-library.js +1 -1
- package/dist/types/api/index.d.ts +1 -0
- package/dist/types/api/type.d.ts +4 -0
- package/dist/types/components/profile-info/profile-info.d.ts +1 -0
- package/dist/zignal-stencil-library/{p-237d490f.entry.js → p-605cf9fb.entry.js} +2 -2
- package/dist/zignal-stencil-library/{p-b6d59cd4.entry.js → p-d9b292e2.entry.js} +168 -168
- package/dist/zignal-stencil-library/p-d9b292e2.entry.js.map +1 -0
- package/dist/zignal-stencil-library/zignal-stencil-library.esm.js +1 -1
- package/package.json +1 -1
- package/dist/components/p-BAzVPNK5.js.map +0 -1
- package/dist/components/p-DHIfeK5t.js.map +0 -1
- package/dist/components/p-yWKuwcuj.js.map +0 -1
- package/dist/zignal-stencil-library/p-b6d59cd4.entry.js.map +0 -1
- /package/dist/zignal-stencil-library/{p-237d490f.entry.js.map → p-605cf9fb.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,b as a}from"./p-DjdYK_gt.js";export{s as setNonce}from"./p-DjdYK_gt.js";import{g as t}from"./p-DQuL1Twl.js";var i=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};i().then((async e=>{await t();return a([["p-
|
|
1
|
+
import{p as e,b as a}from"./p-DjdYK_gt.js";export{s as setNonce}from"./p-DjdYK_gt.js";import{g as t}from"./p-DQuL1Twl.js";var i=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};i().then((async e=>{await t();return a([["p-d9b292e2",[[256,"chat-app",{languagePref:[1,"language-pref"],themeMode:[1,"theme-mode"],businessId:[1,"business-id"],shopId:[1,"shop-id"],accessToken:[1,"access-token"],isProduction:[1,"is-production"],timeZone:[1,"time-zone"],translationSettings:[16,"translation-settings"],isNotConnected:[1,"is-not-connected"],connectionList:[16,"connection-list"],memberList:[16,"member-list"],nextKey:[32],isLoading:[32]},[[0,"click","handleClick"]],{languagePref:["handleLanguageChange"],themeMode:["handleThemeChange"],businessId:["handleBusinessIdChange"],shopId:["handleShopIdChange"],accessToken:["handleAccessTokenChange"],isProduction:["handleIsProductionChange"],timeZone:["handleTimeZoneChange"],translationSettings:["handleTranslationSettingsChange"],isNotConnected:["handleIsNotConnectedChange"],connectionList:["handleConnectionListChange"],memberList:["handleMemberListChange"]},null,{translationSettings:["deserializeTranslateSettingsArray"],connectionList:["deserializeTConnectionArray"],memberList:["deserializeChannelMemberArray"]}],[256,"message-box",{isInitial:[32],isLoadingTop:[32],isLoadingBottom:[32],isAtBottom:[32],replyTokenInfo:[32],showReplyTokenBanner:[32],visibleRange:[32]},[[0,"click","handleClick"]]],[256,"profile-tabs",{active:[32]}],[256,"search-box",{query:[32],showDialog:[32],isUnRead:[32],filterSet:[32]}],[256,"channel-box",{nextKey:[32],isLoading:[32]}],[256,"chat-input",{value:[32],originalText:[32],images:[32],isLoading:[32],isFileLoading:[32],isImageLoading:[32],isTranslated:[32],isTranslateLoading:[32],showQuickMessageModal:[32],isQuickMessageLoading:[32]},[[16,"focusRequested","onFocusRequested"]]],[260,"profile-info",{isLoading:[32],isEditStatus:[32],statusId:[32],isEditTag:[32],isAddTag:[32],isMerge:[32],isOpenDrawer:[32],tempDrawerUser:[32],mergeIndex:[32],tempUser:[32],activeTabIndex:[32],tagItems:[32],showDialog:[32],associatedUsers:[32],isEditContext:[32],context:[32],isEditSummarizeMessage:[32],summarizeMessageItems:[32],isSyncUserLoading:[32]}],[256,"message-item",{item:[16],replyMessage:[32],isLoading:[32]}],[256,"chat-header",{isPinLoading:[32],isSpamLoading:[32],isReadLoading:[32],isPin:[32],isSpam:[32],isUnRead:[32]}],[256,"profile-history",{isLoading:[32],logs:[32]}],[256,"tag-list",{tags:[16],chatId:[1,"chat-id"],referenceSelector:[1,"reference-selector"],visibleCount:[32]}],[256,"dialog-search",{oldFilter:[16],filter:[32]}],[256,"menu-chat-channel",{referenceSelector:[1,"reference-selector"],isOpen:[32],selected:[32]}],[256,"menu-chat-type",{referenceSelector:[1,"reference-selector"],isOpen:[32],selectedItem:[32]}],[256,"profile-media"],[256,"z-dialog"],[256,"quick-message-modal",{activeTab:[32],templates:[32],images:[32],files:[32]}],[256,"user-info-section",{user:[16],readOnly:[4,"read-only"],isEditStatus:[4,"is-edit-status"],statusId:[1,"status-id"],showDialogBill:[32]}],[256,"message-content",{item:[16],isReply:[4,"is-reply"],seeTranslate:[32],isClamped:[32],showMore:[32]}],[256,"dialog-editor",{dialogType:[1,"dialog-type"],label:[1],field:[1],value:[1],allowEmpty:[4,"allow-empty"],data:[32],error:[32]}],[256,"autocomplete-multiple-select",{fetchItems:[16],selectedIds:[16],referenceSelector:[1,"reference-selector"],allItems:[32],filteredItems:[32],inputValue:[32],showDropdown:[32],loading:[32]}],[256,"checkbox-list",{itemList:[16],selected:[16]}],[260,"summarize-message-section",{user:[16],readOnly:[4,"read-only"],activeTabIndex:[2,"active-tab-index"],isEditSummarizeMessage:[4,"is-edit-summarize-message"],summarizeMessageItems:[16],items:[32]}],[256,"tag-popper",{tags:[16],referenceSelector:[1,"reference-selector"],isOpen:[32]}],[256,"message-media",{item:[16],messageMediaUrl:[32],showDialog:[32],hasError:[32]}],[256,"autocomplete-address",{field:[1],value:[1],selectedValue:[1,"selected-value"],placeholder:[1],referenceSelector:[1,"reference-selector"],allItems:[32],showDropdown:[32],isLoading:[32]}],[256,"autocomplete-select",{type:[1],value:[1],fetchItems:[16],createItem:[16],selectedIds:[16],referenceSelector:[1,"reference-selector"],allItems:[32],filteredItems:[32],inputValue:[32],showDropdown:[32],loading:[32]}],[256,"dialog-bill-editor",{data:[32],error:[32]}],[256,"status-badge",{status:[1],label:[1],padding:[1],borderWidth:[2,"border-width"],radius:[2],color:[1]}],[256,"quick-message-template",{handleClose:[16],value:[1],isMaster:[4,"is-master"],searchTemplate:[32],templates:[32],showAddTemplateDialog:[32],editingTemplate:[32],dialogMode:[32],isLoading:[32],isLoadingMore:[32],isSavingTemplate:[32],deletingTemplateId:[32],templatePendingDelete:[32],totalTemplates:[32],totalPages:[32]},null,{value:["handleValueChange"]}],[256,"dialog-preview-media",{dialogType:[1,"dialog-type"],url:[1],hasError:[32]}],[256,"quick-message-file",{handleClose:[16],value:[1],isMaster:[4,"is-master"],searchFile:[32],files:[32],isLoading:[32],isLoadingMore:[32],isUploading:[32],isDeleting:[32],totalFiles:[32],totalPages:[32],renameTargetId:[32],renameName:[32],renameExtension:[32],isRenaming:[32],openMenuId:[32]},[[4,"click","handleDocumentClick"]],{value:["handleValueChange"]}],[256,"quick-message-image",{handleClose:[16],value:[1],isMaster:[4,"is-master"],searchImage:[32],images:[32],imageDisplayMode:[32],isLoading:[32],isLoadingMore:[32],isUploading:[32],isDeleting:[32],totalImages:[32],totalPages:[32],renameTargetId:[32],renameName:[32],renameExtension:[32],isRenaming:[32],openMenuId:[32]},[[4,"click","handleDocumentClick"]],{value:["handleValueChange"]}],[256,"typography-clamp",{text:[1],textColor:[1,"text-color"],lines:[2],showMore:[32],isClamped:[32]},null,{text:["onTextChange"],lines:["onLinesChange"]}],[256,"quick-message-add-template",{handleClose:[16],handleSave:[16],handleSend:[16],initialTemplate:[16],mode:[1],isSaving:[4,"is-saving"],draftTemplate:[32]},null,{initialTemplate:["handleInitialTemplateChange"]}],[256,"menu-list",{menuItems:[16],position:[1],referenceSelector:[1,"reference-selector"],iconName:[1,"icon-name"],buttonTitle:[1,"button-title"],variant:[1],isOpen:[32]}],[256,"tag-or-status-item",{chatId:[1,"chat-id"],item:[16],expandText:[4,"expand-text"],isOpen:[32]}],[256,"quick-message-button-content",{content:[16],maxLength:[2,"max-length"],maxButtonCount:[2,"max-button-count"],maxButtonNameLength:[2,"max-button-name-length"],placeholder:[1],isShowCreateButtonDialog:[32],createButtonLabel:[32],createButtonAction:[32],createButtonType:[32],editingButtonId:[32]}],[256,"quick-message-image-content",{content:[16],maxFileSize:[2,"max-file-size"],errorMessage:[32]}],[256,"quick-message-menu-list-content",{content:[16],maxMenuList:[2,"max-menu-list"],maxFileSize:[2,"max-file-size"],maxTitleLength:[2,"max-title-length"],maxDescriptionLength:[2,"max-description-length"],maxButtonCount:[2,"max-button-count"],maxButtonNameLength:[2,"max-button-name-length"],isButtonDialogOpen:[32],buttonDialogMenuId:[32],buttonDialogLabel:[32],buttonDialogAction:[32],buttonDialogType:[32],editingButtonId:[32],menuErrors:[32]}],[256,"quick-message-text-content",{content:[16],maxLength:[2,"max-length"],placeholder:[1]}],[256,"quick-message-video-content",{content:[16],videoUrl:[32],isDialogOpen:[32],errorMessage:[32]}],[256,"z-avatar",{pictureUrl:[1,"picture-url"],size:[1],isNotRound:[4,"is-not-round"],hasError:[32]},null,{pictureUrl:["watchPictureUrl"]}]]],["p-605cf9fb",[[256,"quick-message-app",{languagePref:[1,"language-pref"],themeMode:[1,"theme-mode"],templateData:[1,"template-data"],imageLibrary:[1,"image-library"],fileLibrary:[1,"file-library"],businessId:[1,"business-id"],shopId:[1,"shop-id"],accessToken:[1,"access-token"],isProduction:[8,"is-production"],timeZone:[1,"time-zone"],activeTab:[32],templates:[32],images:[32],files:[32]},null,{languagePref:["handleLanguageChange"],themeMode:["handleThemeChange"],templateData:["handleTemplateDataChange"],imageLibrary:["handleImageLibraryChange"],fileLibrary:["handleFileLibraryChange"],businessId:["handleBusinessIdChange"],shopId:["handleShopIdChange"],accessToken:["handleAccessTokenChange"],isProduction:["handleIsProductionChange"],timeZone:["handleTimeZoneChange"]}]]]],e)}));
|
|
2
2
|
//# sourceMappingURL=zignal-stencil-library.esm.js.map
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BAzVPNK5.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","z.object","z\n .string","z.email","z.string"],"sources":["src/components/internal-component/z-input-area.tsx","src/components/dialog-editor/dialog-editor.css?tag=dialog-editor","src/components/dialog-editor/dialog-editor.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { configStore } from '../../store/store';\n\ninterface ZInputAreaProps {\n id?: string;\n label?: string;\n placeholder?: string;\n value?: string;\n onChange?: (value: string) => void;\n autoFocus?: boolean;\n rows?: number;\n error?: string;\n}\n\nexport const ZInputArea: FunctionalComponent<ZInputAreaProps> = ({ id, label, placeholder = '', value = '', onChange, autoFocus, rows = 3, error }) => {\n const theme = configStore.get('theme');\n return (\n <div class=\"mb-2\">\n {label && <label class={`z-input-area-label z-text-${theme}`}>{label}</label>}\n <textarea\n id={id}\n placeholder={placeholder}\n class={`z-input-area-input z-border-${theme} z-paper-${theme} z-text-${theme}`}\n value={value}\n onInput={(e: any) => onChange?.(e.target.value)}\n autoFocus={autoFocus}\n rows={rows}\n />\n {error && <p class=\"z-input-area-error\">{error}</p>}\n </div>\n );\n};\n",":host {\n display: block;\n}\n\n.dialog-editor {\n @apply p-6 rounded-lg shadow-lg max-h-[80vh] overflow-auto\n}\n\n.dialog-editor-title {\n @apply text-lg font-bold mb-6\n}\n\n.dialog-editor-address-wrapper {\n @apply grid grid-cols-2 gap-4\n}\n\n.dialog-editor-action-wrapper {\n @apply flex justify-between items-center mt-6 gap-2\n}","import { Component, Host, Prop, h, Event, EventEmitter, State, Fragment } from '@stencil/core';\nimport { configStore, responsiveStore, userAddressStore } from '../../store/store';\nimport { ZInput } from '../internal-component/z-input';\nimport { ZButton } from '../internal-component/z-button';\nimport { ZInputArea } from '../internal-component/z-input-area';\nimport { z } from 'zod';\nimport { useTranslation } from '../../utils/utils';\nimport { UserAddress } from '../../store/type';\n\n@Component({\n tag: 'dialog-editor',\n styleUrl: 'dialog-editor.css',\n})\nexport class DialogEditor {\n @Prop() dialogType?: 'input' | 'textarea' | 'address' = 'input';\n @Prop() label: string;\n @Prop() field: string;\n @Prop() value?: string | string[] | UserAddress;\n @Prop() allowEmpty?: boolean = false;\n\n @State() data: string | string[] | UserAddress = '';\n @State() error: string | null = null;\n\n @Event() cancel: EventEmitter<void>;\n @Event({ composed: true }) save: EventEmitter<string | string[] | UserAddress>;\n\n async componentWillLoad() {\n if (this.dialogType === 'address' && typeof this.value === 'object' && !Array.isArray(this.value)) {\n const defaultAddress = {\n address: this.value?.address || '',\n province: this.value?.province || '',\n district: this.value?.district || '',\n sub_district: this.value?.sub_district || '',\n zip_code: this.value?.zip_code || '',\n };\n userAddressStore.set('userAddress', defaultAddress);\n } else {\n this.data = this.value || '';\n }\n }\n\n handleResetData = () => {\n if (this.dialogType === 'address') {\n userAddressStore.reset();\n } else {\n this.data = '';\n }\n };\n\n handleCancel = () => {\n this.handleResetData();\n this.cancel.emit();\n };\n\n handleChange = (val: string) => {\n this.data = val;\n };\n\n handleChangeAddress = (value: string, key: keyof UserAddress) => {\n const oldAddress = structuredClone(userAddressStore.get('userAddress'));\n const editAddress = {\n ...oldAddress,\n [key]: value,\n };\n\n switch (key) {\n case 'province':\n editAddress.district = '';\n editAddress.sub_district = '';\n editAddress.zip_code = '';\n break;\n case 'district':\n editAddress.sub_district = '';\n editAddress.zip_code = '';\n break;\n case 'sub_district':\n editAddress.zip_code = '';\n break;\n }\n\n userAddressStore.set('userAddress', editAddress);\n };\n\n handleSubmit = () => {\n const t = useTranslation();\n const schema =\n this.dialogType === 'address'\n ? z.object({\n [this.field]: z.object({\n address: z\n .string()\n .trim()\n .min(1, { message: `${t('please_input')} ${t('address')}` }),\n province: z\n .string()\n .trim()\n .min(1, { message: `${t('please_input')} ${t('province')}` }),\n district: z\n .string()\n .trim()\n .min(1, { message: `${t('please_input')} ${t('district')}` }),\n sub_district: z\n .string()\n .trim()\n .min(1, { message: `${t('please_input')} ${t('sub_district')}` }),\n zip_code: z\n .string()\n .trim()\n .min(1, { message: `${t('please_input')} ${t('zip_code')}` }),\n }),\n })\n : z.object({ [this.field]: this.field.toLowerCase() === 'email' ? z.email() : z.string().trim() });\n\n const values = this.dialogType === 'address' ? userAddressStore.get('userAddress') : this.data;\n\n const validator = schema.safeParse({ [this.field]: values });\n\n if (!validator.success) {\n this.error = validator.error.issues[0].message;\n } else {\n this.error = null;\n this.save.emit(values);\n this.handleResetData();\n }\n };\n\n render() {\n const t = useTranslation();\n const theme = configStore.get('theme');\n const isMobile = responsiveStore.get('isMobile');\n const userAddress = userAddressStore.get('userAddress');\n const disabledSubmit = this.allowEmpty\n ? false\n : this.dialogType === 'address'\n ? userAddress.address === '' || userAddress.province === '' || userAddress.district === '' || userAddress.sub_district === '' || userAddress.zip_code === ''\n : typeof this.data === 'string'\n ? Boolean(this.data.trim())\n : Array.isArray(this.data) && this.data.length === 0;\n\n return (\n <Host>\n <div class={`dialog-editor z-background-${theme} ${isMobile ? 'w-xs' : 'w-xl'}`}>\n <h2 class={`dialog-editor-title z-text-${theme}`}>\n {t('edit')} {this.label}\n </h2>\n\n {this.dialogType === 'input' && typeof this.data === 'string' && (\n <ZInput\n autoFocus\n id={this.field}\n label={this.label}\n placeholder={this.label}\n value={this.data}\n onChange={val => this.handleChange(val)}\n type={this.field.toLowerCase() === 'email' ? 'email' : 'text'}\n error={this.error}\n />\n )}\n\n {this.dialogType === 'textarea' && typeof this.data === 'string' && (\n <div class={`mb-2`}>\n <ZInputArea autoFocus id={this.field} label={this.label} placeholder={this.label} value={this.data} onChange={val => this.handleChange(val)} error={this.error} />\n </div>\n )}\n\n {this.dialogType === 'address' && userAddress && (\n <Fragment>\n <ZInputArea\n autoFocus\n id={this.field}\n label={this.label}\n placeholder={this.label}\n value={userAddress.address}\n onChange={val => this.handleChangeAddress(val, 'address')}\n error={this.error}\n />\n <div class=\"dialog-editor-address-wrapper\">\n <autocomplete-address\n field=\"p\"\n value={userAddress.province}\n placeholder={'province'}\n onSelecting={({ detail }) => this.handleChangeAddress(detail, 'province')}\n referenceSelector=\"profile-address-province\"\n />\n <autocomplete-address\n field=\"a\"\n value={userAddress.district}\n placeholder={'district'}\n onSelecting={({ detail }) => this.handleChangeAddress(detail, 'district')}\n referenceSelector=\"profile-address-district\"\n />\n <autocomplete-address\n field=\"d\"\n value={userAddress.sub_district}\n placeholder={'sub_district'}\n onSelecting={({ detail }) => this.handleChangeAddress(detail, 'sub_district')}\n referenceSelector=\"profile-address-sub_district\"\n />\n <autocomplete-address\n field=\"z\"\n value={userAddress.zip_code}\n placeholder={'zip_code'}\n onSelecting={({ detail }) => this.handleChangeAddress(detail, 'zip_code')}\n referenceSelector=\"profile-address-zip_code\"\n />\n </div>\n </Fragment>\n )}\n\n <div class=\"dialog-editor-action-wrapper\">\n <ZButton label={t('cancel')} variant=\"outlined\" fullWidth onClick={this.handleCancel} />\n <ZButton label={t('save')} fullWidth onClick={this.handleSubmit} disabled={disabledSubmit} />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-DHIfeK5t.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/func.ts","src/components/internal-component/about-section.tsx","src/components/internal-component/tag-section.tsx","src/components/internal-component/associated-users-section.tsx","src/components/internal-component/merge-user-view.tsx","src/components/internal-component/context-section.tsx","src/components/profile-info/profile-info.css?tag=profile-info","src/components/profile-info/profile-info.tsx"],"sourcesContent":["import { UserAddress } from '../components';\n\nexport const getAddressAsText = (address?: UserAddress | null) => {\n if (!address) return '';\n\n const addressStr = [];\n if (address?.address) addressStr.push(address.address);\n if (address?.province) addressStr.push(address.province);\n if (address?.district) addressStr.push(address.district);\n if (address?.sub_district) addressStr.push(address.sub_district);\n if (address?.zip_code) addressStr.push(address.zip_code);\n return addressStr.join(', ');\n};\n\n\nexport const isUrl = (value: string) => {\n try {\n new URL(value)\n\n return true;\n } catch {\n return false;\n }\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { UserItem, UserAddress } from '../../store/type';\nimport { displayDate } from '../../utils/dayjs';\nimport { useTranslation } from '../../utils/utils';\nimport { ZIconButton } from './z-icon-button';\nimport { getAddressAsText } from '../../utils/func';\nimport { configStore, selectedChatStore } from '../../store/store';\nimport { getChatChannelPictureUrl } from '../../store/chat';\n\ninterface AboutSectionProps {\n user: UserItem;\n readOnly?: boolean;\n activeTabIndex: number;\n onOpenDialogEditor: (params: { label: string; field: string; value: string | string[] | UserAddress; type?: 'input' | 'textarea' | 'address' }) => void;\n}\n\nexport const AboutSection: FunctionalComponent<AboutSectionProps> = ({ user, readOnly = false, activeTabIndex, onOpenDialogEditor }) => {\n const t = useTranslation();\n const theme = configStore.get('theme');\n const selectedChat = selectedChatStore.get('selectedChat');\n\n return (\n <div class={`profile-info-user-wrapper border-b-[0.5px] pt-2 gap-y-1 z-border-divider-${theme}`}>\n <div class=\"col-span-3\">\n <span class={`z-text-${theme}`}>{t('about')}</span>\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('channel')}</span>\n </div>\n <div class=\"col-span-2\">\n <div class=\"profile-info-connection-wrapper\">\n <span class={`text-sm z-text-${theme}`}>{user.channel === 'zignal' ? 'Zignal' : selectedChat.connection.name}</span>\n <img\n src={getChatChannelPictureUrl(selectedChat)}\n alt=\"agent avatar\"\n class=\"profile-info-avatar\"\n loading=\"lazy\"\n />\n </div>\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('email')}</span>\n </div>\n <div class=\"col-span-2 profile-info-box-wrapper\">\n <span class={`text-sm z-text-${theme}`}>{user.email ? (Array.isArray(user.email) ? user.email.join(', ') : user.email) : '-'}</span>\n {!readOnly && activeTabIndex === 0 && (\n <ZIconButton variant=\"text\" iconName=\"Pencil\" addClassIcon=\"size-4\" onClick={() => onOpenDialogEditor({ label: 'Email', field: 'email', value: user.email })} />\n )}\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('phone_no')}</span>\n </div>\n <div class=\"col-span-2 profile-info-box-wrapper\">\n <span class={`text-sm z-text-${theme}`}>\n {user.phone_number ? (Array.isArray(user.phone_number) ? user.phone_number.join(', ') : user.phone_number) : '-'}\n </span>\n {!readOnly && activeTabIndex === 0 && (\n <ZIconButton\n variant=\"text\"\n iconName=\"Pencil\"\n addClassIcon=\"size-4\"\n onClick={() => onOpenDialogEditor({ label: 'Phone no.', field: 'phone_number', value: user.phone_number })}\n />\n )}\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('address')}</span>\n </div>\n <div class=\"profile-info-content-wrapper-baseline\">\n <span class={`profile-info-pre-line z-text-${theme}`}>{getAddressAsText(user.address) || '-'}</span>\n {!readOnly && activeTabIndex === 0 && (\n <ZIconButton\n variant=\"text\"\n iconName=\"Pencil\"\n addClassIcon=\"size-4\"\n onClick={() => onOpenDialogEditor({ label: 'Address', field: 'address', value: user.address, type: 'address' })}\n />\n )}\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('gender')}</span>\n </div>\n <div class=\"profile-info-content-wrapper-baseline\">\n <span class={`profile-info-capitalize z-text-${theme}`}>{user.gender ? user.gender : '-'}</span>\n {!readOnly && activeTabIndex === 1 && (\n <ZIconButton\n variant=\"text\"\n iconName=\"Pencil\"\n addClassIcon=\"size-4\"\n onClick={() => onOpenDialogEditor({ label: 'Gender', field: 'gender', value: user.gender, type: 'input' })}\n />\n )}\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('locale')}</span>\n </div>\n <div class=\"profile-info-content-wrapper-baseline\">\n <span class={`text-sm z-text-${theme}`}>{user.locale}</span>\n {!readOnly && activeTabIndex === 1 && (\n <ZIconButton\n variant=\"text\"\n iconName=\"Pencil\"\n addClassIcon=\"size-4\"\n onClick={() => onOpenDialogEditor({ label: 'Locale', field: 'locale', value: user.locale, type: 'input' })}\n />\n )}\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('register_date')}</span>\n </div>\n <div class=\"col-span-2\">\n <span class={`text-sm z-text-${theme}`}>{displayDate(user.created_at)}</span>\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('last_active_date')}</span>\n </div>\n <div class=\"col-span-2\">\n <span class={`text-sm z-text-${theme}`}>{displayDate(user.last_active_at)}</span>\n </div>\n\n <div class=\"col-span-1\">\n <span class={`text-sm z-text-gray-${theme}`}>{t('note')}</span>\n </div>\n <div class=\"profile-info-content-wrapper-baseline\">\n <span class={`profile-info-pre-line z-text-${theme}`}>{user.note ? user.note : '-'}</span>\n {!readOnly && (\n <ZIconButton\n variant=\"text\"\n iconName=\"Pencil\"\n addClassIcon=\"size-4\"\n onClick={() => onOpenDialogEditor({ label: 'Note', field: 'note', value: user.note, type: 'textarea' })}\n />\n )}\n </div>\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { UserItem, TTagOrStatusItem } from '../../store/type';\nimport { useTranslation } from '../../utils/utils';\nimport { ZIconButton } from './z-icon-button';\nimport { ZTagOrStatusItem } from './z-tag-or-status-item';\nimport { ZButton } from './z-button';\nimport { handleGetUserTags } from '../../store/chat';\nimport { configStore, selectedChatStore } from '../../store/store';\n\ninterface TagSectionProps {\n user: UserItem;\n readOnly?: boolean;\n activeTabIndex: number;\n isEditTag: boolean;\n isAddTag: boolean;\n tagItems: {\n item: TTagOrStatusItem;\n isAdd?: boolean;\n isDelete?: boolean;\n }[];\n onEditTag: () => void;\n onCloseTag: () => void;\n onSaveUserTags: () => void;\n onSetIsAddTag: (value: boolean) => void;\n onDeleteTag: (tagId: string) => void;\n onAddTag: (tag: TTagOrStatusItem) => void;\n onCreateUserTag: (name: string) => Promise<TTagOrStatusItem>;\n}\n\nexport const TagSection: FunctionalComponent<TagSectionProps> = ({\n user,\n readOnly = false,\n activeTabIndex,\n isEditTag,\n isAddTag,\n tagItems,\n onEditTag,\n onCloseTag,\n onSaveUserTags,\n onSetIsAddTag,\n onDeleteTag,\n onAddTag,\n onCreateUserTag,\n}) => {\n const t = useTranslation();\n const theme = configStore.get('theme');\n const selectedChat = selectedChatStore.get('selectedChat');\n\n return (\n <div class={`profile-info-user-wrapper border-b-[0.5px] pt-2 gap-y-1 z-border-divider-${theme}`}>\n <div class=\"col-span-3 profile-info-box-wrapper\">\n <span class={`z-text-${theme} whitespace-nowrap`}>{t('tag')}</span>\n\n {!readOnly && activeTabIndex === 0 && (\n <slot>\n {isEditTag ? (\n <div class=\"profile-info-box-wrapper justify-end w-full\">\n <ZIconButton variant=\"text\" iconName=\"X\" addClassIcon=\"size-4\" onClick={onCloseTag} />\n <ZIconButton variant=\"text\" iconName=\"Save\" addClassIcon=\"size-4\" onClick={onSaveUserTags} />\n </div>\n ) : (\n <div class=\"profile-info-box-wrapper justify-end w-full\">\n <ZIconButton variant=\"text\" iconName=\"Pencil\" addClassIcon=\"size-4\" onClick={onEditTag} />\n </div>\n )}\n </slot>\n )}\n </div>\n\n <div class={`profile-info-tag-wrapper scroll-container`}>\n {isEditTag ? (\n <div class=\"col-span-3\">\n <div class=\"profile-info-box-wrapper flex-wrap\">\n {tagItems.length > 0 &&\n tagItems\n .filter(({ isDelete }) => !isDelete)\n .sort((a, b) => a.item.sequence - b.item.sequence)\n .map(tag => <ZTagOrStatusItem item={tag.item} onDelete={() => onDeleteTag(tag.item.id)} />)}\n </div>\n {selectedChatStore.get('isSyncingTag') && (\n <div class=\"profile-info-status-wrapper\">\n <status-badge status=\"loading\" label={t('chat_tab.syncing_tag')} />\n </div>\n )}\n <div class=\"mt-2\">\n {isAddTag ? (\n <autocomplete-select\n referenceSelector=\"profile-tag\"\n type=\"tag\"\n selectedIds={tagItems.filter(({ isDelete }) => !isDelete).map(({ item }) => item.id)}\n fetchItems={handleGetUserTags}\n createItem={name => onCreateUserTag(name).then(res => res)}\n onSelecting={item => onAddTag(item.detail)}\n />\n ) : (\n <ZButton variant=\"outlined\" fullWidth label={`+ ${t('profile_tab.add_tag')}`} onClick={() => onSetIsAddTag(true)} />\n )}\n </div>\n </div>\n ) : (\n <div class=\"col-span-3\">\n <div class=\"profile-info-box-wrapper flex-wrap\">\n {user.tags && user.tags.length > 0 ? (\n user.tags\n .sort((a, b) => a.sequence - b.sequence)\n .map(tag => <tag-or-status-item item={tag} expandText chatId={`profile-status-${selectedChat.id}-${readOnly ? 'readonly' : ''}`} />)\n ) : (\n <span class={`text-sm z-text-gray-${theme}`}>{t('profile_tab.tag_empty')}</span>\n )}\n </div>\n {selectedChatStore.get('isSyncingTag') && (\n <div class=\"profile-info-status-bottom-wrapper\">\n <status-badge status=\"loading\" label={t('chat_tab.syncing_tag')} />\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n","import { FunctionalComponent, h, JSX } from '@stencil/core';\nimport { AssociatedUser, UserItem } from '../../store/type';\nimport { ZIconButton } from './z-icon-button';\nimport { configStore, responsiveStore, selectedChatStore } from '../../store/store';\nimport { useTranslation } from '../../utils/utils';\n\ninterface AssociatedUsersSectionProps {\n associatedUsers: AssociatedUser[];\n isOpenDrawer: boolean;\n tempDrawerUser: UserItem;\n onJumpToChat: (user: AssociatedUser) => void;\n onViewProfile: (user: AssociatedUser) => void;\n onUnlinkUser: (user: AssociatedUser) => void;\n onSetIsOpenDrawer: (value: boolean) => void;\n renderUserInfo: (user: UserItem, readOnly: boolean) => JSX.Element;\n}\n\nexport const AssociatedUsersSection: FunctionalComponent<AssociatedUsersSectionProps> = ({\n associatedUsers,\n isOpenDrawer,\n tempDrawerUser,\n onJumpToChat,\n onViewProfile,\n onUnlinkUser,\n onSetIsOpenDrawer,\n renderUserInfo,\n}) => {\n const t = useTranslation();\n const theme = configStore.get('theme');\n const isMobile = responsiveStore.get('isMobile');\n const selectedChat = selectedChatStore.get('selectedChat');\n\n return (\n <div class={`profile-info-user-wrapper pt-2 gap-y-1`}>\n <div class=\"col-span-3 profile-info-box-wrapper\">\n <span class={`z-text-${theme}`}>{t('profile_tab.related_user')}</span>\n </div>\n\n <div class={`col-span-3 w-full`}>\n {associatedUsers.map((userItem, index) => {\n const isSelected = userItem.id === selectedChat.user.id;\n const backgroundClass = theme === 'dark' ? 'z-background-dark' : 'z-background-light';\n const textClass = theme === 'dark' ? 'z-text-dark' : 'z-text-light';\n\n return (\n <div\n key={index}\n class={`profile-info-associated-user-wrapper ${isSelected ? 'bg-pink-100' : backgroundClass} z-border-divider-${theme} ${isSelected ? 'text-black' : textClass}`}\n >\n <div class=\"profile-info-box-wrapper w-full\">\n <img\n src={`https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/${userItem.channel === 'zignal' ? `${theme}-zignal` : userItem.channel}.png`}\n alt=\"agent avatar\"\n class=\"size-5 rounded-full\"\n loading=\"lazy\"\n />\n <span class={`profile-info-capitalize truncate w-1/2`} title={userItem.connection?.name || ''}>\n {userItem.connection?.name}\n </span>\n <z-avatar pictureUrl={userItem.picture_url} size=\"small\" />\n <span class={`profile-info-capitalize truncate w-1/2`} title={userItem.name || ''}>\n {userItem.name}\n </span>\n\n <div class=\"profile-info-associated-user-action-wrapper\">\n {!isSelected && (\n <ZIconButton\n variant=\"none\"\n iconName=\"MessageSquareText\"\n addClassIcon={`size-4 z-text-primary-${theme}`}\n noPaddingY\n onClick={() => onJumpToChat(userItem)}\n />\n )}\n {!isSelected && (\n <ZIconButton\n variant=\"none\"\n iconName=\"UserSearch\"\n addClassIcon={`size-4 z-text-primary-${theme}`}\n noPaddingY\n onClick={() => onViewProfile(userItem)}\n />\n )}\n <ZIconButton variant=\"none\" iconName=\"Unlink\" addClassIcon={`size-4 z-text-primary-${theme}`} noPaddingY onClick={() => onUnlinkUser(userItem)} />\n </div>\n </div>\n </div>\n );\n })}\n </div>\n <div class={`profile-info-drawer-backdrop z-width-${isMobile ? '100' : '25'} ${isOpenDrawer ? 'opacity-100 pointer-events-auto' : 'opacity-0 pointer-events-none'}`} onClick={() => onSetIsOpenDrawer(false)} />\n <div class={`profile-info-drawer-wrapper z-width-${isMobile ? '100' : '25'} z-background-${theme} ${isOpenDrawer ? 'translate-y-0' : 'translate-y-full'}`}>\n <div class=\"profile-info-drawer-content scroll-container\">\n <div class=\"profile-info-drawer-content-close\">\n <ZIconButton variant=\"text\" iconName=\"X\" addClassIcon={`size-4 z-text-${theme}`} onClick={() => onSetIsOpenDrawer(false)} />\n </div>\n <div class={'mt-2'}></div>\n {tempDrawerUser && renderUserInfo(tempDrawerUser, true)}\n </div>\n </div>\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { useTranslation } from '../../utils/utils';\nimport { ZIconButton } from './z-icon-button';\nimport { ZButton } from './z-button';\nimport { Icon } from './icon';\nimport { MatchDecision } from '../../api/type';\nimport { configStore, userStore } from '../../store/store';\nimport { getAddressAsText } from '../../utils/func';\n\ninterface MergeUserViewProps {\n mergeIndex: number;\n onClose: () => void;\n onPrevMergeUser: () => void;\n onNextMergeUser: () => void;\n onActionMergeUser: (decision: MatchDecision) => void;\n}\n\nexport const MergeUserView: FunctionalComponent<MergeUserViewProps> = ({ mergeIndex, onClose, onPrevMergeUser, onNextMergeUser, onActionMergeUser }) => {\n const t = useTranslation();\n const theme = configStore.get('theme');\n const user = userStore.get('user');\n\n return (\n <div class=\"z-animate-width\">\n <div class={`profile-info-compare-wrapper z-text-${theme}`}>\n <ZIconButton variant=\"none\" iconName=\"ChevronLeft\" onClick={onClose} />\n <span>{t('profile_tab.compare_user')}</span>\n </div>\n <div class=\"profile-info-compare-remark-wrapper\">\n <span class={`profile-info-compare-remark z-text-gray-${theme} `}>*{t('profile_tab.compare_user_info')}</span>\n </div>\n {user.match_users && user.match_users.length > 0 && (\n <div>\n <div class=\"profile-info-match-user-wrapper\">\n {/* Prev Button */}\n <ZIconButton\n variant=\"none\"\n iconName=\"ChevronLeft\"\n addClassIcon={`size-8 ${mergeIndex === 0 ? `z-text-background-${theme}` : `z-text-primary-${theme}`}`}\n noPadding\n onClick={onPrevMergeUser}\n />\n {(() => {\n const matchUser = user.match_users[mergeIndex];\n return (\n <div class=\"profile-info-match-user-container\">\n <div class=\"profile-info-match-user-box\">\n {/* Current User */}\n <div class=\"relative\">\n <z-avatar pictureUrl={user.picture_url} size=\"full\" isNotRound />\n <div class=\"profile-info-avatar-box\">\n <ZButton\n maxWidth=\"max-w-32\"\n label={user.name}\n endIcon={\n <img\n src={`https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/${user.channel}.png`}\n alt=\"agent avatar\"\n class=\"profile-info-avatar\"\n loading=\"lazy\"\n />\n }\n />\n </div>\n </div>\n {/* Match User */}\n <div class=\"relative\">\n <z-avatar pictureUrl={matchUser.user.picture_url} size=\"full\" isNotRound />\n <div class=\"profile-info-avatar-box\">\n <ZButton\n maxWidth=\"max-w-32\"\n label={matchUser.user.name}\n endIcon={\n <img\n src={`https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/${matchUser?.channel}.png`}\n alt=\"agent avatar\"\n class=\"profile-info-avatar\"\n loading=\"lazy\"\n />\n }\n />\n </div>\n </div>\n </div>\n <div class={`m-2 z-text-${theme}`}>\n <p class=\"font-semibold\">{t('profile_tab.ai_summary')}</p>\n <span class=\"profile-info-pre-line\">\n {matchUser.reason} {t('profile_tab.prob')} {matchUser.confidence}% {t('profile_tab.same_user')}\n </span>\n </div>\n <div class=\"profile-info-match-user-action-wrapper\">\n <ZButton\n variant=\"text\"\n textVariant=\"text\"\n label={t('no')}\n startIcon={<Icon name=\"X\" addClass=\"size-5 text-red-700\" />}\n onClick={() => onActionMergeUser('reject')}\n />\n <ZButton\n variant=\"text\"\n textVariant=\"text\"\n label={t('profile_tab.merge_user')}\n startIcon={<Icon name=\"Check\" addClass=\"size-5 text-green-700\" />}\n onClick={() => onActionMergeUser('merge')}\n />\n </div>\n </div>\n );\n })()}\n {/* Next Button */}\n <ZIconButton\n variant=\"none\"\n iconName=\"ChevronRight\"\n addClassIcon={`size-8 ${mergeIndex === user.match_users.length - 1 ? `z-text-background-${theme}` : `z-text-primary-${theme}`}`}\n noPadding\n onClick={onNextMergeUser}\n />\n </div>\n <p class={`font-semibold mx-4 z-text-${theme}`}>{t('profile_tab.compare_table')}</p>\n {(() => {\n const matchUser = user.match_users[mergeIndex];\n const fields = [\n { label: t('channel'), key: 'channel' },\n { label: t('email'), key: 'email' },\n { label: t('phone_no'), key: 'phone_number' },\n { label: t('address'), key: 'address' },\n { label: t('gender'), key: 'gender' },\n ];\n return (\n <div class=\"profile-info-match-user-name-wrapper scroll-container\">\n <table class=\"profile-info-match-user-table\">\n <thead class=\"profile-info-match-user-table-header\">\n <tr>\n <th>{t('name')}</th>\n <th>{user.name}</th>\n <th>{matchUser.user.name}</th>\n </tr>\n </thead>\n <tbody>\n {fields.map(({ label, key }, index) => {\n let value = user[key];\n let comparedValue = matchUser.user[key];\n if (key === 'channel') {\n comparedValue = matchUser[key];\n }\n if (key === 'address') {\n value = getAddressAsText(user[key]);\n comparedValue = getAddressAsText(matchUser[key]);\n }\n return (\n <tr key={index}>\n <td class={`z-text-${theme}`}>\n <p class=\"profile-info-match-user-table-label\">{label}</p>\n </td>\n <td class={`z-text-gray-${theme}`}>\n <p class={`profile-info-match-user-table-value ${key === 'email' ? '' : 'capitalize'}`}>{value || '-'}</p>\n </td>\n <td class={`z-text-gray-${theme}`}>\n <p class={`profile-info-match-user-table-value ${key === 'email' ? '' : 'capitalize'}`}>{comparedValue || '-'}</p>\n </td>\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n );\n })()}\n </div>\n )}\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { UserItem, TContextItem } from '../../store/type';\nimport { ZIconButton } from './z-icon-button';\nimport { configStore } from '../../store/store';\n\ninterface TagSectionProps {\n user: UserItem;\n readOnly?: boolean;\n activeTabIndex: number;\n isEditContext: boolean;\n context?: TContextItem;\n onEditContext: () => void;\n onCloseContext: () => void;\n onSaveUserContexts: () => void;\n onContextSelecting: (context: TContextItem) => void;\n // onRemoveContext: () => void;\n onCreateUserContext: (name: string) => Promise<TContextItem>;\n}\n\nexport const ContextSection: FunctionalComponent<TagSectionProps> = ({\n user,\n readOnly = false,\n activeTabIndex,\n isEditContext,\n context,\n onEditContext,\n onCloseContext,\n onSaveUserContexts,\n onContextSelecting,\n // onRemoveContext,\n onCreateUserContext,\n}) => {\n const theme = configStore.get('theme');\n\n return (\n <div class={`profile-info-user-wrapper border-b-[0.5px] pt-2 gap-y-1 z-border-divider-${theme}`}>\n <div class=\"col-span-3 profile-info-box-wrapper\">\n <span class={`z-text-${theme} whitespace-nowrap`}>บริบทของบทสนทนา</span>\n\n {!readOnly && activeTabIndex === 0 && (\n <slot>\n {isEditContext ? (\n <div class=\"profile-info-box-wrapper justify-end w-full\">\n <ZIconButton variant=\"text\" iconName=\"X\" addClassIcon=\"size-4\" onClick={onCloseContext} />\n <ZIconButton variant=\"text\" iconName=\"Save\" addClassIcon=\"size-4\" onClick={onSaveUserContexts} />\n </div>\n ) : (\n <div class=\"profile-info-box-wrapper justify-end w-full\">\n <ZIconButton variant=\"text\" iconName=\"Pencil\" addClassIcon=\"size-4\" onClick={onEditContext} />\n </div>\n )}\n </slot>\n )}\n </div>\n\n <div class={`profile-info-tag-wrapper scroll-container`}>\n {isEditContext ? (\n <div class=\"profile-info-box-wrapper\">\n <autocomplete-select\n value={user.context?.id === context?.id ? user.context?.name : ''}\n fetchItems={() => Promise.resolve([{\n id: '1',\n name: 'ส่งต่อแอดมิน'\n }])}\n createItem={name => onCreateUserContext(name)}\n onSelecting={item => onContextSelecting(item.detail)}\n referenceSelector=\"profile-context\"\n />\n </div>\n ) : (\n <div class=\"profile-info-box-wrapper\">\n <span class={`text-sm z-text-${theme}`}>\n {user.context ? user.context.name : '-'}\n </span>\n </div>\n )}\n </div>\n </div>\n );\n};\n",":host {\n display: block;\n}\n\n.profile-info-user-wrapper {\n @apply grid grid-flow-row-dense grid-cols-3 grid-rows-1 w-full p-4 mb-2\n}\n\n.profile-info-avatar-wrapper {\n @apply col-span-1 my-auto mr-1\n}\n\n.profile-info-avatar-box {\n @apply relative w-full text-center\n}\n\n.profile-info-avatar-badge {\n @apply absolute bottom-[-2px] right-[-2px];\n}\n\n.profile-info-name-wrapper {\n @apply col-span-2 flex flex-col\n}\n\n.profile-info-box-wrapper {\n @apply flex flex-row gap-1 items-center\n}\n\n.profile-info-nickname {\n @apply font-semibold text-base\n}\n\n.profile-info-summarize-wrapper {\n @apply col-span-3 flex flex-row items-center justify-between mt-2\n}\n\n.profile-info-summarize-text {\n @apply col-span-3 mt-1\n}\n\n.profile-info-connection-wrapper {\n @apply flex items-center space-x-1\n}\n\n.profile-info-avatar {\n @apply size-4 rounded-full\n}\n\n.profile-info-content-wrapper-baseline {\n @apply col-span-2 flex flex-row gap-1 items-baseline-last\n}\n\n.profile-info-pre-line {\n @apply text-sm whitespace-pre-line\n}\n\n.profile-info-capitalize {\n @apply text-sm capitalize\n}\n\n.profile-info-tag-wrapper {\n @apply col-span-3 w-full max-h-60 overflow-y-auto\n}\n\n.profile-info-status-wrapper {\n @apply w-fit mt-2 mx-auto\n}\n\n.profile-info-status-bottom-wrapper {\n @apply w-fit mt-4 mx-auto\n}\n\n.profile-info-avatar-box {\n @apply mt-[-40px] flex justify-center\n}\n\n.profile-info {\n @apply relative h-full\n}\n\n.profile-info-compare-wrapper {\n @apply flex flex-row items-center pt-3 mt-[-16px] text-sm\n}\n\n.profile-info-compare-remark-wrapper {\n @apply px-3 pb-3\n}\n\n.profile-info-compare-remark {\n @apply text-xs whitespace-pre-line\n}\n\n.profile-info-match-user-wrapper {\n @apply flex flex-row items-center justify-between mb-3\n}\n\n.profile-info-match-user-container {\n @apply rounded-xl shadow-md w-full my-2 overflow-clip\n}\n\n.profile-info-match-user-box {\n @apply grid grid-cols-2 mb-2\n}\n\n.profile-info-match-user-action-wrapper {\n @apply flex flex-row items-center justify-around\n}\n\n.profile-info-match-user-name-wrapper {\n @apply rounded-xl my-2 mx-4 overflow-x-auto overflow-y-hidden\n}\n\n.profile-info-match-user-table {\n @apply table-auto w-full text-sm\n}\n\n.profile-info-match-user-table-header {\n @apply bg-pink-100 h-10 shadow-sm\n}\n\n.profile-info-match-user-table-label {\n @apply ml-2 mt-2 whitespace-nowrap\n}\n\n.profile-info-match-user-table-value {\n @apply ml-2 mt-2 whitespace-pre-line\n}\n\n.profile-info-match-user-suggest-wrapper {\n @apply flex flex-row items-center justify-between p-3 mt-[-16px] mb-2 text-sm text-white\n}\n\n.profile-info-match-user-suggest-button {\n @apply text-xs underline cursor-pointer\n}\n\n.profile-info-match-user-suggest-user-wrapper {\n @apply flex border-2 rounded-full overflow-hidden w-fit mx-auto p-0.5 mb-1\n}\n\n.profile-info-associated-user-wrapper {\n @apply flex flex-row gap-1 px-2 py-1 items-center border-b-[0.5px] rounded-xs\n}\n\n.profile-info-associated-user-action-wrapper {\n @apply flex flex-row items-center justify-end w-full\n}\n\n.profile-info-drawer-backdrop {\n @apply fixed inset-0 bg-black/40 !left-auto right-0 transition-opacity duration-300\n}\n\n.profile-info-drawer-wrapper {\n @apply fixed right-0 bottom-0 rounded-t-2xl shadow-lg transition-transform duration-300\n}\n\n.profile-info-drawer-content {\n @apply p-2 relative overflow-y-auto max-h-[90vh]\n}\n\n.profile-info-drawer-content-close {\n @apply absolute top-2 right-2\n}\n\n.profile-info-bill {\n @apply col-span-3 mx-auto mt-2\n}\n\n.profile-info-bill-icon {\n @apply rotate-180 size-2 fill-current\n}\n\n.profile-info-jump-chat-sign {\n @apply flex flex-row items-center justify-center gap-4\n}","import { Component, Host, State, h } from '@stencil/core';\nimport { configStore, selectedChatStore, statusesStore, userStore } from '../../store/store';\nimport { /*createUserContext,*/ createUserStatus, createUserTag, getUser, mergeUser, unlinkUser, updateUser } from '../../api';\nimport { ZButton } from '../internal-component/z-button';\nimport { AssociatedUser, BillingItem, ChannelType, TChatItem, TContextItem, TTagOrStatusItem, UserAddress, UserItem } from '../../store/type';\nimport { getRandomHexColor, useTranslation } from '../../utils/utils';\nimport { MatchDecision } from '../../api/type';\nimport { leaveRoom } from '../../utils/socket';\nimport { getChatPicture, handleGetChat } from '../../store/chat';\nimport { closeDialog, DIALOG_TYPE, handleError, openDialog } from '../../store/dialog';\nimport { serviceUpdateChatItem } from '../../store/message';\nimport { AboutSection } from '../internal-component/about-section';\nimport { TagSection } from '../internal-component/tag-section';\nimport { AssociatedUsersSection } from '../internal-component/associated-users-section';\nimport { MergeUserView } from '../internal-component/merge-user-view';\nimport { ContextSection } from '../internal-component/context-section';\nimport { Icon } from '../internal-component/icon';\n\ntype ShowDialog = {\n open: boolean;\n type?: 'input' | 'textarea' | 'address';\n label?: string;\n field?: string;\n value?: string | string[] | UserAddress;\n};\n\n@Component({\n tag: 'profile-info',\n styleUrl: 'profile-info.css',\n})\nexport class ProfileInfo {\n private disposeListener: () => void;\n\n @State() isLoading = false;\n @State() isEditStatus = false;\n @State() statusId?: string;\n @State() isEditTag = false;\n @State() isAddTag = false;\n @State() isMerge = false;\n @State() isOpenDrawer = false;\n @State() tempDrawerUser: UserItem = null;\n @State() mergeIndex = 0;\n @State() tempUser: UserItem = null;\n @State() activeTabIndex = 0;\n @State() tagItems: {\n item: TTagOrStatusItem;\n isAdd?: boolean;\n isDelete?: boolean;\n }[] = [];\n @State() showDialog: ShowDialog = { open: false };\n @State() associatedUsers: AssociatedUser[] = [];\n @State() isEditContext = false;\n @State() context?: TContextItem;\n @State() isEditSummarizeMessage = false;\n @State() summarizeMessageItems: {\n item: TTagOrStatusItem;\n isAdd?: boolean;\n isDelete?: boolean;\n }[] = [];\n\n private prevSelectedChat: TChatItem | null = null;\n\n private tabs() {\n const t = useTranslation();\n return [{ label: t('profile_tab.profile_this_chat') }, { label: t('profile_tab.merged_profile') }];\n }\n\n private resetState() {\n this.isEditStatus = false;\n this.statusId = undefined;\n this.isEditTag = false;\n this.isAddTag = false;\n this.isMerge = false;\n this.isOpenDrawer = false;\n this.tempDrawerUser = null;\n this.mergeIndex = 0;\n this.tempUser = null;\n this.activeTabIndex = 0;\n this.associatedUsers = [];\n this.tagItems = [];\n this.isEditContext = false;\n this.context = undefined;\n this.isEditSummarizeMessage = false;\n this.summarizeMessageItems = [];\n this.prevSelectedChat = null;\n userStore.reset();\n }\n\n async componentWillLoad() {\n this.disposeListener = selectedChatStore.onChange('selectedChat', async newChat => {\n if (!newChat) {\n this.resetState();\n return;\n }\n if (newChat.id !== this.prevSelectedChat?.id) {\n this.resetState();\n const type = newChat.type === 'group' ? 'group' : 'user';\n await this.loadUser({ type, channel: newChat.channel, id: newChat[type].id, sessionId: newChat.id });\n this.prevSelectedChat = newChat;\n }\n });\n }\n\n private async loadUser({ type, channel, id, sessionId, isZignalUser }:\n {\n type?: \"user\" | \"group\"\n channel: ChannelType\n id: string\n sessionId?: string\n isZignalUser?: boolean\n }\n ) {\n try {\n this.isLoading = true;\n if (isZignalUser) {\n this.tempUser = userStore.get('user');\n }\n const user = await getUser({ type, channel, id, sessionId });\n userStore.set('user', user);\n this.statusId = user.status?.id;\n this.context = user.context;\n this.tagItems = user.tags.map(tag => ({ item: tag }));\n this.summarizeMessageItems = user.summarize_messages?.map(tag => ({ item: tag })) || [];\n serviceUpdateChatItem({\n chatId: sessionId,\n updateValue: {\n tags: user.tags,\n summarize_messages: user.summarize_messages,\n },\n });\n await this.loadAssociatedUsers(user);\n } catch (error: unknown) {\n if (isZignalUser) {\n this.tempUser = null;\n }\n handleError(error, 'Failed to load user');\n } finally {\n this.isLoading = false;\n }\n }\n\n private async loadAssociatedUsers(user: UserItem) {\n try {\n this.isLoading = true;\n if (user.zignal_user_id) {\n const zignalUser = await getUser({ channel: 'zignal', id: user.zignal_user_id });\n this.associatedUsers = zignalUser.associated_users;\n } else {\n this.associatedUsers = [];\n }\n } catch (error: unknown) {\n handleError(error, 'Failed to load associated users');\n } finally {\n this.isLoading = false;\n }\n }\n\n private async createNewUserStatus(name: string) {\n try {\n this.isLoading = true;\n const userStatuses = await createUserStatus({ name, color: getRandomHexColor() });\n return userStatuses;\n } catch (error) {\n handleError(error, 'Failed to createUserStatus');\n } finally {\n this.isLoading = false;\n }\n }\n\n private async createNewUserTag(name: string) {\n try {\n this.isLoading = true;\n const userTags = await createUserTag({ name, color: getRandomHexColor() });\n return userTags;\n } catch (error: unknown) {\n handleError(error, 'Failed to create user tag');\n } finally {\n this.isLoading = false;\n }\n }\n\n private async createNewUserContext(name: string) {\n try {\n this.isLoading = true;\n const userContexts = {\n id: new Date().getTime().toString(),\n name\n } //await createUserContext({ name });\n return userContexts;\n } catch (error: unknown) {\n handleError(error, 'Failed to create user context');\n } finally {\n this.isLoading = false;\n }\n }\n\n disconnectedCallback() {\n this.disposeListener?.();\n }\n\n render() {\n const t = useTranslation();\n const selectedChat = selectedChatStore.get('selectedChat');\n const user = userStore.get('user');\n const theme = configStore.get('theme');\n const type = selectedChat?.type === 'group' ? 'group' : 'user';\n\n const handleOpenDialogEditor = async ({ label, field, value, type = 'input' }: Omit<ShowDialog, 'open'>) => {\n this.showDialog = { open: true, type, label, field, value };\n };\n\n const handleCloseDialogEditor = () => {\n this.showDialog = { open: false };\n };\n\n const handleEditStatus = () => {\n this.isEditStatus = true;\n };\n\n const handleCloseStatus = () => {\n this.isEditStatus = false;\n };\n\n const handleEditTag = () => {\n this.isEditTag = true;\n };\n\n const handleCloseTag = () => {\n this.isEditTag = false;\n this.tagItems = this.tagItems\n .filter(({ isAdd }) => !isAdd)\n .map(item => ({\n ...item,\n isDelete: undefined,\n isAdd: undefined,\n }));\n };\n\n const handleEditContext = () => {\n this.isEditContext = true;\n };\n\n const handleCloseContext = () => {\n this.isEditContext = false;\n };\n\n const handleEditSummarizeMessage = () => {\n this.isEditSummarizeMessage = true;\n };\n\n const handleCloseSummarizeMessage = () => {\n this.isEditSummarizeMessage = false;\n this.summarizeMessageItems = this.summarizeMessageItems\n .filter(({ isAdd }) => !isAdd)\n .map(item => ({\n ...item,\n isDelete: undefined,\n isAdd: undefined,\n }));\n };\n\n const isAllowEmpty = (field: string) => {\n return ['email', 'phone_number', 'address', 'gender', 'locale', 'note', 'status_id'].includes(field);\n };\n\n const handleUpdateUser = async (field: string, value: string | string[]) => {\n try {\n this.isLoading = true;\n const updateValue = { [field]: isAllowEmpty(field) ? (value ? value : null) : value };\n const userResponse = await updateUser({\n type,\n channel: user.channel,\n id: user.id,\n ...updateValue,\n });\n\n if (['user-updated', 'group-updated'].includes(userResponse.code)) {\n userStore.set('user', {\n ...userStore.get('user'),\n ...(field === 'status_id'\n ? {\n status: statusesStore.get('statuses').find(status => status.id === value),\n }\n : updateValue),\n });\n }\n } catch (error) {\n handleError(error, 'Failed to UpdateUser');\n } finally {\n this.isLoading = false;\n }\n };\n\n const handleRemoveStatus = () => {\n this.statusId = undefined;\n };\n\n // const handleRemoveContext = () => {\n // this.context = undefined;\n // };\n\n const handleSaveDialogEditor = async (field: string, value: string) => {\n await handleUpdateUser(field, value);\n handleCloseDialogEditor();\n };\n\n const handleCreateBill = async (value: BillingItem) => {\n alert('Create billing item: ' + JSON.stringify(value));\n // await handleUpdateUser(field, value);\n };\n\n const handleSaveUserStatus = async () => {\n await handleUpdateUser('status_id', this.statusId);\n handleCloseStatus();\n };\n\n const handleSaveUserTags = async () => {\n try {\n this.isLoading = true;\n\n const addTagIds = [];\n const removeTagIds = [];\n for (const item of this.tagItems) {\n if (item?.isAdd) {\n addTagIds.push(item.item.id);\n } else if (item?.isDelete) {\n removeTagIds.push(item.item.id);\n }\n }\n\n const userResponse = await updateUser({\n type,\n channel: selectedChat.channel,\n id: user.id,\n add_tag_ids: addTagIds.length > 0 ? addTagIds : undefined,\n remove_tag_ids: removeTagIds.length > 0 ? removeTagIds : undefined,\n });\n\n if (['user-updated', 'group-updated'].includes(userResponse.code)) {\n const type = selectedChat.type === 'group' ? 'group' : 'user';\n await this.loadUser({ type, channel: selectedChat.channel, id: user.id, sessionId: selectedChat.id });\n }\n\n handleCloseTag();\n } catch (error) {\n handleError(error, 'Failed to UpdateUserTags');\n } finally {\n this.isLoading = false;\n }\n };\n\n const handleSaveUserContext = async () => {\n // await handleUpdateUser('context_id', this.context);\n\n userStore.set('user', {\n ...userStore.get('user'),\n ...({\n context: this.context,\n }),\n });\n\n handleCloseContext();\n };\n\n const handleSaveUserSummarizeMessages = async (detail: { item: TTagOrStatusItem; isAdd?: boolean; isDelete?: boolean; }[]) => {\n try {\n this.isLoading = true;\n\n // const addSummarizeMessageIds = [];\n // const removeSummarizeMessageIds = [];\n // for (const item of this.summarizeMessageItems) {\n // if (item?.isAdd) {\n // addSummarizeMessageIds.push(item.item.id);\n // } else if (item?.isDelete) {\n // removeSummarizeMessageIds.push(item.item.id);\n // }\n // }\n this.summarizeMessageItems = detail;\n userStore.set('user', {\n ...userStore.get('user'),\n ...({\n summarize_messages: detail.map(item => item.item),\n })\n })\n // const userResponse = await updateUser({\n // channel: selectedChat.channel,\n // userId: user.id,\n // add_tag_ids: addSummarizeMessageIds.length > 0 ? addSummarizeMessageIds : undefined,\n // remove_tag_ids: removeSummarizeMessageIds.length > 0 ? removeSummarizeMessageIds : undefined,\n // });\n\n // if (['user-updated', 'group-updated'].includes(userResponse.code)) {\n // await this.loadUser(selectedChat.channel, user.id, selectedChat.id);\n // }\n\n handleCloseSummarizeMessage();\n } catch (error) {\n handleError(error, 'Failed to UpdateUserSummarizeMessages');\n } finally {\n this.isLoading = false;\n }\n };\n\n const handlePrevMergeUser = () => {\n const prevIndex = this.mergeIndex - 1;\n if (prevIndex >= 0 && prevIndex <= user.match_users.length - 1) {\n this.mergeIndex = prevIndex;\n }\n };\n\n const handleNextMergeUser = () => {\n const nextIndex = this.mergeIndex + 1;\n if (nextIndex <= user.match_users.length - 1) {\n this.mergeIndex = nextIndex;\n }\n };\n\n const handleActionMergeUser = async (matchDecision: MatchDecision) => {\n try {\n this.isLoading = true;\n\n const mergeResponse = await mergeUser({\n matchUserId: user.match_users[this.mergeIndex].id,\n matchDecision,\n });\n\n if (['match-user-merged', 'match-user-rejected'].includes(mergeResponse.code)) {\n const type = selectedChat.type === 'group' ? 'group' : 'user';\n await this.loadUser({ type, channel: selectedChat.channel, id: user.id, sessionId: selectedChat.id });\n }\n\n if (user.match_users.length === 1) {\n this.isMerge = false;\n await handleSelectTab(1);\n }\n } catch (error) {\n handleError(error, 'Failed to MergeUser');\n } finally {\n this.isLoading = false;\n }\n };\n\n const handleSelectTab = async (index: number) => {\n if (this.activeTabIndex === index) return;\n this.activeTabIndex = index;\n if (index !== 1 && this.tempUser !== null) {\n const tempUser = userStore.get('user');\n userStore.set('user', this.tempUser);\n this.statusId = this.tempUser.status?.id;\n this.context = this.tempUser.context;\n this.tagItems = this.tempUser.tags.map(tag => ({ item: tag }));\n this.tempUser = tempUser;\n }\n handleCloseStatus();\n handleCloseTag();\n handleCloseContext();\n };\n\n const handleJumpToChat = ({ session_id: sessionId }: AssociatedUser) => {\n const customSign = <div class=\"profile-info-jump-chat-sign\">\n <z-avatar pictureUrl={getChatPicture(selectedChat)} />\n <Icon name=\"ArrowRight\" addClass='size-8' />\n <z-avatar\n pictureUrl={getChatPicture({\n ...selectedChat,\n user: {\n ...selectedChat.user,\n picture_url: this.associatedUsers.find(associatedUser => associatedUser.session_id === sessionId)?.picture_url || ''\n }\n })}\n />\n </div>;\n\n const onSubmitDialog = async () => {\n try {\n const selectedChat = selectedChatStore.get('selectedChat');\n if (selectedChat && selectedChat.id !== sessionId) {\n this.isLoading = true;\n leaveRoom(selectedChat.id);\n const chat = await handleGetChat(sessionId);\n selectedChatStore.set('selectedChat', chat);\n } else {\n return;\n }\n } catch (error) {\n handleError(error, 'Failed to jump Chat');\n } finally {\n this.isLoading = false;\n }\n };\n\n openDialog({\n open: true,\n type: DIALOG_TYPE.CUSTOM,\n customSign,\n title: 'คุณต้องการสลับไปยังแชทอื่นใช่หรือไม่',\n contentCustom: 'เมื่อยืนยัน ระบบจะพาคุณไปยังแชทที่เลือก หากต้องการกลับมาแชทนี้ คุณจะต้องเลือกแชทนี้ใหม่อีกครั้ง',\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog,\n onCloseDialog: closeDialog,\n });\n };\n\n const handleViewProfile = async ({ channel, id, session_id: sessionId }: AssociatedUser) => {\n try {\n this.isLoading = true;\n const user = await getUser({ channel, id, sessionId });\n this.tempDrawerUser = user;\n this.isOpenDrawer = true;\n } catch (error) {\n handleError(error, 'Failed to load View User');\n } finally {\n this.isLoading = false;\n }\n };\n\n const handleUnlinkUser = async ({ channel, id: userId }: AssociatedUser) => {\n try {\n this.isLoading = true;\n const unlinkResponse = await unlinkUser({\n zignalUserId: user.zignal_user_id,\n channel,\n userId,\n });\n\n if (unlinkResponse.code === 'user-unlinked') {\n await this.loadUser({ channel: selectedChat.channel, id: user.id, sessionId: selectedChat.id });\n }\n } catch (error) {\n handleError(error, 'Failed to unlinkUser');\n } finally {\n this.isLoading = false;\n }\n };\n\n const renderUserInfo = (_user: UserItem, readOnly: boolean = false) => {\n return (\n <div>\n <user-info-section\n user={_user}\n readOnly={readOnly}\n isEditStatus={this.isEditStatus}\n statusId={this.statusId}\n onOpenDialogEditor={event => handleOpenDialogEditor(event.detail)}\n onEditStatus={() => handleEditStatus()}\n onCloseStatus={() => handleCloseStatus()}\n onRemoveStatus={() => handleRemoveStatus()}\n onSaveUserStatus={() => handleSaveUserStatus()}\n onStatusSelecting={event => (this.statusId = event.detail)}\n onCreateUserStatusRequest={(event) => {\n this.createNewUserStatus(event.detail.name).then(result => {\n event.detail.callback(result);\n });\n }}\n onCreateBill={(event) => handleCreateBill(event.detail)}\n />\n\n <AboutSection\n user={_user}\n readOnly={readOnly}\n activeTabIndex={this.activeTabIndex}\n onOpenDialogEditor={handleOpenDialogEditor}\n />\n\n <TagSection\n user={_user}\n readOnly={readOnly}\n activeTabIndex={this.activeTabIndex}\n isEditTag={this.isEditTag}\n isAddTag={this.isAddTag}\n tagItems={this.tagItems}\n onEditTag={handleEditTag}\n onCloseTag={handleCloseTag}\n onSaveUserTags={handleSaveUserTags}\n onSetIsAddTag={value => (this.isAddTag = value)}\n onDeleteTag={tagId => {\n this.tagItems = this.tagItems.map(item =>\n item.item.id === tagId\n ? {\n ...item,\n isDelete: true,\n isAdd: false,\n }\n : item,\n );\n }}\n onAddTag={tag => {\n this.tagItems = [\n ...this.tagItems,\n {\n item: tag,\n isAdd: true,\n isDelete: undefined,\n },\n ];\n }}\n onCreateUserTag={name => this.createNewUserTag(name)}\n />\n\n <ContextSection\n user={_user}\n readOnly={readOnly}\n activeTabIndex={this.activeTabIndex}\n isEditContext={this.isEditContext}\n context={this.context}\n onEditContext={handleEditContext}\n onCloseContext={handleCloseContext}\n // onRemoveContext={handleRemoveContext}\n onSaveUserContexts={handleSaveUserContext}\n onContextSelecting={context => (this.context = context)}\n onCreateUserContext={name => this.createNewUserContext(name)}\n />\n\n <summarize-message-section\n user={_user}\n readOnly={readOnly}\n activeTabIndex={this.activeTabIndex}\n isEditSummarizeMessage={this.isEditSummarizeMessage}\n summarizeMessageItems={this.summarizeMessageItems}\n onEditSummarizeMessage={handleEditSummarizeMessage}\n onCancelSummarizeMessage={handleCloseSummarizeMessage}\n onSaveUserSummarizeMessage={(event) => handleSaveUserSummarizeMessages(event.detail)}\n />\n </div>\n );\n };\n\n return (\n <Host>\n {selectedChat && user && (\n <div class=\"z-animate-width profile-info\">\n {this.isMerge ? (\n <MergeUserView\n mergeIndex={this.mergeIndex}\n onClose={() => (this.isMerge = false)}\n onPrevMergeUser={handlePrevMergeUser}\n onNextMergeUser={handleNextMergeUser}\n onActionMergeUser={handleActionMergeUser}\n />\n ) : (\n <div class=\"z-animate-width\">\n {user.match_users && user.match_users.length > 0 && (\n <div class={`profile-info-match-user-suggest-wrapper z-background-primary-${theme}`}>\n <div class={`profile-info-box-wrapper`}>\n <span>{t('profile_tab.match_user')}</span>\n <div class=\"relative\">\n <z-avatar size=\"small\" pictureUrl={user.match_users[0].user.picture_url} />\n <img\n src={`https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/${user.match_users[0].channel}.png`}\n alt=\"agent avatar\"\n class=\"profile-info-avatar absolute bottom-[-2px] right-[-2px]\"\n loading=\"lazy\"\n />\n </div>\n </div>\n <span class=\"profile-info-match-user-suggest-button\" onClick={() => (this.isMerge = true)}>\n {`${t('profile_tab.view_data')} >`}\n </span>\n </div>\n )}\n\n {(user.zignal_user_id || this.tempUser !== null) && (\n <div class={`profile-info-match-user-suggest-user-wrapper z-border-primary-${theme}`}>\n {this.tabs().map(({ label }, index) => (\n <ZButton\n label={label}\n onClick={() => handleSelectTab(index)}\n variant={this.activeTabIndex === index ? 'primary' : 'text'}\n startIcon={\n <img\n src={`https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/${index === 0 ? selectedChat.channel : `${theme}-zignal`}.png`}\n alt=\"agent avatar\"\n class=\"profile-info-avatar\"\n loading=\"lazy\"\n />\n }\n />\n ))}\n </div>\n )}\n\n {renderUserInfo(user)}\n\n {this.associatedUsers && this.associatedUsers.length > 0 && (\n <AssociatedUsersSection\n associatedUsers={this.associatedUsers}\n isOpenDrawer={this.isOpenDrawer}\n tempDrawerUser={this.tempDrawerUser}\n onJumpToChat={handleJumpToChat}\n onViewProfile={handleViewProfile}\n onUnlinkUser={handleUnlinkUser}\n onSetIsOpenDrawer={value => (this.isOpenDrawer = value)}\n renderUserInfo={renderUserInfo}\n />\n )}\n\n {this.showDialog.open && (\n <div class=\"dialog-backdrop\">\n <dialog-editor\n label={this.showDialog.label}\n dialogType={this.showDialog.type}\n field={this.showDialog.field}\n value={this.showDialog.value}\n allowEmpty={isAllowEmpty(this.showDialog.field)}\n onCancel={handleCloseDialogEditor}\n onSave={(event: any) => handleSaveDialogEditor(this.showDialog.field, event?.detail)}\n />\n </div>\n )}\n </div>\n )}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-yWKuwcuj.js","mappings":"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","names":[],"sources":["src/api/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { configStore } from '../store/store';\nimport { apiService, apiServiceSso } from '../utils/axios';\nimport { BASE_URL } from '../utils/constant';\nimport * as Types from './type';\n\nexport {\n createQuickMessageTemplate,\n createQuickMessageLibraryFiles,\n deleteQuickMessageTemplate,\n getQuickMessageLibraryFiles,\n getQuickMessageTemplates,\n updateQuickMessageLibraryFileName,\n updateQuickMessageTemplate,\n} from './quick-message';\n\n/**\n * @deprecated use '@Props' memberList instead\n */\nexport const getProfileMembers = async (request: { page_number: number; page_size: number }) => {\n const businessId = configStore.get('businessId');\n const { data, status } = await apiServiceSso().get<Types.GetProfileMembersResponse>(`/api/channel/profile/${businessId}/member`, { params: request });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getProfileMembers');\n};\n\nexport const getChats = async (params: Types.GetChatsParams) => {\n const { connectionIds, lastAnswerByIds, statusIds, tagIds, ...rest } = params;\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n\n const { data, status } = await apiService().get<Types.GetChatsResponse>(`api/${businessId}/${shopId}/chat`, {\n params: {\n ...rest,\n connection_id: connectionIds && connectionIds.length === configStore.get('connectionList').length ? undefined : connectionIds,\n last_answer_by_id: lastAnswerByIds && lastAnswerByIds.length === configStore.get('memberList').length ? undefined : lastAnswerByIds,\n status_id: statusIds,\n tag_id: tagIds,\n },\n });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getChats');\n};\n\nexport const getChat = async (params: Types.GetChatParams) => {\n const { sessionId } = params;\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { data, status } = await apiService().get<Types.GetChatResponse>(`api/${businessId}/${shopId}/chat/${sessionId}`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getChat');\n};\n\nexport const updateChat = async (params: Types.UpdateChatParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId, ...rest } = params;\n const { data, status } = await apiService().patch<Types.UpdateChatResponse>(`api/${businessId}/${shopId}/chat/${sessionId}`, rest);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to updateUser');\n};\n\nexport const translateChatMessage = async (params: Types.TranslateChatMessageParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId, text, messageIds } = params;\n const { data, status } = await apiService().post<Types.TranslateChatMessageResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/translate`, {\n text,\n message_ids: messageIds,\n });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to updateUser');\n};\n\nexport const getChatMessages = async (params: Types.GetChatMessagesParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId, startMessageId, ...rest } = params;\n const { data, status } = await apiService().get<Types.GetChatMessagesResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/message`, {\n params: {\n start_message_id: startMessageId,\n ...rest,\n },\n });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getChatMessages');\n};\n\nexport const sendMessage = async (params: Types.SendMessageParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId, messages } = params;\n const { data, status } = await apiService().post<Types.SendMessageResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/send-message`, {\n messages: messages?.map(({ mimeType, replyMessageId, buttons, menu_list, ...rest }) => ({\n ...rest,\n mime_type: mimeType,\n reply_message_id: replyMessageId,\n buttons: buttons?.map(({ action_type, text, action }) => ({ alt_text: text, action_type, text, action: action ?? undefined })),\n menu_list: menu_list?.map(({ file_url, title, description, buttons }) => ({ file_url, title, description, buttons: buttons?.map(({ action_type, text, action }) => ({ action_type, text, action: action ?? undefined })), })),\n })),\n });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to sendMessage');\n};\n\nexport const readMessage = async (params: Types.ReadMessageParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId } = params;\n const { data, status } = await apiService().post<Types.ReadMessageResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/read`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to readMessage');\n};\n\nexport const unReadMessage = async (params: Types.ReadMessageParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId } = params;\n const { data, status } = await apiService().post<Types.BaseResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/mark-as-unread`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to unReadMessage');\n};\n\nexport const getMessageMedia = async (params: Types.GetImageParams): Promise<string | null> => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { channel, sessionId, messageId } = params;\n\n const url = `${BASE_URL}/api/${businessId}/${shopId}/${channel}/${sessionId}/${messageId}/content`;\n\n let attempts = 0;\n const maxRetries = 3;\n\n while (attempts < maxRetries) {\n try {\n const response = await axios.get(url, {\n responseType: 'blob',\n });\n const blobUrl = URL.createObjectURL(response.data);\n return blobUrl;\n } catch (error: unknown) {\n attempts++;\n if (attempts >= maxRetries) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch image';\n console.error(`Failed to fetch image after ${maxRetries} attempts`, errorMessage);\n return null;\n }\n await new Promise(resolve => setTimeout(resolve, 500));\n }\n }\n\n return null;\n};\n\n//Waiting for resolve expired attachments from facebook eg. attachments?.find((item) => item.type === 'video'|'image')?.payload.url;\nexport const getMessageAttachment = async (params: Types.GetImageParams): Promise<string | null> => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { channel, sessionId, messageId } = params;\n\n const url = `${BASE_URL}/api/${businessId}/${shopId}/${channel}/${sessionId}/${messageId}/attachment`;\n\n let attempts = 0;\n const maxRetries = 3;\n\n while (attempts < maxRetries) {\n try {\n const response = await axios.get(url, {\n responseType: 'blob',\n });\n const blobUrl = URL.createObjectURL(response.data);\n return blobUrl;\n } catch (error: unknown) {\n attempts++;\n if (attempts >= maxRetries) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch attachment';\n console.error(`Failed to fetch attachment after ${maxRetries} attempts`, errorMessage);\n return null;\n }\n await new Promise(resolve => setTimeout(resolve, 500));\n }\n }\n\n return null;\n};\n\nexport const getUser = async (params: Types.GetUserParams) => {\n const { type = 'user', channel, id, sessionId } = params;\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n let route = `user/${channel}/${id}`;\n if (type === 'group') {\n route = `${channel}/group/${id}`\n }\n const { data, status } = await apiService().get<Types.GetUserResponse>(`api/${businessId}/${shopId}/${route}`, { params: { session_id: sessionId } });\n\n if (status === 200) {\n let addressFormat = null\n if (data.address && Object.keys(data.address).length > 0) {\n addressFormat = {\n address: data.address?.address || '',\n province: data.address?.province || '',\n district: data.address?.district || '',\n sub_district: data.address?.sub_district || data.address?.subdistrict || '',\n zip_code: data.address?.zip_code || '',\n }\n }\n\n return {\n ...data, address: addressFormat\n };\n }\n\n throw new Error('Failed to getUser');\n};\n\nexport const getActivityLogs = async (params: Types.GetActivityLogParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { type = 'user', channel, id } = params;\n let route = `user/${channel}/${id}/activity-log`;\n if (type === 'group') {\n route = `${channel}/group/${id}/activity_logs`\n }\n const { data, status } = await apiService().get<Types.GetActivityLogsResponse>(`api/${businessId}/${shopId}/${route}`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getActivityLogs');\n};\n\nexport const updateUser = async (params: Types.UpdateUserParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { type = 'user', channel, id } = params;\n let _channel = channel;\n if (type === 'group') {\n _channel = 'line';\n }\n let route = `user/${_channel}/${id}`;\n if (type === 'group') {\n route = `${_channel}/group/${id}`\n }\n const { data, status } = await apiService().patch<Types.UpdateUserResponse>(`api/${businessId}/${shopId}/${route}`, {\n nickname: params.nickname,\n email: params.email,\n phone_number: params.phone_number,\n address: params.address,\n gender: params.gender,\n locale: params.locale,\n note: params.note,\n status_id: params.status_id,\n add_tag_ids: params.add_tag_ids,\n remove_tag_ids: params.remove_tag_ids,\n });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to updateUser');\n};\n\nexport const mergeUser = async (params: Types.MergeUserParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { matchUserId, matchDecision } = params;\n const { data, status } = await apiService().post<Types.MergeUserResponse>(`api/${businessId}/${shopId}/user/merge`, {\n match_user_id: matchUserId,\n match_decision: matchDecision,\n });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to mergeUser');\n};\n\nexport const unlinkUser = async (params: Types.UnlinkUserParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { zignalUserId, channel, userId } = params;\n const { data, status } = await apiService().request<Types.UnlinkUserResponse>({\n method: 'DELETE',\n url: `api/${businessId}/${shopId}/user/unlink`,\n data: {\n zignal_user_id: zignalUserId,\n channel: channel,\n user_id: userId,\n },\n });\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to unlinkUser');\n};\n\nexport const getUserStatuses = async () => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { data, status } = await apiService().get<Types.GetUserStatusesResponse>(`api/${businessId}/${shopId}/user/status`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getUserStatuses');\n};\n\nexport const createUserStatus = async (params: Types.CreateUserStatusParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { data, status } = await apiService().post<Types.CreateUserStatusResponse>(`api/${businessId}/${shopId}/user/status`, params);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to createUserStatus');\n};\n\nexport const getUserTags = async () => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { data, status } = await apiService().get<Types.GetUserTagsResponse>(`api/${businessId}/${shopId}/user/tag`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getUserTags');\n};\n\nexport const createUserTag = async (params: Types.CreateUserTagParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { data, status } = await apiService().post<Types.CreateUserTagResponse>(`api/${businessId}/${shopId}/user/tag`, params);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to createUserTag');\n};\n\nexport const createUserContext = async (params: Types.CreateUserContextParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { data, status } = await apiService().post<Types.CreateUserContextResponse>(`api/${businessId}/${shopId}/user/context`, params);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to createUserContext');\n};\n\nexport const getReplyTokenInfo = async (params: Types.GetReplyTokenInfoParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId } = params;\n const { data, status } = await apiService().get<Types.GetReplyTokenInfoResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/reply-token-info`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to getReplyTokenInfo');\n};\n\nexport const syncMessage = async (params: Types.SyncMessageParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId } = params;\n const { data, status } = await apiService().post<Types.BaseResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/sync-message`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to syncMessage');\n};\n\nexport const syncTags = async (params: Types.SyncTagsParams) => {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n const { sessionId } = params;\n const { data, status } = await apiService().post<Types.BaseResponse>(`api/${businessId}/${shopId}/chat/${sessionId}/sync-tag`);\n\n if (status === 200) {\n return data;\n }\n\n throw new Error('Failed to syncTags');\n};\n"],"version":3}
|