@ethora/chat-component-rn 26.5.10 → 26.5.11
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/CHANGELOG.md +59 -1
- package/README.md +29 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +31 -16
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +17 -3
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +17 -14
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +12 -9
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js +119 -0
- package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +39 -3
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +64 -36
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +153 -62
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +5 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalHeaderComponent.js +10 -0
- package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +13 -4
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +6 -3
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +44 -25
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/helpers/mimeToExtension.js +56 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +33 -8
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +31 -16
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +18 -4
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +17 -14
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +13 -10
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/InteractionsOverlay.js +112 -0
- package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +40 -4
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +66 -38
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -64
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/ModalHeaderComponent.js +10 -0
- package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +13 -4
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +6 -3
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +45 -26
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/helpers/mimeToExtension.js +55 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/hooks/useLogout.js +33 -8
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +29 -4
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts +13 -0
- package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts +8 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts +23 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +16 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +7 -4
- package/src/components/MainComponents/ChatHeader.tsx +46 -15
- package/src/components/MainComponents/ChatRoom.tsx +17 -3
- package/src/components/MainComponents/ChatWrapper.tsx +28 -21
- package/src/components/MainComponents/MediaMessage.tsx +11 -8
- package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
- package/src/components/MessageBubble/Message.tsx +44 -3
- package/src/components/MessageBubble/MessageInteractions.tsx +67 -48
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +144 -51
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +10 -2
- package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
- package/src/components/Modals/styledModalComponents.tsx +13 -4
- package/src/components/styled/StyledComponents.ts +6 -3
- package/src/components/styled/VideoMessage.tsx +21 -5
- package/src/helpers/mimeToExtension.ts +64 -0
- package/src/hooks/useLogout.tsx +33 -10
- package/src/networking/api-requests/rooms.api.ts +31 -7
- package/src/types/types.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachSheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/AttachSheet/AttachSheet.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,
|
|
1
|
+
{"version":3,"file":"AttachSheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/AttachSheet/AttachSheet.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAsC,MAAM,OAAO,CAAC;AAa3D,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6L3C,CAAC;AAmFF,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatProfileModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/ChatProfileModal/ChatProfileModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAqC5D,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ChatProfileModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/ChatProfileModal/ChatProfileModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAqC5D,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA8arD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilePreviewModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAsGnD,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"FilePreviewModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAsGnD,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAmPrD,CAAC;AAkBF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHeaderComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Modals/ModalHeaderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ModalHeaderComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Modals/ModalHeaderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,UAAU,yBAAyB;IACjC,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA2B7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styledModalComponents.d.ts","sourceRoot":"","sources":["../../../../src/components/Modals/styledModalComponents.tsx"],"names":[],"mappings":"AAAA,cAAc;AAKd,eAAO,MAAM,eAAe,iPAQ3B,CAAC;AAEF,eAAO,MAAM,WAAW,mYAQvB,CAAC;AAEF,eAAO,MAAM,cAAc,iPAa1B,CAAC;AAEF,eAAO,MAAM,UAAU,iPAItB,CAAC;AAEF,eAAO,MAAM,gBAAgB,iPAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,iPAK1B,CAAC;AAEF,eAAO,MAAM,wBAAwB,iPASpC,CAAC;AAEF,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"styledModalComponents.d.ts","sourceRoot":"","sources":["../../../../src/components/Modals/styledModalComponents.tsx"],"names":[],"mappings":"AAAA,cAAc;AAKd,eAAO,MAAM,eAAe,iPAQ3B,CAAC;AAEF,eAAO,MAAM,WAAW,mYAQvB,CAAC;AAEF,eAAO,MAAM,cAAc,iPAa1B,CAAC;AAEF,eAAO,MAAM,UAAU,iPAItB,CAAC;AAEF,eAAO,MAAM,gBAAgB,iPAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,iPAK1B,CAAC;AAEF,eAAO,MAAM,wBAAwB,iPASpC,CAAC;AAEF,eAAO,MAAM,eAAe,iPAwB3B,CAAC;AAEF,eAAO,MAAM,UAAU,iPAItB,CAAC;AAEF,eAAO,MAAM,WAAW,iPAIvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;oBAK3B,CAAC;AAEF,eAAO,MAAM,YAAY,iPAKxB,CAAC;AAEF,eAAO,MAAM,QAAQ,iPAMpB,CAAC;AAEF,eAAO,MAAM,QAAQ,iPAIpB,CAAC;AAEF,eAAO,MAAM,UAAU,iPAItB,CAAC;AAEF,eAAO,MAAM,iBAAiB,iPAO7B,CAAC;AAEF,eAAO,MAAM,SAAS,iPAIrB,CAAC;AAEF,eAAO,MAAM,KAAK,iPAGjB,CAAC;AAEF,eAAO,MAAM,YAAY,6PAExB,CAAC;AAEF,eAAO,MAAM,YAAY,iPAMxB,CAAC;AAEF,eAAO,MAAM,QAAQ,iPAIpB,CAAC;AAEF,eAAO,MAAM,OAAO,iPAInB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyledComponents.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/StyledComponents.ts"],"names":[],"mappings":"AAAA,cAAc;AAQd,eAAO,MAAM,aAAa,iPAMzB,CAAC;AAEF,eAAO,MAAM,eAAe,iPAM3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,iPAU/B,CAAC;AAEF,eAAO,MAAM,eAAe;iBACb,OAAO;gBACR,OAAO;;iBADN,OAAO;gBACR,OAAO;oBAYpB,CAAC;AAEF,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"StyledComponents.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/StyledComponents.ts"],"names":[],"mappings":"AAAA,cAAc;AAQd,eAAO,MAAM,aAAa,iPAMzB,CAAC;AAEF,eAAO,MAAM,eAAe,iPAM3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,iPAU/B,CAAC;AAEF,eAAO,MAAM,eAAe;iBACb,OAAO;gBACR,OAAO;;iBADN,OAAO;gBACR,OAAO;oBAYpB,CAAC;AAEF,eAAO,MAAM,0BAA0B,mYAYtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,iPASnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,iPAOpC,CAAC;AAGF,eAAO,MAAM,WAAW,iPAQvB,CAAC;AAEF,eAAO,MAAM,cAAc,6PAI1B,CAAC;AAEF,eAAO,MAAM,YAAY,iPAIxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,iPAI5B,CAAC;AAEF,eAAO,MAAM,OAAO;YAAyB,OAAO;;YAAP,OAAO;oBAQnD,CAAC;AAEF,eAAO,MAAM,WAAW,iPAGvB,CAAC;AAEF,eAAO,MAAM,QAAQ,iPAGpB,CAAC;AAGF,eAAO,MAAM,cAAc,iPAO1B,CAAC;AAEF,eAAO,MAAM,YAAY,2PAMxB,CAAC;AAEF,eAAO,MAAM,UAAU,mYAGtB,CAAC;AAEF,eAAO,MAAM,UAAU,mYAOtB,CAAC;AAEF,eAAO,MAAM,cAAc,iPAE1B,CAAC;AAGF,eAAO,MAAM,YAAY;cACb,MAAM;WACT,MAAM;iBACA,OAAO;;cAFV,MAAM;WACT,MAAM;iBACA,OAAO;oBAUrB,CAAC;AAEF,eAAO,MAAM,WAAW;WAAyB,MAAM;;WAAN,MAAM;oBAKtD,CAAC;AAEF,eAAO,MAAM,YAAY,mYAUxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,iPAI5B,CAAC;AAEF,eAAO,MAAM,YAAY;WAAwB,MAAM;YAAU,MAAM;;WAAtB,MAAM;YAAU,MAAM;oBAItE,CAAC;AAEF,eAAO,MAAM,OAAO,iPAWnB,CAAC;AAEF,eAAO,MAAM,iBAAiB;aACnB,OAAO;YACR,MAAM;eACH,MAAM;;aAFR,OAAO;YACR,MAAM;eACH,MAAM;oBAKlB,CAAC;AAEF,eAAO,MAAM,SAAS,2PAErB,CAAC;AAEF,eAAO,MAAM,mBAAmB,iPAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,iPAKvB,CAAC;AAEF,eAAO,MAAM,eAAe,iPAG3B,CAAC;AAEF,eAAO,MAAM,IAAI,iPAIhB,CAAC;AAEF,eAAO,MAAM,YAAY;iBAA8B,MAAM;;iBAAN,MAAM;oBAK5D,CAAC;AAEF,eAAO,MAAM,aAAa,mYAQzB,CAAC;AAEF,eAAO,MAAM,OAAO;cACR,MAAM;WACT,MAAM;iBACA,OAAO;;cAFV,MAAM;WACT,MAAM;iBACA,OAAO;oBAWrB,CAAC;AAEF,eAAO,MAAM,mBAAmB,iPAS/B,CAAC;AAEF,eAAO,MAAM,aAAa;YAAyB,OAAO;;YAAP,OAAO;oBAazD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/VideoMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"VideoMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/VideoMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgEzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true when the (mime, fileName, url) triple looks like an
|
|
3
|
+
* audio payload — either by mime, by recognised extension on the
|
|
4
|
+
* filename or URL path, or by a voice-message naming hint. The hint
|
|
5
|
+
* branch is what catches voicemails sent as `application/octet-stream`
|
|
6
|
+
* with a generic `.bin` filename (customer-reported #9 voicemail).
|
|
7
|
+
*/
|
|
8
|
+
export declare function isLikelyAudio(mime: string | undefined | null, fileName?: string | null, url?: string | null): boolean;
|
|
1
9
|
/**
|
|
2
10
|
* Returns the conventional extension (including the leading dot) for a
|
|
3
11
|
* MIME type, or `.bin` as a last-resort fallback so callers never end up
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mimeToExtension.d.ts","sourceRoot":"","sources":["../../../src/helpers/mimeToExtension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mimeToExtension.d.ts","sourceRoot":"","sources":["../../../src/helpers/mimeToExtension.ts"],"names":[],"mappings":"AAuFA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAClB,OAAO,CA8BT;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAI3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAWtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACnC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC9B,MAAM,CAKR;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,GAAG,MAAM,CAOT"}
|
|
@@ -22,6 +22,28 @@ declare const logoutService: {
|
|
|
22
22
|
*/
|
|
23
23
|
performLogout: () => Promise<void>;
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Hook that returns an awaitable logout function.
|
|
27
|
+
*
|
|
28
|
+
* ```tsx
|
|
29
|
+
* const logout = useLogout();
|
|
30
|
+
* await logout();
|
|
31
|
+
* navigation.replace('SignIn'); // disk is provably clean here
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* The returned function resolves AFTER all teardown work has landed:
|
|
35
|
+
* XMPP disconnect, redux reset, persisted slices wiped, stray
|
|
36
|
+
* AsyncStorage keys removed, REST cache cleared. It never rejects —
|
|
37
|
+
* any internal failure is logged via console.warn so a fire-and-forget
|
|
38
|
+
* `logout()` call (no `await`) still won't crash the host.
|
|
39
|
+
*
|
|
40
|
+
* Why awaitable: the persistence middleware debounces writes by 200ms,
|
|
41
|
+
* and the chat-slice `logout` reducer removes ETHORA_USER fire-and-
|
|
42
|
+
* forget. If the host navigated / re-mounted `<Chat>` immediately
|
|
43
|
+
* after a non-awaited call, the next bootstrap could occasionally
|
|
44
|
+
* read stale persisted state ("old chats reappear"). Awaiting the
|
|
45
|
+
* returned promise eliminates that race entirely.
|
|
46
|
+
*/
|
|
47
|
+
export declare const useLogout: () => (() => Promise<void>);
|
|
26
48
|
export { logoutService };
|
|
27
49
|
//# sourceMappingURL=useLogout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogout.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLogout.tsx"],"names":[],"mappings":"AA0BA,QAAA,MAAM,aAAa;IACjB;;;;;;;;;;;;;;;;;;;;OAoBG;yBACsB,OAAO,CAAC,IAAI,CAAC;CAsFvC,CAAC;AAEF,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"useLogout.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLogout.tsx"],"names":[],"mappings":"AA0BA,QAAA,MAAM,aAAa;IACjB;;;;;;;;;;;;;;;;;;;;OAoBG;yBACsB,OAAO,CAAC,IAAI,CAAC;CAsFvC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS,QAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAahD,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/rooms.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"rooms.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/rooms.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAqGnI;;;;GAIG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAqC9D;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAatE;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,QAAQ,gBAa5C;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAuB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,gBAkBxD;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC,CAkBvB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,gBAkB5D;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,gBAc5C;AAED,wBAAgB,mBAAmB,SAIlC;AAED,YAAY,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -278,6 +278,22 @@ export interface IConfig {
|
|
|
278
278
|
disableMembers?: boolean;
|
|
279
279
|
hideMembers?: boolean;
|
|
280
280
|
disableChatHeaderMenu?: boolean;
|
|
281
|
+
/**
|
|
282
|
+
* Disables uploading / removing the chat icon from the chat-info
|
|
283
|
+
* modal. The avatar stays rendered (initials / current icon) but
|
|
284
|
+
* the press-to-pick / remove affordances are gone — so the room
|
|
285
|
+
* icon becomes read-only regardless of the user's role.
|
|
286
|
+
*/
|
|
287
|
+
disableIconEdit?: boolean;
|
|
288
|
+
/**
|
|
289
|
+
* Disables the tap on a member row in the chat-info member list —
|
|
290
|
+
* the popup that would show user-profile + per-member actions
|
|
291
|
+
* (message / copy-id) never opens. `disableMemberProfileActions`
|
|
292
|
+
* only hid the action BLOCK inside that popup; the popup itself
|
|
293
|
+
* still opened on tap. Set this when no per-member interaction is
|
|
294
|
+
* appropriate (e.g. patient-facing apps). Customer-reported #16.
|
|
295
|
+
*/
|
|
296
|
+
disableMemberTap?: boolean;
|
|
281
297
|
};
|
|
282
298
|
qrUrl?: string;
|
|
283
299
|
roomListStyles?: ViewStyle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethora/chat-component-rn",
|
|
3
|
-
"version": "26.5.
|
|
3
|
+
"version": "26.5.11",
|
|
4
4
|
"description": "Drop-in XMPP chat component for React Native / Expo. <Chat config={...}/> and you're done.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "lib/module/main.js",
|
|
7
|
-
"react-native": "
|
|
7
|
+
"react-native": "lib/module/main.js",
|
|
8
8
|
"source": "src/main.ts",
|
|
9
9
|
"types": "lib/typescript/main.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
|
-
"react-native":
|
|
12
|
+
"react-native": {
|
|
13
|
+
"types": "./lib/typescript/main.d.ts",
|
|
14
|
+
"default": "./lib/module/main.js"
|
|
15
|
+
},
|
|
13
16
|
"import": "./lib/module/main.js",
|
|
14
17
|
"require": "./lib/commonjs/main.js",
|
|
15
18
|
"types": "./lib/typescript/main.d.ts"
|
|
@@ -95,7 +98,7 @@
|
|
|
95
98
|
}
|
|
96
99
|
},
|
|
97
100
|
"scripts": {
|
|
98
|
-
"prepare": "patch-package",
|
|
101
|
+
"prepare": "patch-package && node scripts/install-git-hooks.js",
|
|
99
102
|
"start": "expo start",
|
|
100
103
|
"android": "node scripts/ensure-emulator.js && (expo run:android; node scripts/fix-prebuild-deps.js)",
|
|
101
104
|
"ios": "expo run:ios; node scripts/fix-prebuild-deps.js",
|
|
@@ -65,6 +65,14 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
|
|
|
65
65
|
config?.headerChatMenu && config?.headerChatMenu();
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
+
// Shared open-chat-info handler used by BOTH the outer touchable row
|
|
69
|
+
// and the avatar's own press (the avatar otherwise absorbs taps without
|
|
70
|
+
// bubbling — see the comment on ProfileImagePlaceholder below).
|
|
71
|
+
const openChatInfo = useCallback(
|
|
72
|
+
() => dispatch(setActiveModal(MODAL_TYPES.CHAT_PROFILE)),
|
|
73
|
+
[dispatch]
|
|
74
|
+
);
|
|
75
|
+
|
|
68
76
|
return (
|
|
69
77
|
<>
|
|
70
78
|
<ChatContainerHeader>
|
|
@@ -85,11 +93,14 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
|
|
|
85
93
|
onPress={handleHeaderChatMenu}
|
|
86
94
|
/>
|
|
87
95
|
</View>
|
|
88
|
-
) :
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
96
|
+
) : null
|
|
97
|
+
/* Don't reserve the 15%-wide leftContainer when both the back
|
|
98
|
+
* button is absent AND the burger icon is hidden — the empty
|
|
99
|
+
* slot used to steal width from the title row, clipping the chat
|
|
100
|
+
* name. Customer-reported #15. The right action area still fills
|
|
101
|
+
* its own slot, so the title now starts at the left edge as
|
|
102
|
+
* intended by `disableChatHeaderBurgerMenuIcon`. */
|
|
103
|
+
}
|
|
93
104
|
<CenterContainer
|
|
94
105
|
rightSpace={config?.disableRoomConfig}
|
|
95
106
|
leftSpace={!!config?.headerChatMenu}
|
|
@@ -102,17 +113,37 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
|
|
|
102
113
|
/>
|
|
103
114
|
)}
|
|
104
115
|
<ChatContainerHeaderBoxInfo
|
|
105
|
-
onPress={
|
|
106
|
-
|
|
116
|
+
onPress={openChatInfo}
|
|
117
|
+
// Gates the entry to the CHAT-INFO modal (room name, members,
|
|
118
|
+
// settings) via the dedicated `disableChatInfo.disableChatHeaderMenu`
|
|
119
|
+
// flag. Previously wired to `disableProfilesInteractions`, which
|
|
120
|
+
// is for USER-profile popups (the in-bubble avatar tap, see
|
|
121
|
+
// Message.tsx) — wrong semantic gate, and it meant a consumer
|
|
122
|
+
// who wanted to hide user profiles also lost their entry to
|
|
123
|
+
// the chat info screen.
|
|
124
|
+
disabled={config?.disableChatInfo?.disableChatHeaderMenu}
|
|
107
125
|
>
|
|
108
|
-
<View>
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
126
|
+
{/* No wrapping <View> here: ProfileImagePlaceholder renders
|
|
127
|
+
* its avatar as a TouchableOpacity (AvatarCircle) that
|
|
128
|
+
* INTERCEPTS taps even when its own onPress is undefined —
|
|
129
|
+
* so without forwarding a press handler, tapping the chat
|
|
130
|
+
* avatar did nothing (clicks on the name worked because
|
|
131
|
+
* those bubble up to the outer TouchableOpacity). Pass
|
|
132
|
+
* `click` so the avatar fires the same openChatInfo
|
|
133
|
+
* dispatch; the surrounding text + the gap between avatar
|
|
134
|
+
* and text continue to be handled by the outer
|
|
135
|
+
* ChatContainerHeaderBoxInfo. */}
|
|
136
|
+
<ProfileImagePlaceholder
|
|
137
|
+
name={currentRoom?.title || currentRoom?.name}
|
|
138
|
+
size={40}
|
|
139
|
+
icon={currentRoom?.icon}
|
|
140
|
+
active={!config?.disableChatInfo?.disableChatHeaderMenu}
|
|
141
|
+
click={
|
|
142
|
+
config?.disableChatInfo?.disableChatHeaderMenu
|
|
143
|
+
? undefined
|
|
144
|
+
: { isClick: true, onPress: openChatInfo }
|
|
145
|
+
}
|
|
146
|
+
/>
|
|
116
147
|
<ChatContainerHeaderInfo>
|
|
117
148
|
<ChatContainerHeaderLabel numberOfLines={1} ellipsizeMode="tail">
|
|
118
149
|
{currentRoom?.title || currentRoom?.name}
|
|
@@ -154,6 +154,19 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
|
|
|
154
154
|
dispatch(setEditAction({ isEdit: false }));
|
|
155
155
|
};
|
|
156
156
|
|
|
157
|
+
// Read the latest client through a ref so this effect's setup phase
|
|
158
|
+
// does NOT re-run on every `client` identity change. With `client` in
|
|
159
|
+
// the deps array, a reconnect or any provider re-render would re-fire
|
|
160
|
+
// setup → `dispatch(setVisibleRoom(...))` ~one tick after the host
|
|
161
|
+
// cleared visibility via the `isVisible` prop (XmppProvider) — racing
|
|
162
|
+
// and clobbering it, so `useUnread()` reported 0 in tab-mounted hosts.
|
|
163
|
+
// Customer-reported #19. The cleanup still needs the live client for
|
|
164
|
+
// flushLastViewedToPrivateStoreStanza, which is what the ref provides.
|
|
165
|
+
const clientRef = useRef(client);
|
|
166
|
+
useEffect(() => {
|
|
167
|
+
clientRef.current = client;
|
|
168
|
+
}, [client]);
|
|
169
|
+
|
|
157
170
|
useEffect(() => {
|
|
158
171
|
if (!activeRoomJID) {
|
|
159
172
|
return;
|
|
@@ -170,8 +183,9 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
|
|
|
170
183
|
}),
|
|
171
184
|
);
|
|
172
185
|
dispatch(clearVisibleRoom());
|
|
173
|
-
|
|
174
|
-
|
|
186
|
+
const liveClient = clientRef.current;
|
|
187
|
+
if (liveClient) {
|
|
188
|
+
liveClient
|
|
175
189
|
.flushLastViewedToPrivateStoreStanza(store.getState().rooms?.rooms, {
|
|
176
190
|
visibleRoomJID: activeRoomJID,
|
|
177
191
|
})
|
|
@@ -180,7 +194,7 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
|
|
|
180
194
|
dispatch(deleteRoomMessage({ roomJID: activeRoomJID, messageId: 'delimiter-new' }));
|
|
181
195
|
setIsLoadingMore(false);
|
|
182
196
|
};
|
|
183
|
-
}, [activeRoomJID,
|
|
197
|
+
}, [activeRoomJID, dispatch]);
|
|
184
198
|
|
|
185
199
|
// hooks useEffects
|
|
186
200
|
// useRoomUrl(activeRoomJID || "", roomsList, config);
|
|
@@ -32,6 +32,7 @@ import {useChatSettingState} from '../../hooks/useChatSettingState';
|
|
|
32
32
|
import {DeviceEventEmitter, Pressable, Text, View} from 'react-native';
|
|
33
33
|
import {pushLog as devPushLog} from '../../utils/devLogger';
|
|
34
34
|
import {normalizeRoomJid} from '../../helpers/normalizeRoomJid';
|
|
35
|
+
import {InteractionsOverlayProvider} from '../MessageBubble/InteractionsOverlay';
|
|
35
36
|
|
|
36
37
|
interface ChatWrapperProps {
|
|
37
38
|
token?: string;
|
|
@@ -398,28 +399,34 @@ const ChatWrapper: FC<ChatWrapperProps> = ({
|
|
|
398
399
|
style={{
|
|
399
400
|
...MainComponentStyles,
|
|
400
401
|
}}>
|
|
401
|
-
{
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
}}>
|
|
411
|
-
<ChatRoom
|
|
412
|
-
CustomMessageComponent={CustomMessageComponent || Message}
|
|
413
|
-
handleBackClick={
|
|
414
|
-
roomJID || config?.disableRooms
|
|
415
|
-
? undefined
|
|
416
|
-
: () => {
|
|
417
|
-
dispatch(setCurrentRoom({ roomJID: '' }));
|
|
418
|
-
}
|
|
419
|
-
}
|
|
402
|
+
{/* Host the message context menu in-tree (not a RN Modal) so
|
|
403
|
+
opening it doesn't steal focus / dismiss the keyboard on
|
|
404
|
+
Android. Wraps only the chat area — the global Modal /
|
|
405
|
+
ModalWrapper below stay above it. */}
|
|
406
|
+
<InteractionsOverlayProvider>
|
|
407
|
+
{showRoomList ? (
|
|
408
|
+
<RoomList
|
|
409
|
+
chats={Object.values(rooms)}
|
|
410
|
+
onRoomClick={handleChangeChat}
|
|
420
411
|
/>
|
|
421
|
-
|
|
422
|
-
|
|
412
|
+
) : (
|
|
413
|
+
<ChatWrapperBox
|
|
414
|
+
style={{
|
|
415
|
+
...MainComponentStyles,
|
|
416
|
+
}}>
|
|
417
|
+
<ChatRoom
|
|
418
|
+
CustomMessageComponent={CustomMessageComponent || Message}
|
|
419
|
+
handleBackClick={
|
|
420
|
+
roomJID || config?.disableRooms
|
|
421
|
+
? undefined
|
|
422
|
+
: () => {
|
|
423
|
+
dispatch(setCurrentRoom({ roomJID: '' }));
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
/>
|
|
427
|
+
</ChatWrapperBox>
|
|
428
|
+
)}
|
|
429
|
+
</InteractionsOverlayProvider>
|
|
423
430
|
<Modal
|
|
424
431
|
modal={activeModal}
|
|
425
432
|
setOpenModal={(value?: ModalType) =>
|
|
@@ -5,7 +5,7 @@ import CustomMessageImage from '../styled/MessageImage';
|
|
|
5
5
|
import CustomMessageVideo from '../styled/VideoMessage';
|
|
6
6
|
import AudioMessage from '../styled/AudioMessage';
|
|
7
7
|
import { Text } from 'react-native';
|
|
8
|
-
import { deriveDisplayFilename } from '../../helpers/mimeToExtension';
|
|
8
|
+
import { deriveDisplayFilename, isLikelyAudio } from '../../helpers/mimeToExtension';
|
|
9
9
|
|
|
10
10
|
interface MediaMessageProps {
|
|
11
11
|
mimeType?: string;
|
|
@@ -50,13 +50,16 @@ const MediaMessage: React.FC<MediaMessageProps> = ({
|
|
|
50
50
|
return <AudioMessage src={location || ''} />;
|
|
51
51
|
}
|
|
52
52
|
default: {
|
|
53
|
-
//
|
|
54
|
-
// application/octet-stream
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
53
|
+
// Some senders (notably the web app's voice-message uploader)
|
|
54
|
+
// ship audio as `application/octet-stream` with no audio file
|
|
55
|
+
// extension. `isLikelyAudio` recognises those via the URL path,
|
|
56
|
+
// filename, or voice-message naming hints (voicemail-,
|
|
57
|
+
// voice-note-, recording-, …) so we still render the AudioMessage
|
|
58
|
+
// player instead of falling through to the generic FileDownload
|
|
59
|
+
// card (where the voicemail rendered as a broken `.bin`
|
|
60
|
+
// attachment). Customer-reported #9 voicemail fix.
|
|
61
|
+
if (isLikelyAudio(mimeType, displayName, location)) {
|
|
62
|
+
return <AudioMessage src={location || ''} />;
|
|
60
63
|
}
|
|
61
64
|
return (
|
|
62
65
|
<FileDownload
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
createContext,
|
|
3
|
+
useCallback,
|
|
4
|
+
useContext,
|
|
5
|
+
useMemo,
|
|
6
|
+
useRef,
|
|
7
|
+
useState,
|
|
8
|
+
} from 'react';
|
|
9
|
+
import { StyleSheet, View } from 'react-native';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* In-tree overlay host for the message context menu (MessageInteractions).
|
|
13
|
+
*
|
|
14
|
+
* Why this exists: MessageInteractions used to render inside a React Native
|
|
15
|
+
* `<Modal>`. On Android a Modal opens its own window, which steals focus
|
|
16
|
+
* from the chat input — so opening the menu dismissed the keyboard. Hosting
|
|
17
|
+
* the menu in the SAME view tree (no extra window) keeps the keyboard up.
|
|
18
|
+
*
|
|
19
|
+
* Coordinate note: the menu is positioned from `UIManager.measure` WINDOW
|
|
20
|
+
* coordinates (pageX/pageY), but this host sits below the status bar / any
|
|
21
|
+
* safe-area + header insets, so its own origin is offset from the window.
|
|
22
|
+
* The host measures that offset (`measureInWindow`) and exposes it so the
|
|
23
|
+
* menu can convert window coords → host-local coords. The host is mounted
|
|
24
|
+
* ABOVE ChatRoom's KeyboardAvoidingView, so its origin doesn't move when the
|
|
25
|
+
* keyboard opens (only the measured bubble's pageY does).
|
|
26
|
+
*/
|
|
27
|
+
interface OverlayEntry {
|
|
28
|
+
id: string;
|
|
29
|
+
node: React.ReactNode;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface InteractionsOverlayCtx {
|
|
33
|
+
present: (id: string, node: React.ReactNode) => void;
|
|
34
|
+
dismiss: (id: string) => void;
|
|
35
|
+
originX: number;
|
|
36
|
+
originY: number;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const Ctx = createContext<InteractionsOverlayCtx>({
|
|
40
|
+
present: () => {},
|
|
41
|
+
dismiss: () => {},
|
|
42
|
+
originX: 0,
|
|
43
|
+
originY: 0,
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
export const useInteractionsOverlay = () => useContext(Ctx);
|
|
47
|
+
|
|
48
|
+
export const InteractionsOverlayProvider: React.FC<{
|
|
49
|
+
children: React.ReactNode;
|
|
50
|
+
}> = ({ children }) => {
|
|
51
|
+
const [entries, setEntries] = useState<OverlayEntry[]>([]);
|
|
52
|
+
const [origin, setOrigin] = useState({ x: 0, y: 0 });
|
|
53
|
+
const hostRef = useRef<View>(null);
|
|
54
|
+
|
|
55
|
+
const measure = useCallback(() => {
|
|
56
|
+
hostRef.current?.measureInWindow?.((x, y) => {
|
|
57
|
+
if (typeof x !== 'number' || typeof y !== 'number') {return;}
|
|
58
|
+
setOrigin((prev) => (prev.x === x && prev.y === y ? prev : { x, y }));
|
|
59
|
+
});
|
|
60
|
+
}, []);
|
|
61
|
+
|
|
62
|
+
const present = useCallback(
|
|
63
|
+
(id: string, node: React.ReactNode) => {
|
|
64
|
+
// Re-measure on present: the keyboard / layout may have shifted us
|
|
65
|
+
// since the last onLayout.
|
|
66
|
+
measure();
|
|
67
|
+
setEntries((prev) => {
|
|
68
|
+
const next = prev.filter((e) => e.id !== id);
|
|
69
|
+
next.push({ id, node });
|
|
70
|
+
return next;
|
|
71
|
+
});
|
|
72
|
+
},
|
|
73
|
+
[measure]
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
const dismiss = useCallback((id: string) => {
|
|
77
|
+
setEntries((prev) =>
|
|
78
|
+
prev.some((e) => e.id === id) ? prev.filter((e) => e.id !== id) : prev
|
|
79
|
+
);
|
|
80
|
+
}, []);
|
|
81
|
+
|
|
82
|
+
// MUST be memoized. Otherwise every host re-render (e.g. from present()'s
|
|
83
|
+
// setEntries) creates a new context value → all consumers re-render →
|
|
84
|
+
// MessageInteractions' present-effect fires again → setEntries → … →
|
|
85
|
+
// "Maximum update depth exceeded". present/dismiss are stable (useCallback)
|
|
86
|
+
// and origin rarely changes, so this value is stable across entry changes.
|
|
87
|
+
const ctxValue = useMemo(
|
|
88
|
+
() => ({ present, dismiss, originX: origin.x, originY: origin.y }),
|
|
89
|
+
[present, dismiss, origin.x, origin.y]
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
return (
|
|
93
|
+
// `children` is a stable element from the caller, so re-rendering this
|
|
94
|
+
// host (present/dismiss/origin state) does NOT re-render the chat
|
|
95
|
+
// subtree — React reconciliation skips the unchanged children element.
|
|
96
|
+
<View
|
|
97
|
+
ref={hostRef}
|
|
98
|
+
style={styles.host}
|
|
99
|
+
onLayout={measure}
|
|
100
|
+
collapsable={false}
|
|
101
|
+
>
|
|
102
|
+
<Ctx.Provider value={ctxValue}>
|
|
103
|
+
{children}
|
|
104
|
+
{entries.length > 0 && (
|
|
105
|
+
<View style={styles.overlay} pointerEvents="box-none">
|
|
106
|
+
{entries.map((e) => (
|
|
107
|
+
<React.Fragment key={e.id}>{e.node}</React.Fragment>
|
|
108
|
+
))}
|
|
109
|
+
</View>
|
|
110
|
+
)}
|
|
111
|
+
</Ctx.Provider>
|
|
112
|
+
</View>
|
|
113
|
+
);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const styles = StyleSheet.create({
|
|
117
|
+
host: { flex: 1 },
|
|
118
|
+
overlay: { ...StyleSheet.absoluteFillObject, zIndex: 9999, elevation: 9999 },
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
export default InteractionsOverlayProvider;
|