zignal-stencil-library 1.1.211 → 1.1.213

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.
Files changed (165) hide show
  1. package/dist/cjs/admin-register-popup_54.cjs.entry.js +143 -102
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/quick-message-app.cjs.entry.js +1 -1
  4. package/dist/cjs/quick-message-app.entry.cjs.js.map +1 -1
  5. package/dist/cjs/zignal-stencil-library.cjs.js +1 -1
  6. package/dist/collection/components/autocomplete-address/autocomplete-address.css +1 -1
  7. package/dist/collection/components/autocomplete-multiple-select/autocomplete-multiple-select.css +1 -1
  8. package/dist/collection/components/autocomplete-select/autocomplete-select.css +1 -1
  9. package/dist/collection/components/background-jobs/background-jobs.css +1 -1
  10. package/dist/collection/components/channel-box/channel-box.css +1 -1
  11. package/dist/collection/components/chat-app/chat-app.css +1 -1
  12. package/dist/collection/components/chat-app/chat-app.js +12 -7
  13. package/dist/collection/components/chat-app/chat-app.js.map +1 -1
  14. package/dist/collection/components/chat-header/chat-header.css +1 -1
  15. package/dist/collection/components/chat-input/chat-input.css +1 -1
  16. package/dist/collection/components/checkbox-list/checkbox-list.css +1 -1
  17. package/dist/collection/components/dialog-bill-editor/dialog-bill-editor.css +1 -1
  18. package/dist/collection/components/dialog-custom-filter/dialog-custom-filter.css +1 -1
  19. package/dist/collection/components/dialog-editor/dialog-editor.css +1 -1
  20. package/dist/collection/components/dialog-preview-media/dialog-preview-media.css +1 -1
  21. package/dist/collection/components/dialog-search/dialog-search.css +1 -1
  22. package/dist/collection/components/menu-chat-channel/menu-chat-channel.css +1 -1
  23. package/dist/collection/components/menu-chat-type/menu-chat-type.css +1 -1
  24. package/dist/collection/components/menu-list/menu-list.css +1 -1
  25. package/dist/collection/components/message-box/message-box.css +1 -1
  26. package/dist/collection/components/message-box/message-box.js +83 -46
  27. package/dist/collection/components/message-box/message-box.js.map +1 -1
  28. package/dist/collection/components/message-content/message-content.css +1 -1
  29. package/dist/collection/components/message-item/message-item.css +1 -1
  30. package/dist/collection/components/message-media/message-media.css +1 -1
  31. package/dist/collection/components/profile-cart-summary/profile-cart-summary.css +1 -1
  32. package/dist/collection/components/profile-history/profile-history.css +1 -1
  33. package/dist/collection/components/profile-info/profile-info.css +1 -1
  34. package/dist/collection/components/profile-media/profile-media.css +1 -1
  35. package/dist/collection/components/profile-tabs/profile-tabs.css +1 -1
  36. package/dist/collection/components/profile-zerva/profile-zerva.css +1 -1
  37. package/dist/collection/components/profile-zrmz/profile-zrmz.css +1 -1
  38. package/dist/collection/components/quick-message-add-template/quick-message-add-template.css +1 -1
  39. package/dist/collection/components/quick-message-app/quick-message-app.css +1 -1
  40. package/dist/collection/components/quick-message-file/quick-message-file.css +1 -1
  41. package/dist/collection/components/quick-message-image/quick-message-image.css +1 -1
  42. package/dist/collection/components/quick-message-modal/quick-message-modal.css +1 -1
  43. package/dist/collection/components/quick-message-template/quick-message-template.css +1 -1
  44. package/dist/collection/components/search-box/search-box.css +1 -1
  45. package/dist/collection/components/status-badge/status-badge.css +1 -1
  46. package/dist/collection/components/tag-list/tag-list.css +1 -1
  47. package/dist/collection/components/tag-or-status-item/tag-or-status-item.css +1 -1
  48. package/dist/collection/components/tag-popper/tag-popper.css +1 -1
  49. package/dist/collection/components/typography-clamp/typography-clamp.css +1 -1
  50. package/dist/collection/components/z-avatar/z-avatar.css +1 -1
  51. package/dist/collection/components/z-dialog/z-dialog.css +1 -1
  52. package/dist/collection/components/z-dropdown-input/z-dropdown-input.css +1 -1
  53. package/dist/collection/components/z-phone-input/z-phone-input.css +1 -1
  54. package/dist/collection/components/z-tooltip/z-tooltip.css +1 -1
  55. package/dist/components/admin-register-popup2.js +1 -1
  56. package/dist/components/admin-register-popup2.js.map +1 -1
  57. package/dist/components/autocomplete-address2.js +1 -1
  58. package/dist/components/autocomplete-address2.js.map +1 -1
  59. package/dist/components/autocomplete-multiple-select2.js +1 -1
  60. package/dist/components/autocomplete-multiple-select2.js.map +1 -1
  61. package/dist/components/autocomplete-select2.js +1 -1
  62. package/dist/components/autocomplete-select2.js.map +1 -1
  63. package/dist/components/background-jobs2.js +1 -1
  64. package/dist/components/background-jobs2.js.map +1 -1
  65. package/dist/components/channel-box2.js +1 -1
  66. package/dist/components/channel-box2.js.map +1 -1
  67. package/dist/components/chat-app.js +13 -8
  68. package/dist/components/chat-app.js.map +1 -1
  69. package/dist/components/chat-header2.js +1 -1
  70. package/dist/components/chat-header2.js.map +1 -1
  71. package/dist/components/chat-input2.js +1 -1
  72. package/dist/components/chat-input2.js.map +1 -1
  73. package/dist/components/checkbox-list2.js +1 -1
  74. package/dist/components/checkbox-list2.js.map +1 -1
  75. package/dist/components/customer-info-edit-popup2.js +1 -1
  76. package/dist/components/customer-info-edit-popup2.js.map +1 -1
  77. package/dist/components/dialog-bill-editor2.js +1 -1
  78. package/dist/components/dialog-bill-editor2.js.map +1 -1
  79. package/dist/components/dialog-custom-filter2.js +1 -1
  80. package/dist/components/dialog-custom-filter2.js.map +1 -1
  81. package/dist/components/dialog-editor2.js +1 -1
  82. package/dist/components/dialog-editor2.js.map +1 -1
  83. package/dist/components/dialog-preview-media2.js +1 -1
  84. package/dist/components/dialog-preview-media2.js.map +1 -1
  85. package/dist/components/dialog-search2.js +1 -1
  86. package/dist/components/dialog-search2.js.map +1 -1
  87. package/dist/components/menu-chat-channel2.js +1 -1
  88. package/dist/components/menu-chat-channel2.js.map +1 -1
  89. package/dist/components/menu-chat-type2.js +1 -1
  90. package/dist/components/menu-chat-type2.js.map +1 -1
  91. package/dist/components/menu-list2.js +1 -1
  92. package/dist/components/menu-list2.js.map +1 -1
  93. package/dist/components/message-box2.js +85 -48
  94. package/dist/components/message-box2.js.map +1 -1
  95. package/dist/components/message-content2.js +1 -1
  96. package/dist/components/message-content2.js.map +1 -1
  97. package/dist/components/message-item2.js +1 -1
  98. package/dist/components/message-item2.js.map +1 -1
  99. package/dist/components/message-media2.js +1 -1
  100. package/dist/components/message-media2.js.map +1 -1
  101. package/dist/components/point-update-popup2.js +1 -1
  102. package/dist/components/point-update-popup2.js.map +1 -1
  103. package/dist/components/profile-cart-summary2.js +1 -1
  104. package/dist/components/profile-cart-summary2.js.map +1 -1
  105. package/dist/components/profile-history2.js +1 -1
  106. package/dist/components/profile-history2.js.map +1 -1
  107. package/dist/components/profile-info2.js +1 -1
  108. package/dist/components/profile-info2.js.map +1 -1
  109. package/dist/components/profile-media2.js +1 -1
  110. package/dist/components/profile-media2.js.map +1 -1
  111. package/dist/components/profile-tabs2.js +1 -1
  112. package/dist/components/profile-tabs2.js.map +1 -1
  113. package/dist/components/profile-zerva2.js +1 -1
  114. package/dist/components/profile-zerva2.js.map +1 -1
  115. package/dist/components/profile-zrmz2.js +1 -1
  116. package/dist/components/profile-zrmz2.js.map +1 -1
  117. package/dist/components/quick-message-add-template2.js +1 -1
  118. package/dist/components/quick-message-add-template2.js.map +1 -1
  119. package/dist/components/quick-message-app.js +1 -1
  120. package/dist/components/quick-message-app.js.map +1 -1
  121. package/dist/components/quick-message-file2.js +1 -1
  122. package/dist/components/quick-message-file2.js.map +1 -1
  123. package/dist/components/quick-message-image2.js +1 -1
  124. package/dist/components/quick-message-image2.js.map +1 -1
  125. package/dist/components/quick-message-modal2.js +1 -1
  126. package/dist/components/quick-message-modal2.js.map +1 -1
  127. package/dist/components/quick-message-template2.js +1 -1
  128. package/dist/components/quick-message-template2.js.map +1 -1
  129. package/dist/components/search-box2.js +1 -1
  130. package/dist/components/search-box2.js.map +1 -1
  131. package/dist/components/status-badge2.js +1 -1
  132. package/dist/components/status-badge2.js.map +1 -1
  133. package/dist/components/summarize-message-section2.js +1 -1
  134. package/dist/components/summarize-message-section2.js.map +1 -1
  135. package/dist/components/tag-list2.js +1 -1
  136. package/dist/components/tag-list2.js.map +1 -1
  137. package/dist/components/tag-or-status-item2.js +1 -1
  138. package/dist/components/tag-or-status-item2.js.map +1 -1
  139. package/dist/components/tag-popper2.js +1 -1
  140. package/dist/components/tag-popper2.js.map +1 -1
  141. package/dist/components/typography-clamp2.js +1 -1
  142. package/dist/components/typography-clamp2.js.map +1 -1
  143. package/dist/components/user-info-section2.js +1 -1
  144. package/dist/components/user-info-section2.js.map +1 -1
  145. package/dist/components/z-avatar2.js +1 -1
  146. package/dist/components/z-avatar2.js.map +1 -1
  147. package/dist/components/z-dialog2.js +1 -1
  148. package/dist/components/z-dialog2.js.map +1 -1
  149. package/dist/components/z-dropdown-input2.js +1 -1
  150. package/dist/components/z-dropdown-input2.js.map +1 -1
  151. package/dist/components/z-phone-input2.js +1 -1
  152. package/dist/components/z-phone-input2.js.map +1 -1
  153. package/dist/components/z-tooltip2.js +1 -1
  154. package/dist/components/z-tooltip2.js.map +1 -1
  155. package/dist/esm/admin-register-popup_54.entry.js +143 -102
  156. package/dist/esm/loader.js +1 -1
  157. package/dist/esm/quick-message-app.entry.js +1 -1
  158. package/dist/esm/quick-message-app.entry.js.map +1 -1
  159. package/dist/esm/zignal-stencil-library.js +1 -1
  160. package/dist/types/components/message-box/message-box.d.ts +6 -10
  161. package/dist/zignal-stencil-library/admin-register-popup_54.entry.js +143 -102
  162. package/dist/zignal-stencil-library/quick-message-app.entry.esm.js.map +1 -1
  163. package/dist/zignal-stencil-library/quick-message-app.entry.js +1 -1
  164. package/dist/zignal-stencil-library/zignal-stencil-library.esm.js +1 -1
  165. package/package.json +1 -1
