zignal-stencil-library 1.1.109 → 1.1.111
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/app-globals-V2Kpy_OQ.js.map +1 -1
- package/dist/cjs/autocomplete-address_43.cjs.entry.js +269 -163
- package/dist/cjs/{dayjs-Dssqvl2P.js → dayjs-Fs60i07x.js} +3 -3
- package/dist/cjs/dayjs-Fs60i07x.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/quick-message-app.cjs.entry.js +3 -3
- package/dist/cjs/zignal-stencil-library.cjs.js +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/autocomplete-select/autocomplete-select.js +4 -3
- package/dist/collection/components/autocomplete-select/autocomplete-select.js.map +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 +42 -25
- 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/internal-component/merge-user-view.js +1 -1
- package/dist/collection/components/internal-component/merge-user-view.js.map +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/menu-list/menu-list.js +23 -2
- package/dist/collection/components/menu-list/menu-list.js.map +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-item/message-item.js +4 -2
- package/dist/collection/components/message-item/message-item.js.map +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-history/profile-history.js +14 -22
- package/dist/collection/components/profile-history/profile-history.js.map +1 -1
- package/dist/collection/components/profile-info/profile-info.css +1 -1
- package/dist/collection/components/profile-info/profile-info.js +27 -42
- package/dist/collection/components/profile-info/profile-info.js.map +1 -1
- package/dist/collection/components/profile-info/user-info-section.js +42 -4
- 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-media/profile-media.js +1 -1
- package/dist/collection/components/profile-tabs/profile-tabs.css +1 -1
- package/dist/collection/components/profile-tabs/profile-tabs.js +6 -6
- package/dist/collection/components/profile-tabs/profile-tabs.js.map +1 -1
- package/dist/collection/components/quick-message-add-template/quick-message-add-template.css +1 -1
- package/dist/collection/components/quick-message-add-template/quick-message-add-template.js +3 -3
- package/dist/collection/components/quick-message-add-template/quick-message-text-content.js +1 -1
- package/dist/collection/components/quick-message-app/quick-message-app.css +1 -1
- package/dist/collection/components/quick-message-app/quick-message-app.js +1 -1
- package/dist/collection/components/quick-message-file/quick-message-file.css +1 -1
- package/dist/collection/components/quick-message-file/quick-message-file.js +1 -1
- package/dist/collection/components/quick-message-image/quick-message-image.css +1 -1
- package/dist/collection/components/quick-message-image/quick-message-image.js +1 -1
- package/dist/collection/components/quick-message-modal/quick-message-modal.css +1 -1
- package/dist/collection/components/quick-message-modal/quick-message-modal.js +1 -1
- package/dist/collection/components/quick-message-template/quick-message-template.css +1 -1
- package/dist/collection/components/quick-message-template/quick-message-template.js +3 -3
- package/dist/collection/components/search-box/search-box.css +1 -1
- package/dist/collection/components/search-box/search-box.js +1 -1
- package/dist/collection/components/status-badge/status-badge.css +1 -1
- package/dist/collection/components/status-badge/status-badge.js +2 -2
- package/dist/collection/components/tag-list/tag-list.css +1 -1
- package/dist/collection/components/tag-list/tag-list.js +1 -1
- package/dist/collection/components/tag-or-status-item/tag-or-status-item.css +1 -1
- package/dist/collection/components/tag-or-status-item/tag-or-status-item.js +2 -2
- package/dist/collection/components/tag-popper/tag-popper.css +1 -1
- package/dist/collection/components/tag-popper/tag-popper.js +2 -2
- package/dist/collection/components/typography-clamp/typography-clamp.css +1 -1
- package/dist/collection/components/typography-clamp/typography-clamp.js +2 -2
- package/dist/collection/components/z-avatar/z-avatar.css +1 -1
- package/dist/collection/components/z-avatar/z-avatar.js +8 -2
- package/dist/collection/components/z-avatar/z-avatar.js.map +1 -1
- package/dist/collection/components/z-dialog/z-dialog.css +1 -1
- package/dist/collection/store/chat.js +6 -1
- package/dist/collection/store/chat.js.map +1 -1
- package/dist/collection/store/message.js +38 -6
- package/dist/collection/store/message.js.map +1 -1
- package/dist/collection/store/store.js +1 -1
- package/dist/collection/store/store.js.map +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 +47 -47
- 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-DGF1OMnC.js → p--gZqhhLL.js} +5 -5
- package/dist/components/{p-DGF1OMnC.js.map → p--gZqhhLL.js.map} +1 -1
- package/dist/components/{p-LUMkIl0L.js → p-3jt5iBgO.js} +7 -7
- package/dist/components/{p-LUMkIl0L.js.map → p-3jt5iBgO.js.map} +1 -1
- package/dist/components/{p-BAcE386V.js → p-5S7W_s42.js} +44 -12
- package/dist/components/p-5S7W_s42.js.map +1 -0
- package/dist/components/{p-7VwG3GTl.js → p-5z3Oz7nB.js} +4 -4
- package/dist/components/{p-7VwG3GTl.js.map → p-5z3Oz7nB.js.map} +1 -1
- package/dist/components/{p-Cq3trT50.js → p-8qMMsvE2.js} +6 -6
- package/dist/components/{p-Cq3trT50.js.map → p-8qMMsvE2.js.map} +1 -1
- package/dist/components/{p-Bb01kTl4.js → p-B6HiV-kQ.js} +3 -3
- package/dist/components/{p-Bb01kTl4.js.map → p-B6HiV-kQ.js.map} +1 -1
- package/dist/components/{p--O1ZEUbW.js → p-B7CuMj9y.js} +6 -6
- package/dist/components/{p--O1ZEUbW.js.map → p-B7CuMj9y.js.map} +1 -1
- package/dist/components/{p-DBulpvHu.js → p-BNblLfcs.js} +24 -32
- package/dist/components/p-BNblLfcs.js.map +1 -0
- package/dist/components/{p-BxtUL608.js → p-BOrhSlbo.js} +6 -6
- package/dist/components/p-BOrhSlbo.js.map +1 -0
- package/dist/components/{p-Cr7gI0aa.js → p-Bj6H7JrX.js} +4 -4
- package/dist/components/{p-Cr7gI0aa.js.map → p-Bj6H7JrX.js.map} +1 -1
- package/dist/components/{p-CAzwNTwH.js → p-Bo_qpOg-.js} +5 -5
- package/dist/components/{p-CAzwNTwH.js.map → p-Bo_qpOg-.js.map} +1 -1
- package/dist/components/{p-Db2KItIV.js → p-BrKDVlCP.js} +10 -4
- package/dist/components/p-BrKDVlCP.js.map +1 -0
- package/dist/components/{p-C0an_Y-_.js → p-C-YLmbpA.js} +4 -4
- package/dist/components/{p-C0an_Y-_.js.map → p-C-YLmbpA.js.map} +1 -1
- package/dist/components/{p-D3TCeN-_.js → p-C-hvo0Uo.js} +17 -15
- package/dist/components/p-C-hvo0Uo.js.map +1 -0
- package/dist/components/{p-DKZZLjoB.js → p-C0MuZqgR.js} +4 -4
- package/dist/components/{p-DKZZLjoB.js.map → p-C0MuZqgR.js.map} +1 -1
- package/dist/components/{p-Dhuf9YNy.js → p-C2YAe0Ke.js} +3 -3
- package/dist/components/{p-Dhuf9YNy.js.map → p-C2YAe0Ke.js.map} +1 -1
- package/dist/components/{p-Bfvlw-rF.js → p-C7MtMQaw.js} +3 -3
- package/dist/components/{p-Bfvlw-rF.js.map → p-C7MtMQaw.js.map} +1 -1
- package/dist/components/p-C7n7EjKD.js +61 -0
- package/dist/components/{p-V8jogkYH.js.map → p-C7n7EjKD.js.map} +1 -1
- package/dist/components/{p-BLIkH1Mo.js → p-C9OqpwzA.js} +49 -63
- package/dist/components/p-C9OqpwzA.js.map +1 -0
- package/dist/components/{p-Ca9LbW-0.js → p-CB09ePCJ.js} +7 -7
- package/dist/components/{p-Ca9LbW-0.js.map → p-CB09ePCJ.js.map} +1 -1
- package/dist/components/{p-DVnAr27s.js → p-CBGDhDhT.js} +6 -6
- package/dist/components/{p-DVnAr27s.js.map → p-CBGDhDhT.js.map} +1 -1
- package/dist/components/{p-BEYgWj6b.js → p-CDPdfHLJ.js} +3 -3
- package/dist/components/{p-BEYgWj6b.js.map → p-CDPdfHLJ.js.map} +1 -1
- package/dist/components/{p-CQYTqV0b.js → p-CH39HrFZ.js} +7 -7
- package/dist/components/{p-CQYTqV0b.js.map → p-CH39HrFZ.js.map} +1 -1
- package/dist/components/{p-a8Ave0b1.js → p-CZRPZKJ-.js} +11 -6
- package/dist/components/p-CZRPZKJ-.js.map +1 -0
- package/dist/components/{p-D5PoL4hp.js → p-CbjDD_ZV.js} +4 -4
- package/dist/components/{p-D5PoL4hp.js.map → p-CbjDD_ZV.js.map} +1 -1
- package/dist/components/{p-DeqB7qmW.js → p-CbwYwjdH.js} +3 -3
- package/dist/components/{p-DeqB7qmW.js.map → p-CbwYwjdH.js.map} +1 -1
- package/dist/components/{p-xDz70z-M.js → p-CeHDqun7.js} +5 -5
- package/dist/components/{p-xDz70z-M.js.map → p-CeHDqun7.js.map} +1 -1
- package/dist/components/{p-C6_QUEmP.js → p-CgTZtTmT.js} +25 -25
- package/dist/components/p-CgTZtTmT.js.map +1 -0
- package/dist/components/{p-lh6oIsdX.js → p-CjdpcyF4.js} +15 -15
- package/dist/components/{p-lh6oIsdX.js.map → p-CjdpcyF4.js.map} +1 -1
- package/dist/components/{p-CaKYRiqR.js → p-CtIwL686.js} +4 -4
- package/dist/components/{p-CaKYRiqR.js.map → p-CtIwL686.js.map} +1 -1
- package/dist/components/{p-fbMxRrBR.js → p-Cw5rK8nZ.js} +6 -6
- package/dist/components/{p-fbMxRrBR.js.map → p-Cw5rK8nZ.js.map} +1 -1
- package/dist/components/{p-Cl7hIV7X.js → p-Cy-sLMQG.js} +6 -6
- package/dist/components/{p-Cl7hIV7X.js.map → p-Cy-sLMQG.js.map} +1 -1
- package/dist/components/{p-Bz_ZwZP1.js → p-D-3sn9sH.js} +9 -8
- package/dist/components/p-D-3sn9sH.js.map +1 -0
- package/dist/components/{p-BVEUC5lT.js → p-D-75lLYc.js} +9 -7
- package/dist/components/p-D-75lLYc.js.map +1 -0
- package/dist/components/{p-BsAFeM-5.js → p-DCmuKByr.js} +12 -12
- package/dist/components/{p-BsAFeM-5.js.map → p-DCmuKByr.js.map} +1 -1
- package/dist/components/{p-DozNuTlX.js → p-DG0KCn3k.js} +45 -28
- package/dist/components/p-DG0KCn3k.js.map +1 -0
- package/dist/components/{p-DI7kfodM.js → p-DGC5KYEl.js} +19 -19
- package/dist/components/{p-DI7kfodM.js.map → p-DGC5KYEl.js.map} +1 -1
- package/dist/components/{p-D4jpzhhj.js → p-DHM0YbIt.js} +6 -6
- package/dist/components/{p-D4jpzhhj.js.map → p-DHM0YbIt.js.map} +1 -1
- package/dist/components/{p-C0WNBAqe.js → p-DRC94y7I.js} +5 -5
- package/dist/components/{p-C0WNBAqe.js.map → p-DRC94y7I.js.map} +1 -1
- package/dist/components/p-Dnb_md64.js +140 -0
- package/dist/components/p-Dnb_md64.js.map +1 -0
- package/dist/components/{p-Bi4p_UFq.js → p-Dv5lS2bl.js} +10 -10
- package/dist/components/{p-Bi4p_UFq.js.map → p-Dv5lS2bl.js.map} +1 -1
- package/dist/components/{p-DKrfS1S5.js → p-DwRMNFnU.js} +3 -3
- package/dist/components/{p-DKrfS1S5.js.map → p-DwRMNFnU.js.map} +1 -1
- package/dist/components/{p-DTALiLAZ.js → p-My1l3OBd.js} +4 -4
- package/dist/components/{p-DTALiLAZ.js.map → p-My1l3OBd.js.map} +1 -1
- package/dist/components/{p-Khnj_GHE.js → p-PLHiwThd.js} +3 -3
- package/dist/components/{p-Khnj_GHE.js.map → p-PLHiwThd.js.map} +1 -1
- package/dist/components/{p-BPSZx5dO.js → p-UWiH2uHw.js} +46 -3
- package/dist/components/p-UWiH2uHw.js.map +1 -0
- package/dist/components/{p-B8KaZkC1.js → p-XunATCgp.js} +13 -13
- package/dist/components/{p-B8KaZkC1.js.map → p-XunATCgp.js.map} +1 -1
- package/dist/components/{p-BvfI15a9.js → p-av8MQL9x.js} +8 -8
- package/dist/components/{p-BvfI15a9.js.map → p-av8MQL9x.js.map} +1 -1
- package/dist/components/{p-DagQghge.js → p-drInZwO0.js} +7 -7
- package/dist/components/{p-DagQghge.js.map → p-drInZwO0.js.map} +1 -1
- package/dist/components/{p-C2y4A6PK.js → p-htsjbc2A.js} +5 -5
- package/dist/components/{p-C2y4A6PK.js.map → p-htsjbc2A.js.map} +1 -1
- package/dist/components/{p-VAINz5I8.js → p-kbTcbS6Y.js} +29 -29
- package/dist/components/{p-VAINz5I8.js.map → p-kbTcbS6Y.js.map} +1 -1
- package/dist/components/{p-COEdIJkP.js → p-l6ffmvGW.js} +5 -5
- package/dist/components/{p-COEdIJkP.js.map → p-l6ffmvGW.js.map} +1 -1
- package/dist/components/{p-D1eldCje.js → p-m4eaolum.js} +4 -4
- package/dist/components/{p-D1eldCje.js.map → p-m4eaolum.js.map} +1 -1
- package/dist/components/p-mVYojO3m.js +161 -0
- package/dist/components/{p-DkAZFStQ.js.map → p-mVYojO3m.js.map} +1 -1
- package/dist/components/{p-Bfsq37ia.js → p-maYXfa3o.js} +6 -6
- package/dist/components/{p-Bfsq37ia.js.map → p-maYXfa3o.js.map} +1 -1
- package/dist/components/{p-CTSEDIyo.js → p-p3q1OJSb.js} +12 -12
- package/dist/components/{p-CTSEDIyo.js.map → p-p3q1OJSb.js.map} +1 -1
- package/dist/components/{p-BcvqaW9a.js → p-tkW40LmD.js} +9 -9
- package/dist/components/{p-BcvqaW9a.js.map → p-tkW40LmD.js.map} +1 -1
- package/dist/components/{p-LsQYRhK6.js → p-x8gJGTdZ.js} +3 -3
- package/dist/components/p-x8gJGTdZ.js.map +1 -0
- 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 +13 -13
- package/dist/components/quick-message-button-content.js +1 -1
- package/dist/components/quick-message-file.js +1 -1
- package/dist/components/quick-message-image-content.js +1 -1
- package/dist/components/quick-message-image.js +1 -1
- package/dist/components/quick-message-menu-list-content.js +1 -1
- package/dist/components/quick-message-modal.js +1 -1
- package/dist/components/quick-message-template.js +1 -1
- package/dist/components/quick-message-text-content.js +1 -1
- package/dist/components/quick-message-video-content.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/app-globals-DQuL1Twl.js.map +1 -1
- package/dist/esm/autocomplete-address_43.entry.js +269 -163
- package/dist/esm/{dayjs-9U43dXkE.js → dayjs-CBRfzh5w.js} +4 -4
- package/dist/esm/dayjs-CBRfzh5w.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/quick-message-app.entry.js +3 -3
- package/dist/esm/zignal-stencil-library.js +1 -1
- package/dist/types/components/menu-list/menu-list.d.ts +3 -2
- package/dist/types/components/profile-history/profile-history.d.ts +1 -0
- package/dist/types/components/profile-info/profile-info.d.ts +2 -2
- package/dist/types/components/profile-info/user-info-section.d.ts +2 -0
- package/dist/types/components/z-avatar/z-avatar.d.ts +1 -1
- package/dist/types/components.d.ts +12 -2
- package/dist/types/store/store.d.ts +1 -1
- package/dist/zignal-stencil-library/{p-605cf9fb.entry.js → p-4976f186.entry.js} +2 -2
- package/dist/zignal-stencil-library/p-CZlSuaCa.js +2 -0
- package/dist/zignal-stencil-library/p-CZlSuaCa.js.map +1 -0
- package/dist/zignal-stencil-library/p-DQuL1Twl.js.map +1 -1
- package/dist/zignal-stencil-library/{p-d9b292e2.entry.js → p-c349823b.entry.js} +64 -64
- package/dist/zignal-stencil-library/p-c349823b.entry.js.map +1 -0
- package/dist/zignal-stencil-library/zignal-stencil-library.css +1 -1
- package/dist/zignal-stencil-library/zignal-stencil-library.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/dayjs-Dssqvl2P.js.map +0 -1
- package/dist/components/p-BAcE386V.js.map +0 -1
- package/dist/components/p-BLIkH1Mo.js.map +0 -1
- package/dist/components/p-BPSZx5dO.js.map +0 -1
- package/dist/components/p-BVEUC5lT.js.map +0 -1
- package/dist/components/p-BxtUL608.js.map +0 -1
- package/dist/components/p-Bz_ZwZP1.js.map +0 -1
- package/dist/components/p-C6_QUEmP.js.map +0 -1
- package/dist/components/p-D3TCeN-_.js.map +0 -1
- package/dist/components/p-DBulpvHu.js.map +0 -1
- package/dist/components/p-DE1veeiP.js +0 -116
- package/dist/components/p-DE1veeiP.js.map +0 -1
- package/dist/components/p-Db2KItIV.js.map +0 -1
- package/dist/components/p-DkAZFStQ.js +0 -161
- package/dist/components/p-DozNuTlX.js.map +0 -1
- package/dist/components/p-LsQYRhK6.js.map +0 -1
- package/dist/components/p-V8jogkYH.js +0 -61
- package/dist/components/p-a8Ave0b1.js.map +0 -1
- package/dist/esm/dayjs-9U43dXkE.js.map +0 -1
- package/dist/zignal-stencil-library/p-DO7BhE7i.js +0 -2
- package/dist/zignal-stencil-library/p-DO7BhE7i.js.map +0 -1
- package/dist/zignal-stencil-library/p-d9b292e2.entry.js.map +0 -1
- /package/dist/zignal-stencil-library/{p-605cf9fb.entry.js.map → p-4976f186.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-info.js","sourceRoot":"","sources":["../../../src/components/profile-info/profile-info.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, State, h } from '@stencil/core';\nimport { configStore, selectedChatStore, statusesStore, userStore } from '../../store/store';\nimport { /*createUserContext,*/ createUserStatus, createUserTag, getUser, mergeUser, syncUser, 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';\nimport { ZIconButton } from '../internal-component/z-icon-button';\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 @State() isSyncUserLoading = false;\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 handleSyncUser = async () => {\n try {\n this.isSyncUserLoading = true;\n const id = user.id;\n const channel = selectedChat.channel;\n const response = await syncUser({ channel, id });\n\n if (response.code === 'user-synced') {\n const type = selectedChat.type === 'group' ? 'group' : 'user';\n await this.loadUser({ type, channel, id, sessionId: selectedChat.id });\n }\n } catch (error) {\n handleError(error, 'Failed to SyncUser');\n } finally {\n this.isSyncUserLoading = 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 relative\">\n {selectedChat.type === 'user' &&\n <div class=\"profile-info-refresh-user-button\">\n <ZIconButton\n variant=\"text\"\n iconName=\"RotateCw\"\n addClassIcon=\"size-4\"\n isLoading={this.isSyncUserLoading}\n onClick={() => handleSyncUser()}\n />\n </div>\n }\n\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"]}
|
|
1
|
+
{"version":3,"file":"profile-info.js","sourceRoot":"","sources":["../../../src/components/profile-info/profile-info.tsx"],"names":[],"mappings":"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","sourcesContent":["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, MatchUserItem, 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() matchUsers: MatchUserItem[] = [];\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 }:\n {\n type?: \"user\" | \"group\"\n channel: ChannelType\n id: string\n sessionId?: string\n }\n ) {\n try {\n this.isLoading = true;\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 this.matchUsers = user.match_users;\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 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.tempUser = zignalUser;\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', 'nickname'].includes(field);\n };\n\n const handleUpdateUser = async (field: string, value: string | string[]) => {\n try {\n this.isLoading = true;\n const updateValue = isAllowEmpty(field) ? (value ? value : null) : value\n const updateObject = { [field]: field === 'nickname' && updateValue === null ? '' : updateValue };\n const userResponse = await updateUser({\n type,\n channel: user.channel,\n id: user.id,\n ...updateObject,\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 : updateObject),\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 <= this.matchUsers.length - 1) {\n this.mergeIndex = prevIndex;\n }\n };\n\n const handleNextMergeUser = () => {\n const nextIndex = this.mergeIndex + 1;\n if (nextIndex <= this.matchUsers.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: this.matchUsers[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 (this.matchUsers.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 (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 onSyncUser={() => {\n const type = selectedChat.type === 'group' ? 'group' : 'user';\n this.loadUser({\n type,\n channel: selectedChat.channel,\n id: _user.id,\n sessionId: selectedChat.id\n })\n }}\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 relative\">\n {this.matchUsers && this.matchUsers.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={this.matchUsers[0].user.picture_url} />\n <img\n src={`https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/${this.matchUsers[0].channel}.png`}\n alt=\"agent avatar\"\n class=\"profile-info-avatar absolute -bottom-0.5 -right-0.5\"\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"]}
|
|
@@ -7,6 +7,8 @@ import { ZButton } from "../internal-component/z-button";
|
|
|
7
7
|
import { Icon } from "../internal-component/icon";
|
|
8
8
|
import { getChatPicture, handleGetUserStatuses } from "../../store/chat";
|
|
9
9
|
import { configStore, selectedChatStore } from "../../store/store";
|
|
10
|
+
import { syncUser } from "../../api";
|
|
11
|
+
import { handleError } from "../../store/dialog";
|
|
10
12
|
export class UserInfoSection {
|
|
11
13
|
user;
|
|
12
14
|
readOnly = false;
|
|
@@ -20,7 +22,9 @@ export class UserInfoSection {
|
|
|
20
22
|
statusSelecting;
|
|
21
23
|
createUserStatusRequest;
|
|
22
24
|
createBill;
|
|
25
|
+
syncUser;
|
|
23
26
|
showDialogBill = false;
|
|
27
|
+
isSyncUserLoading = false;
|
|
24
28
|
render() {
|
|
25
29
|
const t = useTranslation();
|
|
26
30
|
const theme = configStore.get('theme');
|
|
@@ -35,10 +39,28 @@ export class UserInfoSection {
|
|
|
35
39
|
this.createBill.emit(value);
|
|
36
40
|
this.showDialogBill = false;
|
|
37
41
|
};
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
const handleSyncUser = async () => {
|
|
43
|
+
try {
|
|
44
|
+
this.isSyncUserLoading = true;
|
|
45
|
+
const id = this.user.id;
|
|
46
|
+
const channel = selectedChat.channel;
|
|
47
|
+
const response = await syncUser({ channel, id });
|
|
48
|
+
if (response.code === 'user-synced') {
|
|
49
|
+
this.syncUser.emit();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
handleError(error, 'Failed to SyncUser');
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
this.isSyncUserLoading = false;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return (h("div", { key: '465351fab2673af8d212c7d504184251d8dedcc2', class: `profile-info-user-wrapper profile-info-section-wrapper z-border-divider-${theme}` }, selectedChat.type === 'user' &&
|
|
60
|
+
h("div", { key: '4ed6488aada28e607462b348abdbe31cf6cdb486', class: "profile-info-refresh-user-button" }, h(ZIconButton, { key: 'e0788aec4a4afa3afb13481c8132a2d242934545', variant: "text", iconName: "RotateCw", addClassIcon: "size-4", isLoading: this.isSyncUserLoading, onClick: () => handleSyncUser() })), h("div", { key: '584c3f8dabf8b78fb974f2674932f797ea9c3b6e', class: "profile-info-avatar-wrapper" }, h("div", { key: 'dd160b2eb65e99adb6994e0631d0306005bf22de', class: "profile-info-avatar-box" }, h("z-avatar", { key: '61348b52ff93503b103d87b517a77a5f39b70b05', pictureUrl: getChatPicture(selectedChat) }), selectedChat.type === 'group' &&
|
|
61
|
+
h("div", { key: 'a43e20416e540db3a824f6787ad9f3f183b14aa7', class: "profile-info-avatar-badge" }, h("z-avatar", { key: 'db274ad40603c1e0a558f289382f633ef377c392', size: "x-small" })))), h("div", { key: '730bcb6f7ba5039552ec5bba8d85f9f78ecab7fb', class: "profile-info-name-wrapper" }, h("span", { key: 'b46515765f5f1d8c3e2c0df5bf2056caf3e70232', class: `text-base z-text-${theme}` }, this.user.name), h("div", { key: '1b110bacd94cd1c4e3b57e4d9947f8fe7525c669', class: "profile-info-box-wrapper" }, h("span", { key: 'b8d9d78b1427cf1fbc8959b8ee6a07d31d36032e', class: `profile-info-nickname z-text-${theme}` }, this.user.nickname || '-'), !this.readOnly && (h(ZIconButton, { key: 'e6c1a249a7ffe95f38a8f36c394f6452f4244019', variant: "text", iconName: "Pencil", addClassIcon: "size-4", onClick: () => this.openDialogEditor.emit({ label: 'Nickname', field: 'nickname', value: this.user.nickname }) }))), this.isEditStatus ? (h("div", { class: "profile-info-box-wrapper" }, this.user.status && this.user.status?.id === this.statusId ? (h(ZTagOrStatusItem, { item: this.user.status, onDelete: () => this.removeStatus.emit() })) : (h("autocomplete-select", { value: this.user.status?.id === this.statusId ? this.user.status?.name : '', fetchItems: handleGetUserStatuses, createItem: name => new Promise(resolve => {
|
|
40
62
|
this.createUserStatusRequest.emit({ name, callback: resolve });
|
|
41
|
-
}), onSelecting: item => this.statusSelecting.emit(item.detail.id), referenceSelector: "profile-status" })), h(ZIconButton, { variant: "text", iconName: "X", addClassIcon: "size-4", onClick: () => this.closeStatus.emit() }), h(ZIconButton, { variant: "text", iconName: "Save", addClassIcon: "size-4", onClick: () => this.saveUserStatus.emit() }))) : (h("div", { class: "profile-info-box-wrapper" }, h("span", { class: `text-sm z-text-${theme}` }, t('status'), "\u00A0:\u00A0", this.user.status ? (h("tag-or-status-item", { item: this.user.status, chatId: `profile-status-${selectedChat.id}-${this.readOnly ? 'readonly' : ''}` })) : ('-')), !this.readOnly && h(ZIconButton, { variant: "text", iconName: "Pencil", addClassIcon: "size-4", onClick: () => this.editStatus.emit() })))), this.user.summarized_message && (h("div", { key: '
|
|
63
|
+
}), onSelecting: item => this.statusSelecting.emit(item.detail.id), referenceSelector: "profile-status" })), h(ZIconButton, { variant: "text", iconName: "X", addClassIcon: "size-4", onClick: () => this.closeStatus.emit() }), h(ZIconButton, { variant: "text", iconName: "Save", addClassIcon: "size-4", onClick: () => this.saveUserStatus.emit() }))) : (h("div", { class: "profile-info-box-wrapper" }, h("span", { class: `text-sm z-text-${theme}` }, t('status'), "\u00A0:\u00A0", this.user.status ? (h("tag-or-status-item", { item: this.user.status, chatId: `profile-status-${selectedChat.id}-${this.readOnly ? 'readonly' : ''}` })) : ('-')), !this.readOnly && h(ZIconButton, { variant: "text", iconName: "Pencil", addClassIcon: "size-4", onClick: () => this.editStatus.emit() })))), this.user.summarized_message && (h("div", { key: 'dcc9f4e9a31c44e4144e0c7b26e689f0c72bbd87', class: "col-span-3" }, h("div", { key: '5a53cfa47d21911f31515bb2985f74770cd359d7', class: "profile-info-summarize-wrapper" }, h("span", { key: '648ed675e45590bcff7c26e3708317e92c56fe57', class: `profile-info-box-wrapper z-text-${theme}` }, t('profile_tab.ai_summary'), h("svg", { key: '23673efd6b257b2a529dd6e4334fd797d64090a7', xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, h("path", { key: '871f151e9ba4c873a35857ed965444be15e6cf79', d: "M4.55306 2.724C4.85206 1.849 6.06106 1.8225 6.41556 2.6445L6.44556 2.7245L6.84906 3.9045C6.94154 4.17512 7.09097 4.42276 7.28728 4.63071C7.48359 4.83867 7.72222 5.00211 7.98706 5.11L8.09556 5.1505L9.27556 5.5535C10.1506 5.8525 10.1771 7.0615 9.35556 7.416L9.27556 7.446L8.09556 7.8495C7.82485 7.94191 7.57712 8.09131 7.36907 8.28763C7.16103 8.48394 6.99751 8.7226 6.88956 8.9875L6.84906 9.0955L6.44606 10.276C6.14706 11.151 4.93806 11.1775 4.58406 10.356L4.55306 10.276L4.15006 9.096C4.05765 8.82529 3.90825 8.57755 3.71193 8.36951C3.51562 8.16146 3.27696 7.99795 3.01206 7.89L2.90406 7.8495L1.72406 7.4465C0.848564 7.1475 0.822064 5.9385 1.64406 5.5845L1.72406 5.5535L2.90406 5.1505C3.17468 5.05803 3.42232 4.9086 3.63028 4.71229C3.83823 4.51597 4.00167 4.27735 4.10956 4.0125L4.15006 3.9045L4.55306 2.724ZM9.49956 1C9.5931 1 9.68477 1.02624 9.76414 1.07574C9.84351 1.12523 9.90741 1.196 9.94856 1.28L9.97256 1.3385L10.1476 1.8515L10.6611 2.0265C10.7548 2.05835 10.837 2.11731 10.8972 2.19591C10.9574 2.27451 10.9929 2.36921 10.9992 2.46801C11.0055 2.56681 10.9824 2.65527 10.9327 2.75089C10.883 2.83652 10.809 2.90547 10.7201 2.949L10.6611 2.973L10.1481 3.148L9.97306 3.6615C9.94116 3.75521 9.88216 3.83735 9.80353 3.8975C9.7249 3.95764 9.63018 3.9931 9.53138 3.99936C9.43259 4.00563 9.33415 3.98242 9.24856 3.93269C9.16296 3.88296 9.09405 3.80893 9.05056 3.72L9.02656 3.6615L8.85156 3.1485L8.33806 2.9735C8.24432 2.94165 8.16215 2.88269 8.10195 2.80409C8.04175 2.72549 8.00624 2.63079 7.99993 2.53199C7.99361 2.43319 8.01676 2.33473 8.06645 2.24911C8.11615 2.16348 8.19014 2.09453 8.27906 2.051L8.33806 2.027L8.85106 1.852L9.02606 1.3385C9.05978 1.23971 9.12357 1.15395 9.20848 1.09325C9.2934 1.03254 9.39518 0.999937 9.49956 1Z", fill: "#E02847" }))), h("span", { key: '7a81d1815372d095cda19987a6bc0dc10ddaac03', class: `text-xs z-text-gray-${theme}` }, t('profile_tab.last_update'), " ", displayDate(this.user.summarized_message.created_at))), h("div", { key: 'bade75bc23fdbf0e6757fef3867977051830ed80', class: "profile-info-summarize-text" }, h("typography-clamp", { key: '698fb9ea3ee15fdc5cba9c4916a80c0da3faeb89', text: this.user.summarized_message.text })))), (configStore.get('connectionList').find((connection) => connection.id === selectedChat.connection.id)?.type === 'zwiz') && (h("div", { key: 'b2d3393ad1d0fad9244eb1bcb92b95dcc766208e', class: "profile-info-bill" }, h(ZButton, { key: '7b846e4d99b741199037db486af0e68d56efd679', label: "\u0E40\u0E1B\u0E34\u0E14\u0E1A\u0E34\u0E25", title: "\u0E40\u0E1B\u0E34\u0E14\u0E1A\u0E34\u0E25", startIcon: h(Icon, { name: "ShoppingCart", addClass: "size-5 fill-current" }), endIcon: h(Icon, { name: "Triangle", addClass: "profile-info-bill-icon" }), onClick: () => handleOpenDialogBillEditor() }))), this.showDialogBill && (h("div", { key: 'e993e5f28b332292b0bc6e09f0ef7a707d5c4995', class: "dialog-backdrop" }, h("dialog-bill-editor", { key: '8c1b35452febb10a1d179face955c65184540948', onCancel: handleCloseDialogBillEditor, onCreate: (event) => handleCreateDialogBillEditor(event?.detail) })))));
|
|
42
64
|
}
|
|
43
65
|
static get is() { return "user-info-section"; }
|
|
44
66
|
static get originalStyleUrls() {
|
|
@@ -138,7 +160,8 @@ export class UserInfoSection {
|
|
|
138
160
|
}
|
|
139
161
|
static get states() {
|
|
140
162
|
return {
|
|
141
|
-
"showDialogBill": {}
|
|
163
|
+
"showDialogBill": {},
|
|
164
|
+
"isSyncUserLoading": {}
|
|
142
165
|
};
|
|
143
166
|
}
|
|
144
167
|
static get events() {
|
|
@@ -274,6 +297,21 @@ export class UserInfoSection {
|
|
|
274
297
|
}
|
|
275
298
|
}
|
|
276
299
|
}
|
|
300
|
+
}, {
|
|
301
|
+
"method": "syncUser",
|
|
302
|
+
"name": "syncUser",
|
|
303
|
+
"bubbles": true,
|
|
304
|
+
"cancelable": true,
|
|
305
|
+
"composed": true,
|
|
306
|
+
"docs": {
|
|
307
|
+
"tags": [],
|
|
308
|
+
"text": ""
|
|
309
|
+
},
|
|
310
|
+
"complexType": {
|
|
311
|
+
"original": "void",
|
|
312
|
+
"resolved": "void",
|
|
313
|
+
"references": {}
|
|
314
|
+
}
|
|
277
315
|
}];
|
|
278
316
|
}
|
|
279
317
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-info-section.js","sourceRoot":"","sources":["../../../src/components/profile-info/user-info-section.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h, Event, EventEmitter } from '@stencil/core';\nimport { BillingItem, UserItem, TTagOrStatusItem } from '../../store/type';\nimport { displayDate } from '../../utils/dayjs';\nimport { useTranslation } from '../../utils/utils';\nimport { ZIconButton } from '../internal-component/z-icon-button';\nimport { ZTagOrStatusItem } from '../internal-component/z-tag-or-status-item';\nimport { ZButton } from '../internal-component/z-button';\nimport { Icon } from '../internal-component/icon';\nimport { getChatPicture, handleGetUserStatuses } from '../../store/chat';\nimport { configStore, selectedChatStore } from '../../store/store';\n\n@Component({\n tag: 'user-info-section',\n styleUrl: 'profile-info.css',\n})\nexport class UserInfoSection {\n @Prop() user: UserItem;\n @Prop() readOnly?: boolean = false;\n @Prop() isEditStatus: boolean;\n @Prop() statusId?: string;\n\n @Event() openDialogEditor: EventEmitter<{ label: string; field: string; value: string }>;\n @Event() editStatus: EventEmitter<void>;\n @Event() closeStatus: EventEmitter<void>;\n @Event() removeStatus: EventEmitter<void>;\n @Event() saveUserStatus: EventEmitter<void>;\n @Event() statusSelecting: EventEmitter<string>;\n @Event() createUserStatusRequest: EventEmitter<{ name: string; callback: (value: TTagOrStatusItem) => void }>;\n @Event() createBill: EventEmitter<BillingItem>;\n\n @State() showDialogBill: boolean = false;\n\n render() {\n const t = useTranslation();\n const theme = configStore.get('theme');\n const selectedChat = selectedChatStore.get('selectedChat');\n\n const handleOpenDialogBillEditor = () => {\n this.showDialogBill = true;\n };\n\n const handleCloseDialogBillEditor = () => {\n this.showDialogBill = false;\n };\n\n const handleCreateDialogBillEditor = (value: BillingItem) => {\n this.createBill.emit(value);\n this.showDialogBill = false;\n };\n\n return (\n <div class={`profile-info-user-wrapper profile-info-section-wrapper z-border-divider-${theme}`}>\n <div class=\"profile-info-avatar-wrapper\">\n <div class=\"profile-info-avatar-box\">\n <z-avatar pictureUrl={getChatPicture(selectedChat)} />\n {selectedChat.type === 'group' &&\n <div class=\"profile-info-avatar-badge\">\n <z-avatar size=\"x-small\" />\n </div>\n }\n </div>\n </div>\n <div class=\"profile-info-name-wrapper\">\n <span class={`text-base z-text-${theme}`}>{this.user.name}</span>\n <div class=\"profile-info-box-wrapper\">\n <span class={`profile-info-nickname z-text-${theme}`}>{this.user.nickname}</span>\n {!this.readOnly && (\n <ZIconButton\n variant=\"text\"\n iconName=\"Pencil\"\n addClassIcon=\"size-4\"\n onClick={() => this.openDialogEditor.emit({ label: 'Nickname', field: 'nickname', value: this.user.nickname })}\n />\n )}\n </div>\n {this.isEditStatus ? (\n <div class=\"profile-info-box-wrapper\">\n {this.user.status && this.user.status?.id === this.statusId ? (\n <ZTagOrStatusItem item={this.user.status} onDelete={() => this.removeStatus.emit()} />\n ) : (\n <autocomplete-select\n value={this.user.status?.id === this.statusId ? this.user.status?.name : ''}\n fetchItems={handleGetUserStatuses}\n createItem={name => new Promise<TTagOrStatusItem>(resolve => {\n this.createUserStatusRequest.emit({ name, callback: resolve });\n })}\n onSelecting={item => this.statusSelecting.emit(item.detail.id)}\n referenceSelector=\"profile-status\"\n />\n )}\n <ZIconButton variant=\"text\" iconName=\"X\" addClassIcon=\"size-4\" onClick={() => this.closeStatus.emit()} />\n <ZIconButton variant=\"text\" iconName=\"Save\" addClassIcon=\"size-4\" onClick={() => this.saveUserStatus.emit()} />\n </div>\n ) : (\n <div class=\"profile-info-box-wrapper\">\n <span class={`text-sm z-text-${theme}`}>\n {t('status')} : \n {this.user.status ? (\n <tag-or-status-item item={this.user.status} chatId={`profile-status-${selectedChat.id}-${this.readOnly ? 'readonly' : ''}`} />\n ) : (\n '-'\n )}\n </span>\n {!this.readOnly && <ZIconButton variant=\"text\" iconName=\"Pencil\" addClassIcon=\"size-4\" onClick={() => this.editStatus.emit()} />}\n </div>\n )}\n </div>\n\n {this.user.summarized_message && (\n <div class=\"col-span-3\">\n <div class=\"profile-info-summarize-wrapper\">\n <span class={`profile-info-box-wrapper z-text-${theme}`}>\n {t('profile_tab.ai_summary')}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path\n d=\"M4.55306 2.724C4.85206 1.849 6.06106 1.8225 6.41556 2.6445L6.44556 2.7245L6.84906 3.9045C6.94154 4.17512 7.09097 4.42276 7.28728 4.63071C7.48359 4.83867 7.72222 5.00211 7.98706 5.11L8.09556 5.1505L9.27556 5.5535C10.1506 5.8525 10.1771 7.0615 9.35556 7.416L9.27556 7.446L8.09556 7.8495C7.82485 7.94191 7.57712 8.09131 7.36907 8.28763C7.16103 8.48394 6.99751 8.7226 6.88956 8.9875L6.84906 9.0955L6.44606 10.276C6.14706 11.151 4.93806 11.1775 4.58406 10.356L4.55306 10.276L4.15006 9.096C4.05765 8.82529 3.90825 8.57755 3.71193 8.36951C3.51562 8.16146 3.27696 7.99795 3.01206 7.89L2.90406 7.8495L1.72406 7.4465C0.848564 7.1475 0.822064 5.9385 1.64406 5.5845L1.72406 5.5535L2.90406 5.1505C3.17468 5.05803 3.42232 4.9086 3.63028 4.71229C3.83823 4.51597 4.00167 4.27735 4.10956 4.0125L4.15006 3.9045L4.55306 2.724ZM9.49956 1C9.5931 1 9.68477 1.02624 9.76414 1.07574C9.84351 1.12523 9.90741 1.196 9.94856 1.28L9.97256 1.3385L10.1476 1.8515L10.6611 2.0265C10.7548 2.05835 10.837 2.11731 10.8972 2.19591C10.9574 2.27451 10.9929 2.36921 10.9992 2.46801C11.0055 2.56681 10.9824 2.65527 10.9327 2.75089C10.883 2.83652 10.809 2.90547 10.7201 2.949L10.6611 2.973L10.1481 3.148L9.97306 3.6615C9.94116 3.75521 9.88216 3.83735 9.80353 3.8975C9.7249 3.95764 9.63018 3.9931 9.53138 3.99936C9.43259 4.00563 9.33415 3.98242 9.24856 3.93269C9.16296 3.88296 9.09405 3.80893 9.05056 3.72L9.02656 3.6615L8.85156 3.1485L8.33806 2.9735C8.24432 2.94165 8.16215 2.88269 8.10195 2.80409C8.04175 2.72549 8.00624 2.63079 7.99993 2.53199C7.99361 2.43319 8.01676 2.33473 8.06645 2.24911C8.11615 2.16348 8.19014 2.09453 8.27906 2.051L8.33806 2.027L8.85106 1.852L9.02606 1.3385C9.05978 1.23971 9.12357 1.15395 9.20848 1.09325C9.2934 1.03254 9.39518 0.999937 9.49956 1Z\"\n fill=\"#E02847\"\n />\n </svg>\n </span>\n <span class={`text-xs z-text-gray-${theme}`}>\n {t('profile_tab.last_update')} {displayDate(this.user.summarized_message.created_at)}\n </span>\n </div>\n <div class=\"profile-info-summarize-text\">\n <typography-clamp text={this.user.summarized_message.text} />\n </div>\n </div>\n )}\n\n {(configStore.get('connectionList').find((connection) => connection.id === selectedChat.connection.id)?.type === 'zwiz') && (\n <div class=\"profile-info-bill\">\n <ZButton\n label=\"เปิดบิล\"\n title=\"เปิดบิล\"\n startIcon={<Icon name=\"ShoppingCart\" addClass=\"size-5 fill-current\" />}\n endIcon={<Icon name=\"Triangle\" addClass=\"profile-info-bill-icon\" />}\n onClick={() => handleOpenDialogBillEditor()}\n />\n </div>\n )}\n\n {this.showDialogBill && (\n <div class=\"dialog-backdrop\">\n <dialog-bill-editor onCancel={handleCloseDialogBillEditor} onCreate={(event) => handleCreateDialogBillEditor(event?.detail)} />\n </div>\n )}\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"user-info-section.js","sourceRoot":"","sources":["../../../src/components/profile-info/user-info-section.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h, Event, EventEmitter } from '@stencil/core';\nimport { BillingItem, UserItem, TTagOrStatusItem } from '../../store/type';\nimport { displayDate } from '../../utils/dayjs';\nimport { useTranslation } from '../../utils/utils';\nimport { ZIconButton } from '../internal-component/z-icon-button';\nimport { ZTagOrStatusItem } from '../internal-component/z-tag-or-status-item';\nimport { ZButton } from '../internal-component/z-button';\nimport { Icon } from '../internal-component/icon';\nimport { getChatPicture, handleGetUserStatuses } from '../../store/chat';\nimport { configStore, selectedChatStore } from '../../store/store';\nimport { syncUser } from '../../api';\nimport { handleError } from '../../store/dialog';\n\n@Component({\n tag: 'user-info-section',\n styleUrl: 'profile-info.css',\n})\nexport class UserInfoSection {\n @Prop() user: UserItem;\n @Prop() readOnly?: boolean = false;\n @Prop() isEditStatus: boolean;\n @Prop() statusId?: string;\n\n @Event() openDialogEditor: EventEmitter<{ label: string; field: string; value: string }>;\n @Event() editStatus: EventEmitter<void>;\n @Event() closeStatus: EventEmitter<void>;\n @Event() removeStatus: EventEmitter<void>;\n @Event() saveUserStatus: EventEmitter<void>;\n @Event() statusSelecting: EventEmitter<string>;\n @Event() createUserStatusRequest: EventEmitter<{ name: string; callback: (value: TTagOrStatusItem) => void }>;\n @Event() createBill: EventEmitter<BillingItem>;\n @Event() syncUser: EventEmitter<void>;\n\n @State() showDialogBill: boolean = false;\n @State() isSyncUserLoading = false;\n\n render() {\n const t = useTranslation();\n const theme = configStore.get('theme');\n const selectedChat = selectedChatStore.get('selectedChat');\n\n const handleOpenDialogBillEditor = () => {\n this.showDialogBill = true;\n };\n\n const handleCloseDialogBillEditor = () => {\n this.showDialogBill = false;\n };\n\n const handleCreateDialogBillEditor = (value: BillingItem) => {\n this.createBill.emit(value);\n this.showDialogBill = false;\n };\n\n const handleSyncUser = async () => {\n try {\n this.isSyncUserLoading = true;\n const id = this.user.id;\n const channel = selectedChat.channel;\n const response = await syncUser({ channel, id });\n\n if (response.code === 'user-synced') {\n this.syncUser.emit();\n }\n } catch (error) {\n handleError(error, 'Failed to SyncUser');\n } finally {\n this.isSyncUserLoading = false;\n }\n };\n\n return (\n <div class={`profile-info-user-wrapper profile-info-section-wrapper z-border-divider-${theme}`}>\n {selectedChat.type === 'user' &&\n <div class=\"profile-info-refresh-user-button\">\n <ZIconButton\n variant=\"text\"\n iconName=\"RotateCw\"\n addClassIcon=\"size-4\"\n isLoading={this.isSyncUserLoading}\n onClick={() => handleSyncUser()}\n />\n </div>\n }\n\n <div class=\"profile-info-avatar-wrapper\">\n <div class=\"profile-info-avatar-box\">\n <z-avatar pictureUrl={getChatPicture(selectedChat)} />\n {selectedChat.type === 'group' &&\n <div class=\"profile-info-avatar-badge\">\n <z-avatar size=\"x-small\" />\n </div>\n }\n </div>\n </div>\n <div class=\"profile-info-name-wrapper\">\n <span class={`text-base z-text-${theme}`}>{this.user.name}</span>\n <div class=\"profile-info-box-wrapper\">\n <span class={`profile-info-nickname z-text-${theme}`}>{this.user.nickname || '-'}</span>\n {!this.readOnly && (\n <ZIconButton\n variant=\"text\"\n iconName=\"Pencil\"\n addClassIcon=\"size-4\"\n onClick={() => this.openDialogEditor.emit({ label: 'Nickname', field: 'nickname', value: this.user.nickname })}\n />\n )}\n </div>\n {this.isEditStatus ? (\n <div class=\"profile-info-box-wrapper\">\n {this.user.status && this.user.status?.id === this.statusId ? (\n <ZTagOrStatusItem item={this.user.status} onDelete={() => this.removeStatus.emit()} />\n ) : (\n <autocomplete-select\n value={this.user.status?.id === this.statusId ? this.user.status?.name : ''}\n fetchItems={handleGetUserStatuses}\n createItem={name => new Promise<TTagOrStatusItem>(resolve => {\n this.createUserStatusRequest.emit({ name, callback: resolve });\n })}\n onSelecting={item => this.statusSelecting.emit(item.detail.id)}\n referenceSelector=\"profile-status\"\n />\n )}\n <ZIconButton variant=\"text\" iconName=\"X\" addClassIcon=\"size-4\" onClick={() => this.closeStatus.emit()} />\n <ZIconButton variant=\"text\" iconName=\"Save\" addClassIcon=\"size-4\" onClick={() => this.saveUserStatus.emit()} />\n </div>\n ) : (\n <div class=\"profile-info-box-wrapper\">\n <span class={`text-sm z-text-${theme}`}>\n {t('status')} : \n {this.user.status ? (\n <tag-or-status-item item={this.user.status} chatId={`profile-status-${selectedChat.id}-${this.readOnly ? 'readonly' : ''}`} />\n ) : (\n '-'\n )}\n </span>\n {!this.readOnly && <ZIconButton variant=\"text\" iconName=\"Pencil\" addClassIcon=\"size-4\" onClick={() => this.editStatus.emit()} />}\n </div>\n )}\n </div>\n\n {this.user.summarized_message && (\n <div class=\"col-span-3\">\n <div class=\"profile-info-summarize-wrapper\">\n <span class={`profile-info-box-wrapper z-text-${theme}`}>\n {t('profile_tab.ai_summary')}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path\n d=\"M4.55306 2.724C4.85206 1.849 6.06106 1.8225 6.41556 2.6445L6.44556 2.7245L6.84906 3.9045C6.94154 4.17512 7.09097 4.42276 7.28728 4.63071C7.48359 4.83867 7.72222 5.00211 7.98706 5.11L8.09556 5.1505L9.27556 5.5535C10.1506 5.8525 10.1771 7.0615 9.35556 7.416L9.27556 7.446L8.09556 7.8495C7.82485 7.94191 7.57712 8.09131 7.36907 8.28763C7.16103 8.48394 6.99751 8.7226 6.88956 8.9875L6.84906 9.0955L6.44606 10.276C6.14706 11.151 4.93806 11.1775 4.58406 10.356L4.55306 10.276L4.15006 9.096C4.05765 8.82529 3.90825 8.57755 3.71193 8.36951C3.51562 8.16146 3.27696 7.99795 3.01206 7.89L2.90406 7.8495L1.72406 7.4465C0.848564 7.1475 0.822064 5.9385 1.64406 5.5845L1.72406 5.5535L2.90406 5.1505C3.17468 5.05803 3.42232 4.9086 3.63028 4.71229C3.83823 4.51597 4.00167 4.27735 4.10956 4.0125L4.15006 3.9045L4.55306 2.724ZM9.49956 1C9.5931 1 9.68477 1.02624 9.76414 1.07574C9.84351 1.12523 9.90741 1.196 9.94856 1.28L9.97256 1.3385L10.1476 1.8515L10.6611 2.0265C10.7548 2.05835 10.837 2.11731 10.8972 2.19591C10.9574 2.27451 10.9929 2.36921 10.9992 2.46801C11.0055 2.56681 10.9824 2.65527 10.9327 2.75089C10.883 2.83652 10.809 2.90547 10.7201 2.949L10.6611 2.973L10.1481 3.148L9.97306 3.6615C9.94116 3.75521 9.88216 3.83735 9.80353 3.8975C9.7249 3.95764 9.63018 3.9931 9.53138 3.99936C9.43259 4.00563 9.33415 3.98242 9.24856 3.93269C9.16296 3.88296 9.09405 3.80893 9.05056 3.72L9.02656 3.6615L8.85156 3.1485L8.33806 2.9735C8.24432 2.94165 8.16215 2.88269 8.10195 2.80409C8.04175 2.72549 8.00624 2.63079 7.99993 2.53199C7.99361 2.43319 8.01676 2.33473 8.06645 2.24911C8.11615 2.16348 8.19014 2.09453 8.27906 2.051L8.33806 2.027L8.85106 1.852L9.02606 1.3385C9.05978 1.23971 9.12357 1.15395 9.20848 1.09325C9.2934 1.03254 9.39518 0.999937 9.49956 1Z\"\n fill=\"#E02847\"\n />\n </svg>\n </span>\n <span class={`text-xs z-text-gray-${theme}`}>\n {t('profile_tab.last_update')} {displayDate(this.user.summarized_message.created_at)}\n </span>\n </div>\n <div class=\"profile-info-summarize-text\">\n <typography-clamp text={this.user.summarized_message.text} />\n </div>\n </div>\n )}\n\n {(configStore.get('connectionList').find((connection) => connection.id === selectedChat.connection.id)?.type === 'zwiz') && (\n <div class=\"profile-info-bill\">\n <ZButton\n label=\"เปิดบิล\"\n title=\"เปิดบิล\"\n startIcon={<Icon name=\"ShoppingCart\" addClass=\"size-5 fill-current\" />}\n endIcon={<Icon name=\"Triangle\" addClass=\"profile-info-bill-icon\" />}\n onClick={() => handleOpenDialogBillEditor()}\n />\n </div>\n )}\n\n {this.showDialogBill && (\n <div class=\"dialog-backdrop\">\n <dialog-bill-editor onCancel={handleCloseDialogBillEditor} onCreate={(event) => handleCreateDialogBillEditor(event?.detail)} />\n </div>\n )}\n </div>\n );\n }\n}\n"]}
|