@@ -1 +1 @@
1
- {"file":"profile-zrmz2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/profile-zrmz/profile-zrmz.css?tag=profile-zrmz","src/components/profile-zrmz/profile-zrmz.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.zrmz-container {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: 0px 16px;\n height: 100%;\n width: 100%;\n}\n\n.zrmz-card {\n position: relative;\n border-radius: 16px;\n overflow: hidden;\n padding: 8px;\n}\n\n.zrmz-card-image {\n width: 100%;\n height: auto;\n display: block;\n object-fit: contain;\n box-shadow:\n 0 4px 8px rgba(0, 0, 0, 0.05),\n 0 -4px 8px rgba(0, 0, 0, 0.05);\n border-radius: 12px;\n}\n\n.zrmz-content {\n display: flex;\n flex-direction: column;\n gap: 20px;\n padding: 0 8px;\n}\n\n.zrmz-status-text {\n text-align: center;\n font-size: 16px;\n color: var(--color-theme-gray);\n}\n\n.zrmz-actions {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.zrmz-actions button.z-button-outlined {\n color: var(--color-primary);\n border-color: var(--color-primary);\n}\n\n.zrmz-actions button.z-button-outlined:hover {\n background-color: var(--color-paper);\n}\n\n.zrmz-actions button.z-button-outlined {\n color: var(--color-primary);\n border-color: var(--color-primary);\n}\n\n.zrmz-point-section {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n padding-top: 24px;\n}\n\n.zrmz-point-content {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 16px;\n gap: 4px;\n}\n\n.zrmz-point-label {\n font-size: 16px;\n font-weight: 500;\n color: var(--color-surface);\n}\n\n.zrmz-point-edit-link {\n position: absolute;\n right: 0;\n top: 0;\n font-size: 14px;\n color: var(--color-surface);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.zrmz-point-value {\n font-size: 24px;\n font-weight: 600;\n color: var(--color-surface);\n line-height: 1;\n}\n\n.zrmz-tabs {\n display: flex;\n border-bottom: 1px solid var(--color-divider);\n}\n\n.zrmz-tab {\n position: relative;\n flex: 0 0 auto;\n padding: 0 16px 8px 0;\n margin-right: 16px;\n cursor: pointer;\n font-size: 14px;\n color: var(--color-theme-gray);\n}\n\n.zrmz-tab.active {\n color: var(--color-primary);\n font-weight: 500;\n}\n\n.zrmz-tab.active::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 2px;\n background-color: var(--color-primary);\n}\n\n.zrmz-info-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n position: relative;\n padding-top: 16px;\n}\n\n.zrmz-info-edit-icon {\n position: absolute;\n top: 16px;\n right: 8px;\n cursor: pointer;\n}\n\n.zrmz-info-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.zrmz-info-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--color-surface);\n font-weight: 400;\n}\n\n.zrmz-edit-icon {\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.zrmz-info-content-inner {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.zrmz-info-value {\n font-size: 14px;\n color: var(--color-surface);\n font-weight: 400;\n min-height: 24px; /* Ensure height for empty values */\n}\n\n.zrmz-expand-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: -8px;\n z-index: 10;\n position: relative;\n}\n\n.zrmz-expand-icon::before {\n content: '';\n position: absolute;\n width: 100%;\n height: 1px;\n background-color: var(--color-divider);\n z-index: -1;\n}\n\n.zrmz-expand-circle {\n background-color: var(--color-primary);\n border-radius: 50%;\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.zrmz-disconnect-wrapper {\n margin-top: 8px;\n}\n\n.zrmz-disconnect-wrapper .z-button-outlined {\n color: var(--color-primary);\n border-color: var(--color-primary);\n border-radius: 9999px;\n}\n\n.zrmz-history-content {\n display: flex;\n flex-direction: column;\n}\n\n.zrmz-history-item {\n padding: 16px 0;\n border-bottom: 1px solid var(--color-divider);\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.zrmz-history-item:last-child {\n border-bottom: none;\n}\n\n.zrmz-history-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.zrmz-history-action {\n font-size: 14px;\n font-weight: 500;\n color: var(--color-surface);\n}\n\n.zrmz-history-point {\n font-size: 14px;\n font-weight: 500;\n color: var(--color-primary);\n}\n\n.zrmz-history-date {\n font-size: 14px;\n color: var(--color-theme-gray);\n}\n\n.zrmz-history-remark {\n font-size: 14px;\n color: var(--color-theme-gray);\n white-space: pre-wrap;\n}\n\n.zrmz-load-more {\n text-align: center;\n padding: 16px;\n color: var(--color-primary);\n cursor: pointer;\n font-weight: 500;\n}\n\n.zrmz-load-more:hover {\n text-decoration: underline;\n}\n\n.zrmz-popup-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.zrmz-popup-box {\n background-color: var(--color-background);\n border-radius: 16px;\n padding: 24px;\n width: 90%;\n max-width: 400px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n\n.zrmz-popup-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--color-surface);\n text-align: center;\n}\n\n.zrmz-popup-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.zrmz-popup-actions {\n display: flex;\n justify-content: space-between;\n gap: 16px;\n}\n\n.zrmz-popup-actions button {\n flex: 1;\n}\n\n.zrmz-point-popup {\n max-width: 600px;\n}\n\n.zrmz-radio-group {\n display: flex;\n gap: 16px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.zrmz-radio-item {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 16px;\n color: var(--color-surface);\n}\n\n.zrmz-radio-circle {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 2px solid var(--color-primary);\n background-color: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: all 0.2s;\n flex-shrink: 0;\n}\n\n.zrmz-radio-item.selected .zrmz-radio-circle {\n background-color: var(--color-primary);\n position: relative;\n}\n\n.zrmz-radio-item.selected .zrmz-radio-circle::after {\n content: '';\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background-color: white;\n}\n\n.zrmz-popup-content.flex-row {\n flex-direction: row;\n gap: 16px;\n}\n\n.zrmz-popup-content.flex-row > div {\n flex: 1;\n}\n\n/* Override ZSelectInput margin for popup */\n.zrmz-popup-content .mb-4 {\n margin-bottom: 0;\n}\n/* Override ZInput and ZInputArea margin for popup */\n.zrmz-popup-content .mb-2 {\n margin-bottom: 0;\n}\n\n.zrmz-card {\n position: relative;\n}\n\n.zrmz-icon-button {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n color: var(--color-primary);\n background-color: var(--color-background);\n padding: 4px;\n}\n\n.zrmz-share-menu {\n position: absolute;\n top: 52px;\n right: 16px;\n background-color: var(--color-background);\n border-radius: 12px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n z-index: 20;\n min-width: 140px;\n}\n\n.zrmz-share-menu-item {\n padding: 8px 16px;\n cursor: pointer;\n color: var(--color-primary);\n font-size: 14px;\n white-space: nowrap;\n transition: background-color 0.2s;\n}\n\n.zrmz-share-menu-item:hover {\n background-color: var(--color-paper);\n}\n\n.zrmz-share-menu-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 15;\n cursor: default;\n}\n\n.zrmz-lock-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.45);\n z-index: 1000;\n display: flex;\n justify-content: center;\n align-items: center;\n backdrop-filter: blur(2px);\n}\n\n.zrmz-lock-content {\n background-color: var(--color-background);\n border-radius: 16px;\n padding: 32px 24px;\n width: 90%;\n max-width: 340px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n text-align: center;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n\n.zrmz-lock-icon {\n margin-bottom: 8px;\n}\n\n.zrmz-lock-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--color-surface);\n}\n\n.zrmz-lock-desc {\n font-size: 14px;\n color: var(--color-surface);\n line-height: 1.5;\n margin-bottom: 8px;\n}\n\n.zrmz-lock-button {\n width: 100%;\n}\n","import { Component, Host, State, h } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport { ZButton } from '../internal-component/z-button';\nimport { Icon } from '../internal-component/icon';\nimport { useTranslation } from '../../utils/utils';\nimport { selectedChatStore } from '../../store/store';\nimport { handleError, openDialog, closeDialog, DIALOG_TYPE } from '../../store/dialog';\nimport { getZrmzShopUrl, sendMessage, getZwizUserProfile, getZrmzCustomerInfo, getZrmzPointHistory, updateZrmzCustomer, getZrmzShopProfile, createZrmzCustomer, disconnectZrmzCustomer, getZrmzCondition, adjustZrmzCustomerPoint, adjustZrmzCustomerPointByCondition } from '../../api';\nimport { ZRMZ_API_URL } from '../../utils/constant';\nimport { GetZwizUserProfileResponse, ZrmzCustomerInfo, ZrmzPointHistory, ZrmzShopProfile, GetZrmzConditionResponse } from '../../api/type';\nimport { displayDateTime } from '../../utils/dayjs';\nimport { AdminRegisterFormData } from './admin-register-popup';\nimport { PointEditFormData } from './point-update-popup';\nimport { CustomerInfoEditFormData } from './customer-info-edit-popup';\n\n@Component({\n tag: 'profile-zrmz',\n styleUrl: 'profile-zrmz.css',\n})\nexport class ProfileZrmz {\n @State() profile: GetZwizUserProfileResponse | null = null;\n @State() shopProfile: ZrmzShopProfile | null = null;\n @State() customerInfo: ZrmzCustomerInfo | null = null;\n @State() pointHistory: ZrmzPointHistory | null = null;\n @State() zrmzCondition: GetZrmzConditionResponse | null = null;\n @State() isLoading = false;\n @State() isGeneratingShopUrl = false;\n @State() activeTab: 'info' | 'history' = 'info';\n @State() isExpand = false;\n @State() isEditPopupOpen = false;\n @State() editFormData: CustomerInfoEditFormData = {\n firstName: '',\n lastName: '',\n phoneNumber: '',\n email: '',\n callingCode: '66',\n };\n @State() isCustomerInfoLoading = false;\n\n @State() isPointEditPopupOpen = false;\n @State() isPointUpdateLoading = false;\n @State() isShareMenuOpen = false;\n @State() isLoadingShareMenu = false;\n\n @State() pointEditFormData: PointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n note: '',\n conditionId: '',\n };\n\n @State() isAdminRegisterPopupOpen = false;\n @State() adminRegisterFormData: AdminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: '',\n buttonName: '',\n buttonLink: '',\n };\n\n @State() isExpired = false;\n @State() isLimitReach = false;\n\n handleCheckPackage = () => {\n let maxUser = 10\n\n if (this.shopProfile?.remaining_days_of_platinum_package) {\n maxUser = 100000\n } else if (this.shopProfile?.remaining_days_of_gold_package) {\n maxUser = 50000\n } else if (this.shopProfile?.remaining_days_of_premium_package) {\n maxUser = 10000\n } else if (this.shopProfile?.remaining_days_of_bronze_package) {\n maxUser = 5000\n }\n\n const isFree = Boolean(!this.shopProfile?.remaining_days_of_gold_package &&\n !this.shopProfile?.remaining_days_of_platinum_package &&\n !this.shopProfile?.remaining_days_of_premium_package &&\n !this.shopProfile?.remaining_days_of_bronze_package)\n\n if (isFree && this.shopProfile?.total_customers > maxUser) {\n this.isExpired = true\n } else if (this.shopProfile?.total_customers >= maxUser) {\n this.isLimitReach = true\n } else {\n this.isExpired = false\n this.isLimitReach = false\n }\n };\n\n handlePointEditClick = () => {\n this.pointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n conditionId: '',\n note: '',\n };\n this.isPointEditPopupOpen = true;\n };\n\n handleShareClick = () => {\n this.isShareMenuOpen = !this.isShareMenuOpen;\n };\n\n handleSaveImage = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n\n try {\n const url = this.getImgProfile();\n const response = await fetch(url);\n const blob = await response.blob();\n const blobUrl = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = blobUrl;\n link.download = `zrmz-card-${this.customerInfo?.id || 'unknown'}.png`;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n window.URL.revokeObjectURL(blobUrl);\n } catch (error) {\n handleError(error);\n } finally {\n this.isLoadingShareMenu = false;\n }\n };\n\n handleSendToChat = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n const selectedChat = selectedChatStore.get('selectedChat');\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'image',\n url: this.getImgProfile(),\n }],\n });\n this.isLoadingShareMenu = false;\n };\n\n getImgProfile() {\n const botPageData = selectedChatStore.state.botPageData;\n if (botPageData?.connect_zrm_business_profile_id && this.customerInfo?.id) {\n const timestamp = dayjs().format('x');\n return `${ZRMZ_API_URL}/api/business/${botPageData.connect_zrm_business_profile_id}/customer/${this.customerInfo.id}/card?${timestamp}&scale=2`;\n }\n return 'https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png';\n }\n\n handlePointEditClose = () => {\n this.isPointEditPopupOpen = false;\n };\n\n handlePointEditSave = async (event: CustomEvent<PointEditFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isPointUpdateLoading = true;\n\n if (formData.action === 'condition') {\n await adjustZrmzCustomerPointByCondition({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n condition_id: formData.conditionId,\n value: parseInt(formData.amount),\n });\n } else {\n await adjustZrmzCustomerPoint({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n point_type: formData.pointType,\n amount: parseInt(formData.amount),\n action: formData.action as 'add' | 'remove',\n remark: formData.note || undefined,\n });\n }\n\n await Promise.all([\n this.fetchCustomerInfo(connectionId, this.profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, this.profile.zrm_customer_id),\n ]);\n this.isPointEditPopupOpen = false;\n\n } catch (error) {\n handleError(error, 'Failed to adjust customer points');\n } finally {\n this.isPointUpdateLoading = false;\n }\n };\n\n handleDisconnectClick = () => {\n const t = useTranslation();\n openDialog({\n open: true,\n title: t('chat_profile_view.zrmz.disconnect_confirm_title'),\n contentCustom: t('chat_profile_view.zrmz.disconnect_confirm_message'),\n type: DIALOG_TYPE.WARNING,\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n closeDialog();\n return;\n }\n\n try {\n const response = await disconnectZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n customer_id: this.profile.zrm_customer_id,\n });\n\n if (response.success) {\n // Clear customer info and refresh profile\n this.customerInfo = null;\n this.lastZrmCustomerId = null;\n await this.fetchProfile();\n closeDialog();\n } else {\n handleError(new Error(response.message || 'Failed to disconnect customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to disconnect customer');\n }\n },\n onCloseDialog: () => closeDialog(),\n });\n };\n\n handleEditClick = () => {\n this.editFormData = {\n firstName: this.customerInfo?.first_name || '',\n lastName: this.customerInfo?.last_name || '',\n phoneNumber: this.customerInfo?.phone_number || '',\n email: this.customerInfo?.email || '',\n callingCode: this.customerInfo?.phone_number_country_code || '66',\n };\n this.isEditPopupOpen = true;\n };\n\n handleEditClose = () => {\n this.isEditPopupOpen = false;\n };\n\n handleEditSave = async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.customerInfo?.id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isCustomerInfoLoading = true;\n const response = await updateZrmzCustomer({\n connectionId,\n customer_id: this.customerInfo.id,\n first_name: this.editFormData.firstName || undefined,\n last_name: this.editFormData.lastName || undefined,\n email: this.editFormData.email || undefined,\n phone_number: this.editFormData.phoneNumber || undefined,\n phone_number_country_code: this.editFormData.phoneNumber ? this.editFormData.callingCode : undefined,\n });\n\n if (response.success) {\n // Update local customer info with response data\n this.customerInfo = response.result;\n this.isEditPopupOpen = false;\n } else {\n handleError(new Error(response.message || 'Failed to update customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to update customer information');\n } finally {\n this.isCustomerInfoLoading = false;\n }\n };\n\n hasFormChanged = () => {\n if (!this.customerInfo) return false;\n\n return (\n this.editFormData.firstName !== (this.customerInfo.first_name || '') ||\n this.editFormData.lastName !== (this.customerInfo.last_name || '') ||\n this.editFormData.phoneNumber !== (this.customerInfo.phone_number || '') ||\n this.editFormData.email !== (this.customerInfo.email || '') ||\n this.editFormData.callingCode !== (this.customerInfo.phone_number_country_code || '66')\n );\n };\n\n @State() isHistoryLoading = false;\n\n private disposeSelectedChatListener: () => void;\n private lastConnectionId: string | null = null;\n private lastUserId: string | null = null;\n private lastZrmCustomerId: string | null = null;\n\n async componentWillLoad() {\n await this.fetchProfile();\n\n this.disposeSelectedChatListener = selectedChatStore.onChange('selectedChat', async (newChat) => {\n if (newChat?.connection?.id && (newChat.connection.id !== this.lastConnectionId || newChat.user.id !== this.lastUserId)) {\n await this.fetchProfile();\n }\n });\n }\n\n disconnectedCallback() {\n if (this.disposeSelectedChatListener) this.disposeSelectedChatListener();\n }\n\n async fetchProfile() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (selectedChat.connection.type !== 'zwiz') {\n this.profile = null;\n this.shopProfile = null;\n this.customerInfo = null;\n this.pointHistory = null;\n return;\n }\n\n if (connectionId) {\n this.lastConnectionId = connectionId;\n this.lastUserId = selectedChat.user.id;\n try {\n this.isLoading = true;\n const [profile, shopProfile] = await Promise.all([\n getZwizUserProfile(connectionId, selectedChat.channel, selectedChat.user.id),\n getZrmzShopProfile(connectionId)\n ]);\n\n this.profile = profile;\n this.shopProfile = shopProfile.result;\n\n this.handleCheckPackage();\n\n // Fetch customer info if zrm_customer_id exists and has changed\n if (profile?.zrm_customer_id && profile.zrm_customer_id !== this.lastZrmCustomerId) {\n await Promise.all([\n this.fetchCustomerInfo(connectionId, profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, profile.zrm_customer_id),\n this.fetchZrmzCondition(connectionId),\n ])\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Profile');\n } finally {\n this.isLoading = false;\n }\n }\n }\n\n async fetchCustomerInfo(connectionId: string, zrmCustomerId: string) {\n try {\n const response = await getZrmzCustomerInfo(connectionId, zrmCustomerId);\n this.customerInfo = response.result;\n this.lastZrmCustomerId = zrmCustomerId;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Customer Info');\n }\n }\n\n async fetchZrmzCondition(connectionId: string) {\n try {\n const response = await getZrmzCondition({ connectionId });\n this.zrmzCondition = response;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Condition');\n }\n }\n\n async fetchPointHistory(connectionId: string, zrmCustomerId: string, loadMore = false) {\n if (this.isHistoryLoading) return;\n\n try {\n this.isHistoryLoading = true;\n const offset = loadMore && this.pointHistory ? this.pointHistory.transactions.length : 0;\n const response = await getZrmzPointHistory({ connectionId, customerId: zrmCustomerId, limit: 10, offset });\n\n if (loadMore && this.pointHistory) {\n this.pointHistory = {\n ...response.result, // Update total\n transactions: [...(this.pointHistory.transactions || []), ...(response.result.transactions || [])],\n };\n } else {\n this.pointHistory = response.result;\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Point History');\n } finally {\n this.isHistoryLoading = false;\n }\n }\n\n async handleSendRegistrationLink() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n const t = useTranslation();\n\n if (!connectionId || !this.profile || !selectedBotPageData) {\n return;\n }\n\n try {\n this.isGeneratingShopUrl = true;\n const response = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'register',\n });\n\n if (response.url) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: t('chat_profile_view.zrmz.register_message'),\n buttons: [\n {\n id: 'zrmz-register-button',\n action_type: 'url',\n text: t('chat_profile_view.zrmz.register_button'),\n action: response.url,\n }\n ],\n }],\n });\n }\n } catch (error) {\n const errorMessage = 'Failed to generate registration link';\n handleError(error, errorMessage);\n } finally {\n this.isGeneratingShopUrl = false;\n }\n }\n\n\n handleAdminRegistration = async () => {\n const t = useTranslation();\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isGeneratingShopUrl = true;\n const shopUrlResponse = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'login',\n });\n\n this.adminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: t('chat_profile_view.zrmz.login_info'),\n buttonName: t('chat_profile_view.zrmz.login'),\n buttonLink: shopUrlResponse.url,\n };\n this.isAdminRegisterPopupOpen = true;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Shop URL');\n } finally {\n this.isGeneratingShopUrl = false;\n }\n };\n\n handleAdminRegisterClose = () => {\n this.isAdminRegisterPopupOpen = false;\n };\n\n handleAdminRegisterSave = async (event: CustomEvent<AdminRegisterFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n const selectedBotPageData = selectedChatStore.get('botPageData');\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isLoading = true;\n\n // Call API to create customer\n await createZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n phone_number: formData.phoneNumber || undefined,\n phone_number_country_code: formData.phoneNumber ? (formData.callingCode || undefined) : undefined,\n email: formData.email || undefined,\n });\n\n // Send login link if selected\n if (formData.isSendLoginLink && formData.buttonLink) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: formData.buttonTitle,\n buttons: [{\n id: 'login-btn',\n action_type: 'url',\n text: formData.buttonName,\n action: formData.buttonLink\n }]\n }]\n });\n }\n\n this.isAdminRegisterPopupOpen = false;\n this.adminRegisterFormData = formData;\n\n // Refresh profile to update UI\n await this.fetchProfile();\n\n } catch (error) {\n handleError(error, 'Failed to register admin');\n } finally {\n this.isLoading = false;\n }\n };\n\n\n renderAdminRegisterPopup() {\n return (\n <admin-register-popup\n isOpen={this.isAdminRegisterPopupOpen}\n data={this.adminRegisterFormData}\n registerType={this.shopProfile?.register_type}\n onPopupClose={() => this.isAdminRegisterPopupOpen = false}\n onPopupSave={this.handleAdminRegisterSave}\n onFormDataChange={(e) => this.adminRegisterFormData = e.detail}\n />\n );\n }\n\n renderMemberView() {\n const t = useTranslation();\n const pointOptions = this.shopProfile?.membership_format_value?.map(p => ({ label: p, value: p })) || [];\n const pointConditionOptions = this.zrmzCondition?.result.conditions?.filter(c => c.is_active).map(c => ({ label: c.name, value: c.id })) || [];\n\n return (\n <div>\n\n <customer-info-edit-popup\n isOpen={this.isEditPopupOpen}\n data={this.editFormData}\n saveEnabled={this.hasFormChanged()}\n isLoading={this.isCustomerInfoLoading}\n onPopupClose={this.handleEditClose}\n onPopupSave={this.handleEditSave}\n onFormDataChange={(e) => this.editFormData = e.detail}\n />\n\n <div class=\"zrmz-card relative\">\n <img\n src={this.getImgProfile()}\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.handleShareClick()}>\n {this.isLoadingShareMenu ? <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" /> : <Icon name=\"Share2\" addClass=\"text-primary size-5\" />}\n </div>\n {this.isShareMenuOpen && (\n <div class=\"zrmz-share-menu-wrapper\">\n <div class=\"zrmz-share-menu-backdrop\" onClick={() => (this.isShareMenuOpen = false)}></div>\n <div class=\"zrmz-share-menu\">\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSaveImage()}>\n {t('chat_profile_view.zrmz.save_image')}\n </div>\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSendToChat()}>\n {t('chat_profile_view.zrmz.send_to_chat')}\n </div>\n </div>\n </div>\n )}\n </div>\n {/* Point Section */}\n <div class=\"zrmz-point-section\">\n <point-update-popup\n isOpen={this.isPointEditPopupOpen}\n data={this.pointEditFormData}\n pointOptions={pointOptions}\n pointConditionOptions={pointConditionOptions}\n isLoading={this.isPointUpdateLoading}\n onPopupClose={this.handlePointEditClose}\n onPopupSave={this.handlePointEditSave}\n onFormDataChange={(e) => this.pointEditFormData = e.detail}\n />\n\n <div class=\"zrmz-point-edit-link underline cursor-pointer\" onClick={() => this.handlePointEditClick()}>\n {t('chat_profile_view.zrmz.update_point')}\n </div>\n {\n this.customerInfo?.points?.map((point) => (\n <div class=\"zrmz-point-content\">\n <div class=\"zrmz-point-label\">{point.point_type}</div>\n <div class=\"zrmz-point-value\">{point.amount}</div>\n </div>\n ))\n }\n </div>\n\n {/* Tabs */}\n <div class=\"zrmz-tabs\">\n <div\n class={`zrmz-tab ${this.activeTab === 'info' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'info'}\n >\n {t('chat_profile_view.zrmz.customer_info')}\n </div>\n <div\n class={`zrmz-tab ${this.activeTab === 'history' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'history'}\n >\n {t('chat_profile_view.zrmz.point_history')}\n </div>\n </div>\n\n {/* Tab Content */}\n <div class=\"zrmz-tab-content\">\n {this.activeTab === 'info' ? (\n <div class=\"zrmz-info-content\">\n <div class=\"zrmz-info-edit-icon\" onClick={() => this.handleEditClick()}>\n <Icon name=\"Edit\" addClass=\"text-primary size-5\" />\n </div>\n <div class=\"zrmz-info-content-inner\">\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.name_surname')}</div>\n <div class=\"zrmz-info-value\">{[this.customerInfo?.first_name, this.customerInfo?.last_name].filter(Boolean).join(' ') || '-'}</div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.phone_number')}</div>\n <div class=\"zrmz-info-value\">\n {this.customerInfo?.phone_number ? `+${this.customerInfo?.phone_number_country_code || ''}${this.customerInfo?.phone_number}` : '-'}\n </div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.email')}</div>\n <div class=\"zrmz-info-value\">{this.customerInfo?.email || '-'}</div>\n </div>\n </div>\n <div class=\"zrmz-expand-icon\">\n <div class=\"zrmz-expand-circle\" onClick={() => this.isExpand = !this.isExpand}>\n <Icon name={this.isExpand ? 'ChevronUp' : 'ChevronDown'} addClass=\"text-white size-5\" />\n </div>\n </div>\n {this.isExpand && <div class=\"zrmz-disconnect-wrapper\">\n <ZButton\n variant=\"outlined\"\n fullWidth\n onClick={() => this.handleDisconnectClick()}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.disconnect_member')}</span>}\n />\n </div>}\n </div>\n ) : (\n <div class=\"zrmz-history-content\">\n {this.pointHistory?.transactions?.map((transaction) => (\n <div class=\"zrmz-history-item\">\n <div class=\"zrmz-history-row\">\n <div class=\"zrmz-history-action\">\n {transaction.action === 'add' ? t('add') : t('chat_profile_view.zrmz.remove')}\n </div>\n <div class=\"zrmz-history-point\">\n {transaction.amount} {transaction.point_type}\n </div>\n </div>\n <p class=\"zrmz-history-remark\">{transaction.remark}</p>\n <div class=\"zrmz-history-date\">\n {displayDateTime(new Date(transaction.created_at))}\n </div>\n </div>\n ))}\n {this.pointHistory && (this.pointHistory.transactions?.length || 0) < this.pointHistory.total && (\n <div class=\"zrmz-load-more\" onClick={() => this.fetchPointHistory(this.lastConnectionId, this.lastZrmCustomerId, true)}>\n {this.isHistoryLoading ? t('chat_profile_view.zrmz.loading') : t('chat_profile_view.zrmz.load_more')}\n </div>\n )}\n {!this.pointHistory?.transactions?.length && !this.isHistoryLoading && (\n <div class=\"text-center text-gray-500 py-4\">{t('chat_profile_view.zrmz.no_history')}</div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n }\n\n renderLockOverlay() {\n const t = useTranslation();\n if (!this.isExpired && (!this.isLimitReach || this.getIsMember())) return null;\n\n return (\n <div class=\"zrmz-lock-overlay\">\n <div class=\"zrmz-lock-content\">\n <div class=\"zrmz-lock-icon\">\n <Icon name=\"AlertCircle\" addClass=\"text-red-500 w-16 h-16\" />\n </div>\n <div class=\"zrmz-lock-title\">{this.isExpired ? t('chat_profile_view.zrmz.package_expired') : t('chat_profile_view.zrmz.package_limit_reach')}</div>\n <div class=\"zrmz-lock-desc\" innerHTML={this.isExpired ? t('chat_profile_view.zrmz.upgrade_package_description') : t('chat_profile_view.zrmz.upgrade_package_description')}></div>\n <ZButton\n variant=\"primary\"\n label={<span class=\"text-white\">{this.isExpired ? t('chat_profile_view.zrmz.upgrade_package') : t('chat_profile_view.zrmz.upgrade_package')}</span>}\n fullWidth\n onClick={() => window.open('https://zwiz.app/login', '_blank')}\n />\n </div>\n </div>\n );\n }\n\n getIsMember() {\n return this.profile?.zrm_customer_id != null;\n }\n\n render() {\n const t = useTranslation();\n\n if (this.isLoading) {\n return (\n <Host>\n <div class=\"flex justify-center items-center h-40\">\n <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" />\n </div>\n </Host>\n );\n }\n\n if (!this.profile) {\n return <Host></Host>;\n }\n\n if (this.getIsMember()) {\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderMemberView()}\n {this.renderLockOverlay()}\n </div>\n </Host>\n )\n }\n\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderLockOverlay()}\n {this.renderAdminRegisterPopup()}\n <div class=\"zrmz-card\">\n <img\n src=\"https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png\"\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.fetchProfile()}>\n <Icon name=\"RotateCw\" addClass=\"text-primary size-5\" />\n </div>\n </div>\n\n <div class=\"zrmz-content\">\n <div class=\"zrmz-status-text\">\n {t('chat_profile_view.zrmz.not_member')}\n </div>\n\n <div class=\"zrmz-actions\">\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.send_registration_link')}</span>}\n fullWidth\n onClick={() => this.handleSendRegistrationLink()}\n />\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.admin_register')}</span>}\n fullWidth\n onClick={() => this.handleAdminRegistration()}\n />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"profile-zrmz2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/profile-zrmz/profile-zrmz.css?tag=profile-zrmz","src/components/profile-zrmz/profile-zrmz.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.zrmz-container {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: 0px 16px;\n height: 100%;\n width: 100%;\n}\n\n.zrmz-card {\n position: relative;\n border-radius: 16px;\n overflow: hidden;\n padding: 8px;\n}\n\n.zrmz-card-image {\n width: 100%;\n height: auto;\n display: block;\n object-fit: contain;\n box-shadow:\n 0 4px 8px rgba(0, 0, 0, 0.05),\n 0 -4px 8px rgba(0, 0, 0, 0.05);\n border-radius: 12px;\n}\n\n.zrmz-content {\n display: flex;\n flex-direction: column;\n gap: 20px;\n padding: 0 8px;\n}\n\n.zrmz-status-text {\n text-align: center;\n font-size: 16px;\n color: var(--color-theme-gray);\n}\n\n.zrmz-actions {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.zrmz-actions button.z-button-outlined {\n color: var(--color-primary);\n border-color: var(--color-primary);\n}\n\n.zrmz-actions button.z-button-outlined:hover {\n background-color: var(--color-paper);\n}\n\n.zrmz-actions button.z-button-outlined {\n color: var(--color-primary);\n border-color: var(--color-primary);\n}\n\n.zrmz-point-section {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n padding-top: 24px;\n}\n\n.zrmz-point-content {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 16px;\n gap: 4px;\n}\n\n.zrmz-point-label {\n font-size: 16px;\n font-weight: 500;\n color: var(--color-surface);\n}\n\n.zrmz-point-edit-link {\n position: absolute;\n right: 0;\n top: 0;\n font-size: 14px;\n color: var(--color-surface);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.zrmz-point-value {\n font-size: 24px;\n font-weight: 600;\n color: var(--color-surface);\n line-height: 1;\n}\n\n.zrmz-tabs {\n display: flex;\n border-bottom: 1px solid var(--color-divider);\n}\n\n.zrmz-tab {\n position: relative;\n flex: 0 0 auto;\n padding: 0 16px 8px 0;\n margin-right: 16px;\n cursor: pointer;\n font-size: 14px;\n color: var(--color-theme-gray);\n}\n\n.zrmz-tab.active {\n color: var(--color-primary);\n font-weight: 500;\n}\n\n.zrmz-tab.active::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 2px;\n background-color: var(--color-primary);\n}\n\n.zrmz-info-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n position: relative;\n padding-top: 16px;\n}\n\n.zrmz-info-edit-icon {\n position: absolute;\n top: 16px;\n right: 8px;\n cursor: pointer;\n}\n\n.zrmz-info-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.zrmz-info-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--color-surface);\n font-weight: 400;\n}\n\n.zrmz-edit-icon {\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.zrmz-info-content-inner {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.zrmz-info-value {\n font-size: 14px;\n color: var(--color-surface);\n font-weight: 400;\n min-height: 24px; /* Ensure height for empty values */\n}\n\n.zrmz-expand-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: -8px;\n z-index: 10;\n position: relative;\n}\n\n.zrmz-expand-icon::before {\n content: '';\n position: absolute;\n width: 100%;\n height: 1px;\n background-color: var(--color-divider);\n z-index: -1;\n}\n\n.zrmz-expand-circle {\n background-color: var(--color-primary);\n border-radius: 50%;\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.zrmz-disconnect-wrapper {\n margin-top: 8px;\n}\n\n.zrmz-disconnect-wrapper .z-button-outlined {\n color: var(--color-primary);\n border-color: var(--color-primary);\n border-radius: 9999px;\n}\n\n.zrmz-history-content {\n display: flex;\n flex-direction: column;\n}\n\n.zrmz-history-item {\n padding: 16px 0;\n border-bottom: 1px solid var(--color-divider);\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.zrmz-history-item:last-child {\n border-bottom: none;\n}\n\n.zrmz-history-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.zrmz-history-action {\n font-size: 14px;\n font-weight: 500;\n color: var(--color-surface);\n}\n\n.zrmz-history-point {\n font-size: 14px;\n font-weight: 500;\n color: var(--color-primary);\n}\n\n.zrmz-history-date {\n font-size: 14px;\n color: var(--color-theme-gray);\n}\n\n.zrmz-history-remark {\n font-size: 14px;\n color: var(--color-theme-gray);\n white-space: pre-wrap;\n}\n\n.zrmz-load-more {\n text-align: center;\n padding: 16px;\n color: var(--color-primary);\n cursor: pointer;\n font-weight: 500;\n}\n\n.zrmz-load-more:hover {\n text-decoration: underline;\n}\n\n.zrmz-popup-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.zrmz-popup-box {\n background-color: var(--color-background);\n border-radius: 16px;\n padding: 24px;\n width: 90%;\n max-width: 400px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n\n.zrmz-popup-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--color-surface);\n text-align: center;\n}\n\n.zrmz-popup-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.zrmz-popup-actions {\n display: flex;\n justify-content: space-between;\n gap: 16px;\n}\n\n.zrmz-popup-actions button {\n flex: 1;\n}\n\n.zrmz-point-popup {\n max-width: 600px;\n}\n\n.zrmz-radio-group {\n display: flex;\n gap: 16px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.zrmz-radio-item {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 16px;\n color: var(--color-surface);\n}\n\n.zrmz-radio-circle {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 2px solid var(--color-primary);\n background-color: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: all 0.2s;\n flex-shrink: 0;\n}\n\n.zrmz-radio-item.selected .zrmz-radio-circle {\n background-color: var(--color-primary);\n position: relative;\n}\n\n.zrmz-radio-item.selected .zrmz-radio-circle::after {\n content: '';\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background-color: white;\n}\n\n.zrmz-popup-content.flex-row {\n flex-direction: row;\n gap: 16px;\n}\n\n.zrmz-popup-content.flex-row > div {\n flex: 1;\n}\n\n/* Override ZSelectInput margin for popup */\n.zrmz-popup-content .mb-4 {\n margin-bottom: 0;\n}\n/* Override ZInput and ZInputArea margin for popup */\n.zrmz-popup-content .mb-2 {\n margin-bottom: 0;\n}\n\n.zrmz-card {\n position: relative;\n}\n\n.zrmz-icon-button {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n color: var(--color-primary);\n background-color: var(--color-background);\n padding: 4px;\n}\n\n.zrmz-share-menu {\n position: absolute;\n top: 52px;\n right: 16px;\n background-color: var(--color-background);\n border-radius: 12px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n z-index: 20;\n min-width: 140px;\n}\n\n.zrmz-share-menu-item {\n padding: 8px 16px;\n cursor: pointer;\n color: var(--color-primary);\n font-size: 14px;\n white-space: nowrap;\n transition: background-color 0.2s;\n}\n\n.zrmz-share-menu-item:hover {\n background-color: var(--color-paper);\n}\n\n.zrmz-share-menu-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 15;\n cursor: default;\n}\n\n.zrmz-lock-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.45);\n z-index: 1000;\n display: flex;\n justify-content: center;\n align-items: center;\n backdrop-filter: blur(2px);\n}\n\n.zrmz-lock-content {\n background-color: var(--color-background);\n border-radius: 16px;\n padding: 32px 24px;\n width: 90%;\n max-width: 340px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n text-align: center;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n\n.zrmz-lock-icon {\n margin-bottom: 8px;\n}\n\n.zrmz-lock-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--color-surface);\n}\n\n.zrmz-lock-desc {\n font-size: 14px;\n color: var(--color-surface);\n line-height: 1.5;\n margin-bottom: 8px;\n}\n\n.zrmz-lock-button {\n width: 100%;\n}\n","import { Component, Host, State, h } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport { ZButton } from '../internal-component/z-button';\nimport { Icon } from '../internal-component/icon';\nimport { useTranslation } from '../../utils/utils';\nimport { selectedChatStore } from '../../store/store';\nimport { handleError, openDialog, closeDialog, DIALOG_TYPE } from '../../store/dialog';\nimport { getZrmzShopUrl, sendMessage, getZwizUserProfile, getZrmzCustomerInfo, getZrmzPointHistory, updateZrmzCustomer, getZrmzShopProfile, createZrmzCustomer, disconnectZrmzCustomer, getZrmzCondition, adjustZrmzCustomerPoint, adjustZrmzCustomerPointByCondition } from '../../api';\nimport { ZRMZ_API_URL } from '../../utils/constant';\nimport { GetZwizUserProfileResponse, ZrmzCustomerInfo, ZrmzPointHistory, ZrmzShopProfile, GetZrmzConditionResponse } from '../../api/type';\nimport { displayDateTime } from '../../utils/dayjs';\nimport { AdminRegisterFormData } from './admin-register-popup';\nimport { PointEditFormData } from './point-update-popup';\nimport { CustomerInfoEditFormData } from './customer-info-edit-popup';\n\n@Component({\n tag: 'profile-zrmz',\n styleUrl: 'profile-zrmz.css',\n})\nexport class ProfileZrmz {\n @State() profile: GetZwizUserProfileResponse | null = null;\n @State() shopProfile: ZrmzShopProfile | null = null;\n @State() customerInfo: ZrmzCustomerInfo | null = null;\n @State() pointHistory: ZrmzPointHistory | null = null;\n @State() zrmzCondition: GetZrmzConditionResponse | null = null;\n @State() isLoading = false;\n @State() isGeneratingShopUrl = false;\n @State() activeTab: 'info' | 'history' = 'info';\n @State() isExpand = false;\n @State() isEditPopupOpen = false;\n @State() editFormData: CustomerInfoEditFormData = {\n firstName: '',\n lastName: '',\n phoneNumber: '',\n email: '',\n callingCode: '66',\n };\n @State() isCustomerInfoLoading = false;\n\n @State() isPointEditPopupOpen = false;\n @State() isPointUpdateLoading = false;\n @State() isShareMenuOpen = false;\n @State() isLoadingShareMenu = false;\n\n @State() pointEditFormData: PointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n note: '',\n conditionId: '',\n };\n\n @State() isAdminRegisterPopupOpen = false;\n @State() adminRegisterFormData: AdminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: '',\n buttonName: '',\n buttonLink: '',\n };\n\n @State() isExpired = false;\n @State() isLimitReach = false;\n\n handleCheckPackage = () => {\n let maxUser = 10\n\n if (this.shopProfile?.remaining_days_of_platinum_package) {\n maxUser = 100000\n } else if (this.shopProfile?.remaining_days_of_gold_package) {\n maxUser = 50000\n } else if (this.shopProfile?.remaining_days_of_premium_package) {\n maxUser = 10000\n } else if (this.shopProfile?.remaining_days_of_bronze_package) {\n maxUser = 5000\n }\n\n const isFree = Boolean(!this.shopProfile?.remaining_days_of_gold_package &&\n !this.shopProfile?.remaining_days_of_platinum_package &&\n !this.shopProfile?.remaining_days_of_premium_package &&\n !this.shopProfile?.remaining_days_of_bronze_package)\n\n if (isFree && this.shopProfile?.total_customers > maxUser) {\n this.isExpired = true\n } else if (this.shopProfile?.total_customers >= maxUser) {\n this.isLimitReach = true\n } else {\n this.isExpired = false\n this.isLimitReach = false\n }\n };\n\n handlePointEditClick = () => {\n this.pointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n conditionId: '',\n note: '',\n };\n this.isPointEditPopupOpen = true;\n };\n\n handleShareClick = () => {\n this.isShareMenuOpen = !this.isShareMenuOpen;\n };\n\n handleSaveImage = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n\n try {\n const url = this.getImgProfile();\n const response = await fetch(url);\n const blob = await response.blob();\n const blobUrl = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = blobUrl;\n link.download = `zrmz-card-${this.customerInfo?.id || 'unknown'}.png`;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n window.URL.revokeObjectURL(blobUrl);\n } catch (error) {\n handleError(error);\n } finally {\n this.isLoadingShareMenu = false;\n }\n };\n\n handleSendToChat = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n const selectedChat = selectedChatStore.get('selectedChat');\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'image',\n url: this.getImgProfile(),\n }],\n });\n this.isLoadingShareMenu = false;\n };\n\n getImgProfile() {\n const botPageData = selectedChatStore.state.botPageData;\n if (botPageData?.connect_zrm_business_profile_id && this.customerInfo?.id) {\n const timestamp = dayjs().format('x');\n return `${ZRMZ_API_URL}/api/business/${botPageData.connect_zrm_business_profile_id}/customer/${this.customerInfo.id}/card?${timestamp}&scale=2`;\n }\n return 'https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png';\n }\n\n handlePointEditClose = () => {\n this.isPointEditPopupOpen = false;\n };\n\n handlePointEditSave = async (event: CustomEvent<PointEditFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isPointUpdateLoading = true;\n\n if (formData.action === 'condition') {\n await adjustZrmzCustomerPointByCondition({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n condition_id: formData.conditionId,\n value: parseInt(formData.amount),\n });\n } else {\n await adjustZrmzCustomerPoint({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n point_type: formData.pointType,\n amount: parseInt(formData.amount),\n action: formData.action as 'add' | 'remove',\n remark: formData.note || undefined,\n });\n }\n\n await Promise.all([\n this.fetchCustomerInfo(connectionId, this.profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, this.profile.zrm_customer_id),\n ]);\n this.isPointEditPopupOpen = false;\n\n } catch (error) {\n handleError(error, 'Failed to adjust customer points');\n } finally {\n this.isPointUpdateLoading = false;\n }\n };\n\n handleDisconnectClick = () => {\n const t = useTranslation();\n openDialog({\n open: true,\n title: t('chat_profile_view.zrmz.disconnect_confirm_title'),\n contentCustom: t('chat_profile_view.zrmz.disconnect_confirm_message'),\n type: DIALOG_TYPE.WARNING,\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n closeDialog();\n return;\n }\n\n try {\n const response = await disconnectZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n customer_id: this.profile.zrm_customer_id,\n });\n\n if (response.success) {\n // Clear customer info and refresh profile\n this.customerInfo = null;\n this.lastZrmCustomerId = null;\n await this.fetchProfile();\n closeDialog();\n } else {\n handleError(new Error(response.message || 'Failed to disconnect customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to disconnect customer');\n }\n },\n onCloseDialog: () => closeDialog(),\n });\n };\n\n handleEditClick = () => {\n this.editFormData = {\n firstName: this.customerInfo?.first_name || '',\n lastName: this.customerInfo?.last_name || '',\n phoneNumber: this.customerInfo?.phone_number || '',\n email: this.customerInfo?.email || '',\n callingCode: this.customerInfo?.phone_number_country_code || '66',\n };\n this.isEditPopupOpen = true;\n };\n\n handleEditClose = () => {\n this.isEditPopupOpen = false;\n };\n\n handleEditSave = async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.customerInfo?.id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isCustomerInfoLoading = true;\n const response = await updateZrmzCustomer({\n connectionId,\n customer_id: this.customerInfo.id,\n first_name: this.editFormData.firstName || undefined,\n last_name: this.editFormData.lastName || undefined,\n email: this.editFormData.email || undefined,\n phone_number: this.editFormData.phoneNumber || undefined,\n phone_number_country_code: this.editFormData.phoneNumber ? this.editFormData.callingCode : undefined,\n });\n\n if (response.success) {\n // Update local customer info with response data\n this.customerInfo = response.result;\n this.isEditPopupOpen = false;\n } else {\n handleError(new Error(response.message || 'Failed to update customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to update customer information');\n } finally {\n this.isCustomerInfoLoading = false;\n }\n };\n\n hasFormChanged = () => {\n if (!this.customerInfo) return false;\n\n return (\n this.editFormData.firstName !== (this.customerInfo.first_name || '') ||\n this.editFormData.lastName !== (this.customerInfo.last_name || '') ||\n this.editFormData.phoneNumber !== (this.customerInfo.phone_number || '') ||\n this.editFormData.email !== (this.customerInfo.email || '') ||\n this.editFormData.callingCode !== (this.customerInfo.phone_number_country_code || '66')\n );\n };\n\n @State() isHistoryLoading = false;\n\n private disposeSelectedChatListener: () => void;\n private lastConnectionId: string | null = null;\n private lastUserId: string | null = null;\n private lastZrmCustomerId: string | null = null;\n\n async componentWillLoad() {\n await this.fetchProfile();\n\n this.disposeSelectedChatListener = selectedChatStore.onChange('selectedChat', async (newChat) => {\n if (newChat?.connection?.id && (newChat.connection.id !== this.lastConnectionId || newChat.user.id !== this.lastUserId)) {\n await this.fetchProfile();\n }\n });\n }\n\n disconnectedCallback() {\n if (this.disposeSelectedChatListener) this.disposeSelectedChatListener();\n }\n\n async fetchProfile() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (selectedChat.connection.type !== 'zwiz') {\n this.profile = null;\n this.shopProfile = null;\n this.customerInfo = null;\n this.pointHistory = null;\n return;\n }\n\n if (connectionId) {\n this.lastConnectionId = connectionId;\n this.lastUserId = selectedChat.user.id;\n try {\n this.isLoading = true;\n const [profile, shopProfile] = await Promise.all([\n getZwizUserProfile(connectionId, selectedChat.channel, selectedChat.user.id),\n getZrmzShopProfile(connectionId)\n ]);\n\n this.profile = profile;\n this.shopProfile = shopProfile.result;\n\n this.handleCheckPackage();\n\n // Fetch customer info if zrm_customer_id exists and has changed\n if (profile?.zrm_customer_id && profile.zrm_customer_id !== this.lastZrmCustomerId) {\n await Promise.all([\n this.fetchCustomerInfo(connectionId, profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, profile.zrm_customer_id),\n this.fetchZrmzCondition(connectionId),\n ])\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Profile');\n } finally {\n this.isLoading = false;\n }\n }\n }\n\n async fetchCustomerInfo(connectionId: string, zrmCustomerId: string) {\n try {\n const response = await getZrmzCustomerInfo(connectionId, zrmCustomerId);\n this.customerInfo = response.result;\n this.lastZrmCustomerId = zrmCustomerId;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Customer Info');\n }\n }\n\n async fetchZrmzCondition(connectionId: string) {\n try {\n const response = await getZrmzCondition({ connectionId });\n this.zrmzCondition = response;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Condition');\n }\n }\n\n async fetchPointHistory(connectionId: string, zrmCustomerId: string, loadMore = false) {\n if (this.isHistoryLoading) return;\n\n try {\n this.isHistoryLoading = true;\n const offset = loadMore && this.pointHistory ? this.pointHistory.transactions.length : 0;\n const response = await getZrmzPointHistory({ connectionId, customerId: zrmCustomerId, limit: 10, offset });\n\n if (loadMore && this.pointHistory) {\n this.pointHistory = {\n ...response.result, // Update total\n transactions: [...(this.pointHistory.transactions || []), ...(response.result.transactions || [])],\n };\n } else {\n this.pointHistory = response.result;\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Point History');\n } finally {\n this.isHistoryLoading = false;\n }\n }\n\n async handleSendRegistrationLink() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n const t = useTranslation();\n\n if (!connectionId || !this.profile || !selectedBotPageData) {\n return;\n }\n\n try {\n this.isGeneratingShopUrl = true;\n const response = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'register',\n });\n\n if (response.url) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: t('chat_profile_view.zrmz.register_message'),\n buttons: [\n {\n id: 'zrmz-register-button',\n action_type: 'url',\n text: t('chat_profile_view.zrmz.register_button'),\n action: response.url,\n }\n ],\n }],\n });\n }\n } catch (error) {\n const errorMessage = 'Failed to generate registration link';\n handleError(error, errorMessage);\n } finally {\n this.isGeneratingShopUrl = false;\n }\n }\n\n\n handleAdminRegistration = async () => {\n const t = useTranslation();\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isGeneratingShopUrl = true;\n const shopUrlResponse = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'login',\n });\n\n this.adminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: t('chat_profile_view.zrmz.login_info'),\n buttonName: t('chat_profile_view.zrmz.login'),\n buttonLink: shopUrlResponse.url,\n };\n this.isAdminRegisterPopupOpen = true;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Shop URL');\n } finally {\n this.isGeneratingShopUrl = false;\n }\n };\n\n handleAdminRegisterClose = () => {\n this.isAdminRegisterPopupOpen = false;\n };\n\n handleAdminRegisterSave = async (event: CustomEvent<AdminRegisterFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n const selectedBotPageData = selectedChatStore.get('botPageData');\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isLoading = true;\n\n // Call API to create customer\n await createZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n phone_number: formData.phoneNumber || undefined,\n phone_number_country_code: formData.phoneNumber ? (formData.callingCode || undefined) : undefined,\n email: formData.email || undefined,\n });\n\n // Send login link if selected\n if (formData.isSendLoginLink && formData.buttonLink) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: formData.buttonTitle,\n buttons: [{\n id: 'login-btn',\n action_type: 'url',\n text: formData.buttonName,\n action: formData.buttonLink\n }]\n }]\n });\n }\n\n this.isAdminRegisterPopupOpen = false;\n this.adminRegisterFormData = formData;\n\n // Refresh profile to update UI\n await this.fetchProfile();\n\n } catch (error) {\n handleError(error, 'Failed to register admin');\n } finally {\n this.isLoading = false;\n }\n };\n\n\n renderAdminRegisterPopup() {\n return (\n <admin-register-popup\n isOpen={this.isAdminRegisterPopupOpen}\n data={this.adminRegisterFormData}\n registerType={this.shopProfile?.register_type}\n onPopupClose={() => this.isAdminRegisterPopupOpen = false}\n onPopupSave={this.handleAdminRegisterSave}\n onFormDataChange={(e) => this.adminRegisterFormData = e.detail}\n />\n );\n }\n\n renderMemberView() {\n const t = useTranslation();\n const pointOptions = this.shopProfile?.membership_format_value?.map(p => ({ label: p, value: p })) || [];\n const pointConditionOptions = this.zrmzCondition?.result.conditions?.filter(c => c.is_active).map(c => ({ label: c.name, value: c.id })) || [];\n\n return (\n <div>\n\n <customer-info-edit-popup\n isOpen={this.isEditPopupOpen}\n data={this.editFormData}\n saveEnabled={this.hasFormChanged()}\n isLoading={this.isCustomerInfoLoading}\n onPopupClose={this.handleEditClose}\n onPopupSave={this.handleEditSave}\n onFormDataChange={(e) => this.editFormData = e.detail}\n />\n\n <div class=\"zrmz-card relative\">\n <img\n src={this.getImgProfile()}\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.handleShareClick()}>\n {this.isLoadingShareMenu ? <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" /> : <Icon name=\"Share2\" addClass=\"text-primary size-5\" />}\n </div>\n {this.isShareMenuOpen && (\n <div class=\"zrmz-share-menu-wrapper\">\n <div class=\"zrmz-share-menu-backdrop\" onClick={() => (this.isShareMenuOpen = false)}></div>\n <div class=\"zrmz-share-menu\">\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSaveImage()}>\n {t('chat_profile_view.zrmz.save_image')}\n </div>\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSendToChat()}>\n {t('chat_profile_view.zrmz.send_to_chat')}\n </div>\n </div>\n </div>\n )}\n </div>\n {/* Point Section */}\n <div class=\"zrmz-point-section\">\n <point-update-popup\n isOpen={this.isPointEditPopupOpen}\n data={this.pointEditFormData}\n pointOptions={pointOptions}\n pointConditionOptions={pointConditionOptions}\n isLoading={this.isPointUpdateLoading}\n onPopupClose={this.handlePointEditClose}\n onPopupSave={this.handlePointEditSave}\n onFormDataChange={(e) => this.pointEditFormData = e.detail}\n />\n\n <div class=\"zrmz-point-edit-link underline cursor-pointer\" onClick={() => this.handlePointEditClick()}>\n {t('chat_profile_view.zrmz.update_point')}\n </div>\n {\n this.customerInfo?.points?.map((point) => (\n <div class=\"zrmz-point-content\">\n <div class=\"zrmz-point-label\">{point.point_type}</div>\n <div class=\"zrmz-point-value\">{point.amount}</div>\n </div>\n ))\n }\n </div>\n\n {/* Tabs */}\n <div class=\"zrmz-tabs\">\n <div\n class={`zrmz-tab ${this.activeTab === 'info' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'info'}\n >\n {t('chat_profile_view.zrmz.customer_info')}\n </div>\n <div\n class={`zrmz-tab ${this.activeTab === 'history' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'history'}\n >\n {t('chat_profile_view.zrmz.point_history')}\n </div>\n </div>\n\n {/* Tab Content */}\n <div class=\"zrmz-tab-content\">\n {this.activeTab === 'info' ? (\n <div class=\"zrmz-info-content\">\n <div class=\"zrmz-info-edit-icon\" onClick={() => this.handleEditClick()}>\n <Icon name=\"Edit\" addClass=\"text-primary size-5\" />\n </div>\n <div class=\"zrmz-info-content-inner\">\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.name_surname')}</div>\n <div class=\"zrmz-info-value\">{[this.customerInfo?.first_name, this.customerInfo?.last_name].filter(Boolean).join(' ') || '-'}</div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.phone_number')}</div>\n <div class=\"zrmz-info-value\">\n {this.customerInfo?.phone_number ? `+${this.customerInfo?.phone_number_country_code || ''}${this.customerInfo?.phone_number}` : '-'}\n </div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.email')}</div>\n <div class=\"zrmz-info-value\">{this.customerInfo?.email || '-'}</div>\n </div>\n </div>\n <div class=\"zrmz-expand-icon\">\n <div class=\"zrmz-expand-circle\" onClick={() => this.isExpand = !this.isExpand}>\n <Icon name={this.isExpand ? 'ChevronUp' : 'ChevronDown'} addClass=\"text-white size-5\" />\n </div>\n </div>\n {this.isExpand && <div class=\"zrmz-disconnect-wrapper\">\n <ZButton\n variant=\"outlined\"\n fullWidth\n onClick={() => this.handleDisconnectClick()}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.disconnect_member')}</span>}\n />\n </div>}\n </div>\n ) : (\n <div class=\"zrmz-history-content\">\n {this.pointHistory?.transactions?.map((transaction) => (\n <div class=\"zrmz-history-item\">\n <div class=\"zrmz-history-row\">\n <div class=\"zrmz-history-action\">\n {transaction.action === 'add' ? t('add') : t('chat_profile_view.zrmz.remove')}\n </div>\n <div class=\"zrmz-history-point\">\n {transaction.amount} {transaction.point_type}\n </div>\n </div>\n <p class=\"zrmz-history-remark\">{transaction.remark}</p>\n <div class=\"zrmz-history-date\">\n {displayDateTime(new Date(transaction.created_at))}\n </div>\n </div>\n ))}\n {this.pointHistory && (this.pointHistory.transactions?.length || 0) < this.pointHistory.total && (\n <div class=\"zrmz-load-more\" onClick={() => this.fetchPointHistory(this.lastConnectionId, this.lastZrmCustomerId, true)}>\n {this.isHistoryLoading ? t('chat_profile_view.zrmz.loading') : t('chat_profile_view.zrmz.load_more')}\n </div>\n )}\n {!this.pointHistory?.transactions?.length && !this.isHistoryLoading && (\n <div class=\"text-center text-gray-500 py-4\">{t('chat_profile_view.zrmz.no_history')}</div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n }\n\n renderLockOverlay() {\n const t = useTranslation();\n if (!this.isExpired && (!this.isLimitReach || this.getIsMember())) return null;\n\n return (\n <div class=\"zrmz-lock-overlay\">\n <div class=\"zrmz-lock-content\">\n <div class=\"zrmz-lock-icon\">\n <Icon name=\"AlertCircle\" addClass=\"text-red-500 w-16 h-16\" />\n </div>\n <div class=\"zrmz-lock-title\">{this.isExpired ? t('chat_profile_view.zrmz.package_expired') : t('chat_profile_view.zrmz.package_limit_reach')}</div>\n <div class=\"zrmz-lock-desc\" innerHTML={this.isExpired ? t('chat_profile_view.zrmz.upgrade_package_description') : t('chat_profile_view.zrmz.upgrade_package_description')}></div>\n <ZButton\n variant=\"primary\"\n label={<span class=\"text-white\">{this.isExpired ? t('chat_profile_view.zrmz.upgrade_package') : t('chat_profile_view.zrmz.upgrade_package')}</span>}\n fullWidth\n onClick={() => window.open('https://zwiz.app/login', '_blank')}\n />\n </div>\n </div>\n );\n }\n\n getIsMember() {\n return this.profile?.zrm_customer_id != null;\n }\n\n render() {\n const t = useTranslation();\n\n if (this.isLoading) {\n return (\n <Host>\n <div class=\"flex justify-center items-center h-40\">\n <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" />\n </div>\n </Host>\n );\n }\n\n if (!this.profile) {\n return <Host></Host>;\n }\n\n if (this.getIsMember()) {\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderMemberView()}\n {this.renderLockOverlay()}\n </div>\n </Host>\n )\n }\n\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderLockOverlay()}\n {this.renderAdminRegisterPopup()}\n <div class=\"zrmz-card\">\n <img\n src=\"https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png\"\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.fetchProfile()}>\n <Icon name=\"RotateCw\" addClass=\"text-primary size-5\" />\n </div>\n </div>\n\n <div class=\"zrmz-content\">\n <div class=\"zrmz-status-text\">\n {t('chat_profile_view.zrmz.not_member')}\n </div>\n\n <div class=\"zrmz-actions\">\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.send_registration_link')}</span>}\n fullWidth\n onClick={() => this.handleSendRegistrationLink()}\n />\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.admin_register')}</span>}\n fullWidth\n onClick={() => this.handleAdminRegistration()}\n />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}