@messenger-box/platform-mobile 10.0.3-alpha.18 → 10.0.3-alpha.180
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/lib/compute.js +2 -3
- package/lib/compute.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/module.js.map +1 -1
- package/lib/queries/inboxQueries.js +65 -0
- package/lib/queries/inboxQueries.js.map +1 -0
- package/lib/routes.json +2 -3
- package/lib/screens/inbox/DialogMessages.js +8 -3
- package/lib/screens/inbox/DialogMessages.js.map +1 -1
- package/lib/screens/inbox/DialogThreadMessages.js +6 -11
- package/lib/screens/inbox/DialogThreadMessages.js.map +1 -1
- package/lib/screens/inbox/DialogThreads.js +58 -20
- package/lib/screens/inbox/DialogThreads.js.map +1 -1
- package/lib/screens/inbox/Inbox.js.map +1 -1
- package/lib/screens/inbox/components/CachedImage/consts.js.map +1 -1
- package/lib/screens/inbox/components/CachedImage/index.js +125 -115
- package/lib/screens/inbox/components/CachedImage/index.js.map +1 -1
- package/lib/screens/inbox/components/DialogItem.js +160 -0
- package/lib/screens/inbox/components/DialogItem.js.map +1 -0
- package/lib/screens/inbox/components/GiftedChatInboxComponent.js +313 -0
- package/lib/screens/inbox/components/GiftedChatInboxComponent.js.map +1 -0
- package/lib/screens/inbox/components/SlackMessageContainer/ImageViewerModal.js +2 -0
- package/lib/screens/inbox/components/SlackMessageContainer/ImageViewerModal.js.map +1 -1
- package/lib/screens/inbox/components/SlackMessageContainer/PaymentMessage.js +194 -0
- package/lib/screens/inbox/components/SlackMessageContainer/PaymentMessage.js.map +1 -0
- package/lib/screens/inbox/components/SlackMessageContainer/SlackBubble.js +144 -32
- package/lib/screens/inbox/components/SlackMessageContainer/SlackBubble.js.map +1 -1
- package/lib/screens/inbox/components/SlackMessageContainer/SlackMessage.js +3 -4
- package/lib/screens/inbox/components/SlackMessageContainer/SlackMessage.js.map +1 -1
- package/lib/screens/inbox/components/SubscriptionHandler.js +22 -0
- package/lib/screens/inbox/components/SubscriptionHandler.js.map +1 -0
- package/lib/screens/inbox/components/ThreadsViewItem.js +67 -47
- package/lib/screens/inbox/components/ThreadsViewItem.js.map +1 -1
- package/lib/screens/inbox/config/config.js +4 -2
- package/lib/screens/inbox/config/config.js.map +1 -1
- package/lib/screens/inbox/containers/ConversationView.js +1098 -1093
- package/lib/screens/inbox/containers/ConversationView.js.map +1 -1
- package/lib/screens/inbox/containers/Dialogs.js +179 -333
- package/lib/screens/inbox/containers/Dialogs.js.map +1 -1
- package/lib/screens/inbox/containers/ThreadConversationView.js +873 -866
- package/lib/screens/inbox/containers/ThreadConversationView.js.map +1 -1
- package/lib/screens/inbox/containers/ThreadsView.js +81 -54
- package/lib/screens/inbox/containers/ThreadsView.js.map +1 -1
- package/lib/screens/inbox/hooks/useInboxMessages.js +31 -0
- package/lib/screens/inbox/hooks/useInboxMessages.js.map +1 -0
- package/lib/screens/inbox/hooks/useSafeDialogThreadsMachine.js +108 -0
- package/lib/screens/inbox/hooks/useSafeDialogThreadsMachine.js.map +1 -0
- package/lib/screens/inbox/workflow/dialog-threads-xstate.js +151 -0
- package/lib/screens/inbox/workflow/dialog-threads-xstate.js.map +1 -0
- package/package.json +5 -5
- package/CHANGELOG.md +0 -156
- package/jest.config.js +0 -24
- package/lib/screens/inbox/components/DialogsListItem.js +0 -175
- package/lib/screens/inbox/components/DialogsListItem.js.map +0 -1
- package/lib/screens/inbox/components/ServiceDialogsListItem.js +0 -165
- package/lib/screens/inbox/components/ServiceDialogsListItem.js.map +0 -1
- package/lib/screens/inbox/containers/workflow/conversation-xstate.js +0 -380
- package/lib/screens/inbox/containers/workflow/conversation-xstate.js.map +0 -1
- package/lib/screens/inbox/containers/workflow/dialogs-xstate.js +0 -235
- package/lib/screens/inbox/containers/workflow/dialogs-xstate.js.map +0 -1
- package/lib/screens/inbox/containers/workflow/thread-conversation-xstate.js +0 -438
- package/lib/screens/inbox/containers/workflow/thread-conversation-xstate.js.map +0 -1
- package/rollup.config.mjs +0 -45
- package/src/components/index.ts +0 -0
- package/src/compute.ts +0 -63
- package/src/index.ts +0 -7
- package/src/module.ts +0 -10
- package/src/navigation/InboxNavigation.tsx +0 -102
- package/src/navigation/index.ts +0 -1
- package/src/screens/inbox/DialogMessages.tsx +0 -21
- package/src/screens/inbox/DialogThreadMessages.tsx +0 -97
- package/src/screens/inbox/DialogThreads.tsx +0 -129
- package/src/screens/inbox/Inbox.tsx +0 -17
- package/src/screens/inbox/components/CachedImage/consts.ts +0 -6
- package/src/screens/inbox/components/CachedImage/index.tsx +0 -223
- package/src/screens/inbox/components/DialogsHeader.tsx +0 -30
- package/src/screens/inbox/components/DialogsListItem.tsx +0 -302
- package/src/screens/inbox/components/ServiceDialogsListItem.tsx +0 -287
- package/src/screens/inbox/components/SlackMessageContainer/ImageViewerModal.tsx +0 -113
- package/src/screens/inbox/components/SlackMessageContainer/SlackBubble.tsx +0 -313
- package/src/screens/inbox/components/SlackMessageContainer/SlackMessage.tsx +0 -145
- package/src/screens/inbox/components/SlackMessageContainer/index.ts +0 -3
- package/src/screens/inbox/components/SupportServiceDialogsListItem.tsx +0 -283
- package/src/screens/inbox/components/ThreadsViewItem.tsx +0 -321
- package/src/screens/inbox/config/config.ts +0 -15
- package/src/screens/inbox/config/index.ts +0 -1
- package/src/screens/inbox/containers/ConversationView.tsx +0 -1782
- package/src/screens/inbox/containers/Dialogs.tsx +0 -544
- package/src/screens/inbox/containers/SupportServiceDialogs.tsx +0 -119
- package/src/screens/inbox/containers/ThreadConversationView.tsx +0 -1537
- package/src/screens/inbox/containers/ThreadsView.tsx +0 -305
- package/src/screens/inbox/containers/workflow/apollo/handleResult.ts +0 -20
- package/src/screens/inbox/containers/workflow/conversation-xstate.ts +0 -313
- package/src/screens/inbox/containers/workflow/dialogs-xstate.ts +0 -196
- package/src/screens/inbox/containers/workflow/thread-conversation-xstate.ts +0 -401
- package/src/screens/index.ts +0 -4
- package/tsconfig.json +0 -13
- package/webpack.config.js +0 -58
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@messenger-box/platform-mobile",
|
|
3
|
-
"version": "10.0.3-alpha.
|
|
3
|
+
"version": "10.0.3-alpha.180",
|
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"watch-ts": "tsc --watch"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@messenger-box/core": "10.0.3-alpha.
|
|
26
|
-
"@messenger-box/platform-client": "10.0.3-alpha.
|
|
25
|
+
"@messenger-box/core": "10.0.3-alpha.180",
|
|
26
|
+
"@messenger-box/platform-client": "10.0.3-alpha.180",
|
|
27
27
|
"base-64": "1.0.0",
|
|
28
28
|
"react-native-gifted-chat": "1.0.4"
|
|
29
29
|
},
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"@types/react-virtualized-auto-sizer": "1.0.0"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
+
"@adminide-stack/file-info-client": "*",
|
|
36
37
|
"@apollo/client": "*",
|
|
37
|
-
"@container-stack/file-info-client": "*",
|
|
38
38
|
"lodash": "*"
|
|
39
39
|
},
|
|
40
40
|
"publishConfig": {
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"typescript": {
|
|
44
44
|
"definition": "lib/index.d.ts"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "a2c148fca8c289ce2c3df602a05517ba13305cd0"
|
|
47
47
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
-
|
|
6
|
-
## [10.0.3-alpha.18](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.17...v10.0.3-alpha.18) (2025-04-10)
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
9
|
-
|
|
10
|
-
## [10.0.3-alpha.17](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.16...v10.0.3-alpha.17) (2025-04-08)
|
|
11
|
-
|
|
12
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
13
|
-
|
|
14
|
-
## [10.0.3-alpha.16](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.15...v10.0.3-alpha.16) (2025-03-28)
|
|
15
|
-
|
|
16
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
17
|
-
|
|
18
|
-
## [10.0.3-alpha.15](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.14...v10.0.3-alpha.15) (2025-03-28)
|
|
19
|
-
|
|
20
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
21
|
-
|
|
22
|
-
## [10.0.3-alpha.14](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.13...v10.0.3-alpha.14) (2025-03-27)
|
|
23
|
-
|
|
24
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
25
|
-
|
|
26
|
-
## [10.0.3-alpha.10](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.9...v10.0.3-alpha.10) (2025-03-22)
|
|
27
|
-
|
|
28
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
29
|
-
|
|
30
|
-
## [10.0.3-alpha.7](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.6...v10.0.3-alpha.7) (2025-02-27)
|
|
31
|
-
|
|
32
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
33
|
-
|
|
34
|
-
## [10.0.3-alpha.5](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.4...v10.0.3-alpha.5) (2025-02-25)
|
|
35
|
-
|
|
36
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
37
|
-
|
|
38
|
-
## [10.0.3-alpha.0](https://github.com/cdmbase/messenger-box/compare/v10.0.2-alpha.6...v10.0.3-alpha.0) (2025-02-24)
|
|
39
|
-
|
|
40
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
41
|
-
|
|
42
|
-
## [10.0.2-alpha.5](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.4...v10.0.2-alpha.5) (2025-02-24)
|
|
43
|
-
|
|
44
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
45
|
-
|
|
46
|
-
## [10.0.2-alpha.4](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.3...v10.0.2-alpha.4) (2025-02-10)
|
|
47
|
-
|
|
48
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
49
|
-
|
|
50
|
-
## [10.0.2-alpha.3](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.2...v10.0.2-alpha.3) (2025-02-10)
|
|
51
|
-
|
|
52
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
53
|
-
|
|
54
|
-
## [10.0.2-alpha.2](https://github.com/CDEBase/messenger-box/compare/v10.0.2-alpha.1...v10.0.2-alpha.2) (2025-02-10)
|
|
55
|
-
|
|
56
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
57
|
-
|
|
58
|
-
## [10.0.2-alpha.0](https://github.com/cdmbase/messenger-box/compare/v9.0.4-alpha.23...v10.0.2-alpha.0) (2025-02-04)
|
|
59
|
-
|
|
60
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
61
|
-
|
|
62
|
-
## [10.0.1-alpha.0](https://github.com/cdmbase/messenger-box/compare/v9.0.4-alpha.23...v10.0.1-alpha.0) (2025-02-04)
|
|
63
|
-
|
|
64
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
65
|
-
|
|
66
|
-
## [9.0.4-alpha.22](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.21...v9.0.4-alpha.22) (2025-01-31)
|
|
67
|
-
|
|
68
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
69
|
-
|
|
70
|
-
## [9.0.4-alpha.21](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.20...v9.0.4-alpha.21) (2025-01-20)
|
|
71
|
-
|
|
72
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
73
|
-
|
|
74
|
-
## [9.0.4-alpha.17](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.16...v9.0.4-alpha.17) (2024-10-17)
|
|
75
|
-
|
|
76
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
77
|
-
|
|
78
|
-
## [9.0.4-alpha.15](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.14...v9.0.4-alpha.15) (2024-09-30)
|
|
79
|
-
|
|
80
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
81
|
-
|
|
82
|
-
## [9.0.4-alpha.7](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.6...v9.0.4-alpha.7) (2024-09-20)
|
|
83
|
-
|
|
84
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
85
|
-
|
|
86
|
-
## [9.0.4-alpha.4](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.3...v9.0.4-alpha.4) (2024-09-19)
|
|
87
|
-
|
|
88
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
89
|
-
|
|
90
|
-
## [9.0.4-alpha.1](https://github.com/CDEBase/messenger-box/compare/v9.0.4-alpha.0...v9.0.4-alpha.1) (2024-09-12)
|
|
91
|
-
|
|
92
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
93
|
-
|
|
94
|
-
## [9.0.2-alpha.6](https://github.com/CDEBase/messenger-box/compare/v9.0.2-alpha.5...v9.0.2-alpha.6) (2024-09-09)
|
|
95
|
-
|
|
96
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
97
|
-
|
|
98
|
-
## [9.0.2-alpha.0](https://github.com/CDEBase/messenger-box/compare/v7.2.6-alpha.10...v9.0.2-alpha.0) (2024-09-06)
|
|
99
|
-
|
|
100
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
101
|
-
|
|
102
|
-
## [7.2.6-alpha.4](https://github.com/CDEBase/messenger-box/compare/v7.2.6-alpha.3...v7.2.6-alpha.4) (2024-08-12)
|
|
103
|
-
|
|
104
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
105
|
-
|
|
106
|
-
## 7.2.6-alpha.0 (2024-08-11)
|
|
107
|
-
|
|
108
|
-
### Bug Fixes
|
|
109
|
-
|
|
110
|
-
- **mobile:** image upload in the mobile inbox ([effa26f](https://github.com/CDEBase/messenger-box/commit/effa26f9b4199f0c572d1a5880dea13578f56d6c))
|
|
111
|
-
- **platform-mobile:** fix image preview on selection in chat ([33bedbb](https://github.com/CDEBase/messenger-box/commit/33bedbb13f72f9359f44d8c69f6f4517d477a582))
|
|
112
|
-
|
|
113
|
-
### Features
|
|
114
|
-
|
|
115
|
-
- add inbox right side bar slot ([a90e137](https://github.com/CDEBase/messenger-box/commit/a90e1370c010218c27b057526605e105f049cc5c))
|
|
116
|
-
- add seperate modules for react native ([63e3ac2](https://github.com/CDEBase/messenger-box/commit/63e3ac2f7840cce28ee04e79b9a1993e148786e7))
|
|
117
|
-
|
|
118
|
-
### Reverts
|
|
119
|
-
|
|
120
|
-
- Revert "Merge slackUIDev and updated inbox" ([ca31269](https://github.com/CDEBase/messenger-box/commit/ca3126949d58890b296606e5055e55c10cf9c9f2))
|
|
121
|
-
|
|
122
|
-
## 7.2.4-alpha.0 (2024-07-19)
|
|
123
|
-
|
|
124
|
-
### Bug Fixes
|
|
125
|
-
|
|
126
|
-
- **mobile:** image upload in the mobile inbox ([effa26f](https://github.com/CDEBase/messenger-box/commit/effa26f9b4199f0c572d1a5880dea13578f56d6c))
|
|
127
|
-
- **platform-mobile:** fix image preview on selection in chat ([33bedbb](https://github.com/CDEBase/messenger-box/commit/33bedbb13f72f9359f44d8c69f6f4517d477a582))
|
|
128
|
-
|
|
129
|
-
### Features
|
|
130
|
-
|
|
131
|
-
- add inbox right side bar slot ([a90e137](https://github.com/CDEBase/messenger-box/commit/a90e1370c010218c27b057526605e105f049cc5c))
|
|
132
|
-
- add seperate modules for react native ([63e3ac2](https://github.com/CDEBase/messenger-box/commit/63e3ac2f7840cce28ee04e79b9a1993e148786e7))
|
|
133
|
-
|
|
134
|
-
### Reverts
|
|
135
|
-
|
|
136
|
-
- Revert "Merge slackUIDev and updated inbox" ([ca31269](https://github.com/CDEBase/messenger-box/commit/ca3126949d58890b296606e5055e55c10cf9c9f2))
|
|
137
|
-
|
|
138
|
-
## [7.2.1-alpha.2](https://github.com/CDEBase/messenger-box/compare/v7.2.1-alpha.1...v7.2.1-alpha.2) (2024-07-16)
|
|
139
|
-
|
|
140
|
-
**Note:** Version bump only for package @messenger-box/platform-mobile
|
|
141
|
-
|
|
142
|
-
## 7.2.1-alpha.0 (2024-07-15)
|
|
143
|
-
|
|
144
|
-
### Bug Fixes
|
|
145
|
-
|
|
146
|
-
- **mobile:** image upload in the mobile inbox ([effa26f](https://github.com/CDEBase/messenger-box/commit/effa26f9b4199f0c572d1a5880dea13578f56d6c))
|
|
147
|
-
- **platform-mobile:** fix image preview on selection in chat ([33bedbb](https://github.com/CDEBase/messenger-box/commit/33bedbb13f72f9359f44d8c69f6f4517d477a582))
|
|
148
|
-
|
|
149
|
-
### Features
|
|
150
|
-
|
|
151
|
-
- add inbox right side bar slot ([a90e137](https://github.com/CDEBase/messenger-box/commit/a90e1370c010218c27b057526605e105f049cc5c))
|
|
152
|
-
- add seperate modules for react native ([63e3ac2](https://github.com/CDEBase/messenger-box/commit/63e3ac2f7840cce28ee04e79b9a1993e148786e7))
|
|
153
|
-
|
|
154
|
-
### Reverts
|
|
155
|
-
|
|
156
|
-
- Revert "Merge slackUIDev and updated inbox" ([ca31269](https://github.com/CDEBase/messenger-box/commit/ca3126949d58890b296606e5055e55c10cf9c9f2))
|
package/jest.config.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const merge = require('merge');
|
|
2
|
-
const baseConfig = require('../../../jest.config.base');
|
|
3
|
-
|
|
4
|
-
const mergeData = merge.recursive(
|
|
5
|
-
baseConfig,
|
|
6
|
-
{
|
|
7
|
-
testEnvironment: 'jsdom',
|
|
8
|
-
transform: {
|
|
9
|
-
'\\.(js|jsx)?$': '../../../transform.js',
|
|
10
|
-
},
|
|
11
|
-
moduleNameMapper: {
|
|
12
|
-
'^__mocks__/(.*)$': '<rootDir>/../../__mocks__/$1',
|
|
13
|
-
// we'll use commonjs version of lodash for tests 👌
|
|
14
|
-
// because we don't need to use any kind of tree shaking right?!
|
|
15
|
-
'^lodash-es$': '<rootDir>/../../../node_modules/lodash/index.js',
|
|
16
|
-
},
|
|
17
|
-
roots: ['src'],
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
globals: {},
|
|
21
|
-
},
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
module.exports = mergeData;
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import React__default,{useState,useMemo}from'react';import {Pressable,HStack,Box,AvatarGroup,Avatar,AvatarFallbackText,AvatarBadge,Text,AvatarImage}from'@admin-layout/gluestack-ui-mobile';import {isToday,isYesterday,format}from'date-fns';import {useFocusEffect}from'@react-navigation/native';import {useMessagesQuery,useOnChatMessageAddedSubscription,OnChatMessageAddedDocument}from'common/graphql';import {startCase}from'lodash-es';import colors from'tailwindcss/colors';var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
const createdAtText = (value) => {
|
|
21
|
-
if (!value)
|
|
22
|
-
return "";
|
|
23
|
-
let date = new Date(value);
|
|
24
|
-
if (isToday(date))
|
|
25
|
-
return "Today";
|
|
26
|
-
if (isYesterday(date))
|
|
27
|
-
return "Yesterday";
|
|
28
|
-
return format(new Date(value), "MMM dd, yyyy");
|
|
29
|
-
};
|
|
30
|
-
const DialogsListItemComponent = function DialogsListItem2({
|
|
31
|
-
currentUser,
|
|
32
|
-
selectedChannelId,
|
|
33
|
-
channel,
|
|
34
|
-
onOpen
|
|
35
|
-
}) {
|
|
36
|
-
var _a, _b, _c;
|
|
37
|
-
const parentId = null;
|
|
38
|
-
const [messages, setMessages] = useState([]);
|
|
39
|
-
const {
|
|
40
|
-
data: messagesQuery,
|
|
41
|
-
loading: messageLoading,
|
|
42
|
-
refetch: refetchMessages,
|
|
43
|
-
subscribeToMore
|
|
44
|
-
} = useMessagesQuery({
|
|
45
|
-
variables: {
|
|
46
|
-
channelId: (_a = channel == null ? void 0 : channel.id) == null ? void 0 : _a.toString(),
|
|
47
|
-
parentId,
|
|
48
|
-
limit: 10
|
|
49
|
-
},
|
|
50
|
-
fetchPolicy: "cache-and-network",
|
|
51
|
-
refetchWritePolicy: "merge"
|
|
52
|
-
});
|
|
53
|
-
const {
|
|
54
|
-
data: newMessage,
|
|
55
|
-
loading: newMsgLoading,
|
|
56
|
-
error: newMsgError
|
|
57
|
-
} = useOnChatMessageAddedSubscription({
|
|
58
|
-
variables: {
|
|
59
|
-
channelId: (_b = channel == null ? void 0 : channel.id) == null ? void 0 : _b.toString()
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
useFocusEffect(React__default.useCallback(() => {
|
|
63
|
-
var _a2;
|
|
64
|
-
refetchMessages({
|
|
65
|
-
channelId: (_a2 = channel == null ? void 0 : channel.id) == null ? void 0 : _a2.toString(),
|
|
66
|
-
parentId,
|
|
67
|
-
limit: 10
|
|
68
|
-
});
|
|
69
|
-
return () => {
|
|
70
|
-
};
|
|
71
|
-
}, []));
|
|
72
|
-
React__default.useEffect(() => {
|
|
73
|
-
var _a2, _b2, _c2;
|
|
74
|
-
if (messagesQuery) {
|
|
75
|
-
if ((_b2 = (_a2 = messagesQuery == null ? void 0 : messagesQuery.messages) == null ? void 0 : _a2.data) == null ? void 0 : _b2.length) {
|
|
76
|
-
const msg = (_c2 = messagesQuery == null ? void 0 : messagesQuery.messages) == null ? void 0 : _c2.data;
|
|
77
|
-
setMessages((pre) => [...pre, ...msg]);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}, [messagesQuery]);
|
|
81
|
-
const lastMessage = useMemo(() => {
|
|
82
|
-
var _a2;
|
|
83
|
-
if (!(messages == null ? void 0 : messages.length)) {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
const data = messages;
|
|
87
|
-
const filteredData = data == null ? void 0 : data.filter((p) => (p == null ? void 0 : p.message) !== "");
|
|
88
|
-
let filteredLastMessage = filteredData && (filteredData == null ? void 0 : filteredData.length) ? (_a2 = filteredData == null ? void 0 : filteredData.reduce((a, b) => {
|
|
89
|
-
return new Date(a == null ? void 0 : a.updatedAt) > new Date(b == null ? void 0 : b.updatedAt) ? a : b;
|
|
90
|
-
}, [])) != null ? _a2 : null : null;
|
|
91
|
-
return filteredLastMessage;
|
|
92
|
-
}, [messages]);
|
|
93
|
-
const channelMembers = useMemo(() => {
|
|
94
|
-
var _a2, _b2, _c2;
|
|
95
|
-
return (_c2 = (_b2 = (_a2 = channel == null ? void 0 : channel.members) == null ? void 0 : _a2.filter((ch) => {
|
|
96
|
-
var _a3, _b3;
|
|
97
|
-
return ((_a3 = ch == null ? void 0 : ch.user) == null ? void 0 : _a3.id) != (currentUser == null ? void 0 : currentUser.id) && ((_b3 = ch == null ? void 0 : ch.user) == null ? void 0 : _b3.__typename) == "UserAccount";
|
|
98
|
-
})) == null ? void 0 : _b2.map((m) => m == null ? void 0 : m.user)) != null ? _c2 : null;
|
|
99
|
-
}, [currentUser, channel]);
|
|
100
|
-
const title = useMemo(() => {
|
|
101
|
-
var _a2, _b2, _c2;
|
|
102
|
-
const titleString = (_c2 = (_b2 = (_a2 = channelMembers == null ? void 0 : channelMembers.map((u) => {
|
|
103
|
-
var _a3;
|
|
104
|
-
return (u == null ? void 0 : u.givenName) + " " + ((_a3 = u == null ? void 0 : u.familyName) != null ? _a3 : "");
|
|
105
|
-
})) == null ? void 0 : _a2.filter((mu) => mu)) == null ? void 0 : _b2.join(", ")) != null ? _c2 : "";
|
|
106
|
-
const length = 30;
|
|
107
|
-
return titleString.length > length ? titleString.substring(0, length - 3) + "..." : titleString;
|
|
108
|
-
}, [channelMembers]);
|
|
109
|
-
return /* @__PURE__ */ React__default.createElement(Pressable, { onPress: () => (channel == null ? void 0 : channel.id) !== selectedChannelId && onOpen(channel == null ? void 0 : channel.id, title), className: "flex-1 border-gray-200 rounded-md dark:border-gray-600 dark:bg-gray-700", style: {
|
|
110
|
-
borderBottomWidth: 1,
|
|
111
|
-
borderColor: "#e5e7eb",
|
|
112
|
-
marginVertical: 0,
|
|
113
|
-
paddingHorizontal: 10
|
|
114
|
-
} }, /* @__PURE__ */ React__default.createElement(HStack, { space: "md", className: "flex-1 w-[100%] py-3 items-center" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-[0.1] items-start pl-3" }, /* @__PURE__ */ React__default.createElement(AvatarGroup, null, channelMembers && (channelMembers == null ? void 0 : channelMembers.length) > 0 && ((_c = channelMembers == null ? void 0 : channelMembers.slice(0, 1)) == null ? void 0 : _c.map((ch, i) => {
|
|
115
|
-
var _a2;
|
|
116
|
-
return /* @__PURE__ */ React__default.createElement(Avatar, { key: "dialogs-list-" + i, size: "sm", className: `bg-transparent top-[${i == 1 ? "4" : "0"}] right-[${i == 1 ? "-2" : "0"}] z-[${i == 1 ? 5 : 1}]` }, /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, startCase((_a2 = ch == null ? void 0 : ch.username) == null ? void 0 : _a2.charAt(0))), (channelMembers == null ? void 0 : channelMembers.length) > 1 && /* @__PURE__ */ React__default.createElement(AvatarBadge, { style: {
|
|
117
|
-
width: "100%",
|
|
118
|
-
height: "100%",
|
|
119
|
-
backgroundColor: "#e5e7eb",
|
|
120
|
-
borderRadius: 5
|
|
121
|
-
}, className: "items-center justify-center bg-gray-200 rounded-md" }, /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
122
|
-
fontSize: 12,
|
|
123
|
-
fontWeight: "bold",
|
|
124
|
-
color: "#000"
|
|
125
|
-
} }, channelMembers == null ? void 0 : channelMembers.length)), (channelMembers == null ? void 0 : channelMembers.length) == 1 && /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(AvatarImage, { alt: "user image", style: {
|
|
126
|
-
borderRadius: 6,
|
|
127
|
-
borderWidth: 2,
|
|
128
|
-
borderColor: "#fff"
|
|
129
|
-
}, source: {
|
|
130
|
-
uri: ch == null ? void 0 : ch.picture
|
|
131
|
-
} }), /* @__PURE__ */ React__default.createElement(AvatarBadge, { style: {
|
|
132
|
-
width: 10,
|
|
133
|
-
height: 10
|
|
134
|
-
} })));
|
|
135
|
-
})))), /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-gray-400" }, /* @__PURE__ */ React__default.createElement(LastMessageComponent, { title, lastMessage, channelId: channel == null ? void 0 : channel.id, subscribeToNewMessages: () => {
|
|
136
|
-
var _a2;
|
|
137
|
-
return subscribeToMore({
|
|
138
|
-
document: OnChatMessageAddedDocument,
|
|
139
|
-
variables: {
|
|
140
|
-
channelId: (_a2 = channel.id) == null ? void 0 : _a2.toString()
|
|
141
|
-
},
|
|
142
|
-
updateQuery: (prev, {
|
|
143
|
-
subscriptionData
|
|
144
|
-
}) => {
|
|
145
|
-
var _a3;
|
|
146
|
-
if (!subscriptionData.data)
|
|
147
|
-
return prev;
|
|
148
|
-
const newMessage2 = (_a3 = subscriptionData == null ? void 0 : subscriptionData.data) == null ? void 0 : _a3.chatMessageAdded;
|
|
149
|
-
const existingMessages = prev == null ? void 0 : prev.messages;
|
|
150
|
-
const previousData = (existingMessages == null ? void 0 : existingMessages.data) ? [...existingMessages.data, newMessage2] : [];
|
|
151
|
-
const totalMsgCount = (existingMessages == null ? void 0 : existingMessages.totalCount) + 1;
|
|
152
|
-
const merged = __spreadProps(__spreadValues({}, prev), {
|
|
153
|
-
messages: __spreadProps(__spreadValues({}, existingMessages), {
|
|
154
|
-
data: previousData,
|
|
155
|
-
totalCount: totalMsgCount
|
|
156
|
-
})
|
|
157
|
-
});
|
|
158
|
-
return merged;
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
} }))));
|
|
162
|
-
};
|
|
163
|
-
const LastMessageComponent = ({
|
|
164
|
-
subscribeToNewMessages,
|
|
165
|
-
title,
|
|
166
|
-
lastMessage,
|
|
167
|
-
channelId
|
|
168
|
-
}) => {
|
|
169
|
-
var _a;
|
|
170
|
-
React__default.useEffect(() => subscribeToNewMessages(), [channelId]);
|
|
171
|
-
const count = 30;
|
|
172
|
-
const channelTitle = title.slice(0, count) + (title.length > count ? "..." : "");
|
|
173
|
-
return /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-between" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-[0.8]" }, /* @__PURE__ */ React__default.createElement(Text, { color: colors.gray[600], className: "text-base text-wrap flex-wrap font-semibold" }, channelTitle), /* @__PURE__ */ React__default.createElement(Text, { color: colors.gray[600], numberOfLines: 1 }, (_a = lastMessage == null ? void 0 : lastMessage.message) != null ? _a : "")), /* @__PURE__ */ React__default.createElement(Box, { className: "flex-[0.2]" }, /* @__PURE__ */ React__default.createElement(Text, { color: colors.gray[500] }, lastMessage ? createdAtText(lastMessage == null ? void 0 : lastMessage.createdAt) : "")));
|
|
174
|
-
};
|
|
175
|
-
const DialogsListItem = React__default.memo(DialogsListItemComponent);export{DialogsListItem,DialogsListItemComponent};//# sourceMappingURL=DialogsListItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DialogsListItem.js","sources":["../../../../src/screens/inbox/components/DialogsListItem.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Text,\n Image,\n Pressable,\n HStack,\n Box,\n AvatarGroup,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n View,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { format, isToday, isYesterday } from 'date-fns';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { IChannel, SortEnum, IUserAccount } from 'common';\nimport {\n useMessagesQuery,\n useOnChatMessageAddedSubscription,\n OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,\n useUserAccountQuery,\n} from 'common/graphql';\nimport { startCase } from 'lodash-es';\nimport colors from 'tailwindcss/colors';\n\nconst createdAtText = (value: string) => {\n if (!value) return '';\n let date = new Date(value);\n if (isToday(date)) return 'Today';\n if (isYesterday(date)) return 'Yesterday';\n return format(new Date(value), 'MMM dd, yyyy');\n};\n\nexport interface IDialogListChannel extends IChannel {\n users: IUserAccount[];\n}\n\nexport interface IDialogListItemProps {\n currentUser?: any;\n users?: any;\n selectedChannelId?: any;\n channel?: any;\n onOpen: (id: any, title: any) => void;\n}\n\n/**\n * TODO:\n * - Get Reservation info: reservation date, status\n * - Add ability to get property information: name, logo\n */\nexport const DialogsListItemComponent: React.FC<IDialogListItemProps> = function DialogsListItem({\n currentUser,\n // users,\n selectedChannelId,\n channel,\n onOpen,\n}) {\n const parentId: any = null;\n const [messages, setMessages] = useState<any>([]);\n const {\n data: messagesQuery,\n loading: messageLoading,\n refetch: refetchMessages,\n subscribeToMore,\n } = useMessagesQuery({\n variables: {\n channelId: channel?.id?.toString(),\n parentId: parentId,\n limit: 10,\n // sort: {\n // key: 'updatedAt',\n // value: SortEnum.Desc,\n // },\n //limit: 25,\n },\n fetchPolicy: 'cache-and-network',\n refetchWritePolicy: 'merge',\n });\n\n const {\n data: newMessage,\n loading: newMsgLoading,\n error: newMsgError,\n }: any = useOnChatMessageAddedSubscription({\n variables: {\n channelId: channel?.id?.toString(),\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n refetchMessages({\n channelId: channel?.id?.toString(),\n parentId: parentId,\n limit: 10,\n // sort: {\n // key: 'updatedAt',\n // value: SortEnum.Desc,\n // },\n //limit: 25\n });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n React.useEffect(() => {\n if (messagesQuery) {\n if (messagesQuery?.messages?.data?.length) {\n const msg = messagesQuery?.messages?.data;\n setMessages((pre: any[]) => [...pre, ...msg]);\n }\n }\n }, [messagesQuery]);\n\n const lastMessage = useMemo(() => {\n if (!messages?.length) {\n return null;\n }\n // const { data } = messagesQuery.messages;\n const data = messages;\n const filteredData: any = data?.filter((p: any) => p?.message !== '');\n // return filteredData[0];\n let filteredLastMessage =\n filteredData && filteredData?.length\n ? filteredData?.reduce((a, b) => {\n return new Date(a?.updatedAt) > new Date(b?.updatedAt) ? a : b;\n }, []) ?? null\n : null;\n return filteredLastMessage;\n //return data[data.length - 1];\n }, [messages]);\n\n const channelMembers = useMemo(\n () =>\n channel?.members\n ?.filter((ch: any) => ch?.user?.id != currentUser?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null,\n [currentUser, channel],\n );\n\n const title = useMemo(() => {\n const titleString =\n channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? '';\n\n const length = 30;\n return titleString.length > length ? titleString.substring(0, length - 3) + '...' : titleString;\n }, [channelMembers]);\n\n return (\n <Pressable\n onPress={() => channel?.id !== selectedChannelId && onOpen(channel?.id, title)}\n className=\"flex-1 border-gray-200 rounded-md dark:border-gray-600 dark:bg-gray-700\"\n style={{ borderBottomWidth: 1, borderColor: '#e5e7eb', marginVertical: 0, paddingHorizontal: 10 }}\n >\n <HStack space={'md'} className=\"flex-1 w-[100%] py-3 items-center\">\n <Box className=\"flex-[0.1] items-start pl-3\">\n <AvatarGroup>\n {channelMembers &&\n channelMembers?.length > 0 &&\n channelMembers?.slice(0, 1)?.map((ch: any, i: Number) => (\n <Avatar\n key={'dialogs-list-' + i}\n size={'sm'}\n className={`bg-transparent top-[${i == 1 ? '4' : '0'}] right-[${\n i == 1 ? '-2' : '0'\n }] z-[${i == 1 ? 5 : 1}]`}\n >\n <AvatarFallbackText>{startCase(ch?.username?.charAt(0))}</AvatarFallbackText>\n\n {channelMembers?.length > 1 && (\n <AvatarBadge\n style={{\n width: '100%',\n height: '100%',\n backgroundColor: '#e5e7eb',\n borderRadius: 5,\n }}\n className=\"items-center justify-center bg-gray-200 rounded-md\"\n >\n <Text style={{ fontSize: 12, fontWeight: 'bold', color: '#000' }}>\n {channelMembers?.length}\n </Text>\n </AvatarBadge>\n )}\n {channelMembers?.length == 1 && (\n <>\n <AvatarImage\n alt=\"user image\"\n style={{ borderRadius: 6, borderWidth: 2, borderColor: '#fff' }}\n source={{\n uri: ch?.picture,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} />\n </>\n )}\n </Avatar>\n ))}\n </AvatarGroup>\n </Box>\n <Box className=\"flex-1 bg-gray-400\">\n {/* <HStack space={1} flex={1} direction={'row'} justifyContent={'center'} alignItems={'center'}>\n <Box flex={0.8}>\n <Text color=\"gray.600\" fontSize=\"lg\" flexWrap={'wrap'} fontWeight=\"semibold\">\n {title}\n </Text>\n <Text color=\"gray.600\" noOfLines={1}>\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box flex={0.2}>\n <Text color=\"gray.500\">{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack> */}\n <LastMessageComponent\n title={title}\n lastMessage={lastMessage}\n channelId={channel?.id}\n subscribeToNewMessages={() =>\n subscribeToMore({\n document: CHAT_MESSAGE_ADDED,\n variables: {\n channelId: channel.id?.toString(),\n },\n updateQuery: (prev, { subscriptionData }: any) => {\n if (!subscriptionData.data) return prev;\n const newMessage: any = subscriptionData?.data?.chatMessageAdded;\n const existingMessages: any = prev?.messages;\n const previousData = existingMessages?.data\n ? [...existingMessages.data, newMessage]\n : [];\n const totalMsgCount = existingMessages?.totalCount + 1;\n const merged = {\n ...prev,\n messages: {\n ...existingMessages,\n data: previousData,\n totalCount: totalMsgCount,\n },\n };\n return merged;\n },\n })\n }\n />\n {/* <Text\n flex={1}\n color=\"gray.600\"\n p={0}\n m={0}\n w={'100%'}\n justifyContent={''}\n fontSize=\"lg\"\n fontWeight=\"semibold\"\n >\n {title}\n </Text> */}\n {/* <Text flex={0.1} color=\"gray.600\">\n {lastMessage?.message ?? ''}\n </Text> */}\n </Box>\n {/* <Text flex={0.2} color=\"gray.500\">\n {lastMessage ? createdAtText(lastMessage?.createdAt) : ''}\n </Text> */}\n </HStack>\n </Pressable>\n );\n};\n\nconst LastMessageComponent = ({ subscribeToNewMessages, title, lastMessage, channelId }) => {\n React.useEffect(() => subscribeToNewMessages(), [channelId]);\n const count = 30;\n const channelTitle = title.slice(0, count) + (title.length > count ? '...' : '');\n return (\n <HStack space={'sm'} className=\"flex-1 justify-between\">\n <Box className=\"flex-[0.8]\">\n <Text color={colors.gray[600]} className=\"text-base text-wrap flex-wrap font-semibold\">\n {channelTitle}\n </Text>\n <Text color={colors.gray[600]} numberOfLines={1}>\n {lastMessage?.message ?? ''}\n </Text>\n </Box>\n\n <Box className=\"flex-[0.2]\">\n <Text color={colors.gray[500]}>{lastMessage ? createdAtText(lastMessage?.createdAt) : ''}</Text>\n </Box>\n </HStack>\n );\n};\n\nexport const DialogsListItem = React.memo(DialogsListItemComponent);\n"],"names":["DialogsListItem","React","_a","_b","_c","CHAT_MESSAGE_ADDED","newMessage"],"mappings":"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"}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import React__default,{useMemo}from'react';import {HStack,Box,Text,Pressable,Avatar,AvatarFallbackText,AvatarImage}from'@admin-layout/gluestack-ui-mobile';import {isToday,isYesterday,format}from'date-fns';import {useFocusEffect}from'@react-navigation/native';import {useThreadMessagesQuery,OnThreadCreatedUpdatedDocument}from'common/graphql';import {startCase}from'lodash-es';import colors from'tailwindcss/colors';var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
const createdAtText = (value) => {
|
|
21
|
-
if (!value)
|
|
22
|
-
return "";
|
|
23
|
-
let date = new Date(value);
|
|
24
|
-
if (isToday(date))
|
|
25
|
-
return "Today";
|
|
26
|
-
if (isYesterday(date))
|
|
27
|
-
return "Yesterday";
|
|
28
|
-
return format(new Date(value), "MMM dd, yyyy");
|
|
29
|
-
};
|
|
30
|
-
const ServiceDialogsListItemComponent = function DialogsListItem({
|
|
31
|
-
currentUser,
|
|
32
|
-
selectedChannelId,
|
|
33
|
-
channel,
|
|
34
|
-
onOpen,
|
|
35
|
-
refreshing,
|
|
36
|
-
role
|
|
37
|
-
}) {
|
|
38
|
-
var _a, _b, _c, _d;
|
|
39
|
-
const [servicePostParentId, setServicePostParentId] = React__default.useState(null);
|
|
40
|
-
const {
|
|
41
|
-
data: threadMessages,
|
|
42
|
-
loading: threadMessageLoading,
|
|
43
|
-
error,
|
|
44
|
-
refetch: refetchThreadMessages,
|
|
45
|
-
subscribeToMore
|
|
46
|
-
} = useThreadMessagesQuery({
|
|
47
|
-
variables: {
|
|
48
|
-
channelId: (_a = channel == null ? void 0 : channel.id) == null ? void 0 : _a.toString(),
|
|
49
|
-
role,
|
|
50
|
-
limit: 2
|
|
51
|
-
},
|
|
52
|
-
fetchPolicy: "cache-and-network"
|
|
53
|
-
});
|
|
54
|
-
useFocusEffect(React__default.useCallback(() => {
|
|
55
|
-
var _a2;
|
|
56
|
-
refetchThreadMessages({
|
|
57
|
-
channelId: (_a2 = channel == null ? void 0 : channel.id) == null ? void 0 : _a2.toString(),
|
|
58
|
-
role,
|
|
59
|
-
limit: 2
|
|
60
|
-
});
|
|
61
|
-
return () => {
|
|
62
|
-
};
|
|
63
|
-
}, [refreshing]));
|
|
64
|
-
const lastMessage = useMemo(() => {
|
|
65
|
-
var _a2, _b2, _c2, _d2, _e, _f, _g;
|
|
66
|
-
if (!((_b2 = (_a2 = threadMessages == null ? void 0 : threadMessages.threadMessages) == null ? void 0 : _a2.data) == null ? void 0 : _b2.length)) {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
const {
|
|
70
|
-
data
|
|
71
|
-
} = threadMessages.threadMessages;
|
|
72
|
-
const replies = (_e = (_d2 = (_c2 = data == null ? void 0 : data.map((t) => t == null ? void 0 : t.replies)) == null ? void 0 : _c2.flat(1)) == null ? void 0 : _d2.filter((p) => (p == null ? void 0 : p.message) !== "")) != null ? _e : [];
|
|
73
|
-
if (replies == null ? void 0 : replies.length) {
|
|
74
|
-
return replies[0];
|
|
75
|
-
} else {
|
|
76
|
-
const post = (_g = (_f = data == null ? void 0 : data.find((t) => {
|
|
77
|
-
var _a3;
|
|
78
|
-
return ((_a3 = t == null ? void 0 : t.post) == null ? void 0 : _a3.message) !== "";
|
|
79
|
-
})) != null ? _f : data == null ? void 0 : data.find((t) => {
|
|
80
|
-
return t == null ? void 0 : t.post;
|
|
81
|
-
})) != null ? _g : null;
|
|
82
|
-
return post ? post == null ? void 0 : post.post : null;
|
|
83
|
-
}
|
|
84
|
-
}, [threadMessages]);
|
|
85
|
-
React__default.useEffect(() => {
|
|
86
|
-
if (lastMessage) {
|
|
87
|
-
const sParentId = (lastMessage == null ? void 0 : lastMessage.parentId) ? lastMessage == null ? void 0 : lastMessage.parentId : lastMessage == null ? void 0 : lastMessage.id;
|
|
88
|
-
setServicePostParentId(sParentId);
|
|
89
|
-
}
|
|
90
|
-
}, [lastMessage]);
|
|
91
|
-
const creatorAndMembersId = React__default.useMemo(() => {
|
|
92
|
-
var _a2, _b2, _c2, _d2, _e, _f;
|
|
93
|
-
if (!(channel == null ? void 0 : channel.members))
|
|
94
|
-
return null;
|
|
95
|
-
const membersIds = (_c2 = (_b2 = (_a2 = channel == null ? void 0 : channel.members) == null ? void 0 : _a2.filter((m) => {
|
|
96
|
-
var _a3;
|
|
97
|
-
return m !== null && ((_a3 = m == null ? void 0 : m.user) == null ? void 0 : _a3.id) !== (currentUser == null ? void 0 : currentUser.id);
|
|
98
|
-
})) == null ? void 0 : _b2.map((mu) => {
|
|
99
|
-
var _a3;
|
|
100
|
-
return (_a3 = mu == null ? void 0 : mu.user) == null ? void 0 : _a3.id;
|
|
101
|
-
})) != null ? _c2 : [];
|
|
102
|
-
const creatorId = (_d2 = channel == null ? void 0 : channel.creator) == null ? void 0 : _d2.id;
|
|
103
|
-
const mergedIds = (_e = [].concat(membersIds, creatorId)) != null ? _e : [];
|
|
104
|
-
return (_f = mergedIds == null ? void 0 : mergedIds.filter((m, pos) => (mergedIds == null ? void 0 : mergedIds.indexOf(m)) === pos)) != null ? _f : [];
|
|
105
|
-
}, [channel]);
|
|
106
|
-
const postParentId = React__default.useMemo(() => {
|
|
107
|
-
var _a2;
|
|
108
|
-
if (!(creatorAndMembersId == null ? void 0 : creatorAndMembersId.length))
|
|
109
|
-
return null;
|
|
110
|
-
return (creatorAndMembersId == null ? void 0 : creatorAndMembersId.length) && (creatorAndMembersId == null ? void 0 : creatorAndMembersId.includes(currentUser == null ? void 0 : currentUser.id)) ? null : (lastMessage == null ? void 0 : lastMessage.parentId) ? lastMessage == null ? void 0 : lastMessage.parentId : (_a2 = lastMessage == null ? void 0 : lastMessage.id) != null ? _a2 : 0;
|
|
111
|
-
}, [creatorAndMembersId, lastMessage]);
|
|
112
|
-
return /* @__PURE__ */ React__default.createElement(Pressable, { onPress: () => (channel == null ? void 0 : channel.id) !== selectedChannelId && onOpen(channel == null ? void 0 : channel.id, channel == null ? void 0 : channel.title, postParentId), className: "flex-1 rounded-md border-gray-200 dark:border-gray-600 dark:bg-gray-700", style: {
|
|
113
|
-
borderBottomWidth: 1,
|
|
114
|
-
borderColor: "#e5e7eb",
|
|
115
|
-
marginVertical: 0
|
|
116
|
-
} }, /* @__PURE__ */ React__default.createElement(HStack, { space: "md", className: "flex-1 w-[100%] px-2 py-3 items-center" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-[0.1] items-start pl-3" }, /* @__PURE__ */ React__default.createElement(Avatar, { key: "service-channels-key-" + (channel == null ? void 0 : channel.id), size: "sm", className: "bg-transparent top-0 right-0 z-[1]" }, /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, " ", startCase((_c = (_b = channel == null ? void 0 : channel.creator) == null ? void 0 : _b.username) == null ? void 0 : _c.charAt(0))), /* @__PURE__ */ React__default.createElement(AvatarImage, { alt: "user image", style: {
|
|
117
|
-
borderRadius: 6,
|
|
118
|
-
borderWidth: 2,
|
|
119
|
-
borderColor: "#fff"
|
|
120
|
-
}, source: {
|
|
121
|
-
uri: (_d = channel == null ? void 0 : channel.creator) == null ? void 0 : _d.picture
|
|
122
|
-
} }))), /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1" }, /* @__PURE__ */ React__default.createElement(ServiceChannelWithLastMessage, { channel, lastMessage, subscribeToNewMessages: () => {
|
|
123
|
-
var _a2;
|
|
124
|
-
return subscribeToMore({
|
|
125
|
-
document: OnThreadCreatedUpdatedDocument,
|
|
126
|
-
variables: {
|
|
127
|
-
channelId: (_a2 = channel == null ? void 0 : channel.id) == null ? void 0 : _a2.toString(),
|
|
128
|
-
postParentId: postParentId ? servicePostParentId : null
|
|
129
|
-
},
|
|
130
|
-
updateQuery: (prev, {
|
|
131
|
-
subscriptionData
|
|
132
|
-
}) => {
|
|
133
|
-
var _a3, _b2, _c2, _d2, _e, _f, _g, _h;
|
|
134
|
-
if (!subscriptionData.data)
|
|
135
|
-
return prev;
|
|
136
|
-
const newPostThreadData = (_b2 = (_a3 = subscriptionData == null ? void 0 : subscriptionData.data) == null ? void 0 : _a3.threadCreatedUpdated) == null ? void 0 : _b2.data;
|
|
137
|
-
const newMessage = (_d2 = (_c2 = subscriptionData == null ? void 0 : subscriptionData.data) == null ? void 0 : _c2.threadCreatedUpdated) == null ? void 0 : _d2.lastMessage;
|
|
138
|
-
const data = (_g = (_f = (_e = prev == null ? void 0 : prev.threadMessages) == null ? void 0 : _e.data) == null ? void 0 : _f.map((t) => t.id === (newPostThreadData == null ? void 0 : newPostThreadData.id) ? __spreadProps(__spreadValues({}, t), {
|
|
139
|
-
replies: [...t == null ? void 0 : t.replies, newMessage],
|
|
140
|
-
replyCount: newPostThreadData == null ? void 0 : newPostThreadData.replyCount,
|
|
141
|
-
lastReplyAt: newPostThreadData == null ? void 0 : newPostThreadData.lastReplyAt,
|
|
142
|
-
updatedAt: newPostThreadData == null ? void 0 : newPostThreadData.updatedAt
|
|
143
|
-
}) : t)) != null ? _g : [];
|
|
144
|
-
return Object.assign({}, prev, {
|
|
145
|
-
threadMessages: __spreadProps(__spreadValues({}, prev == null ? void 0 : prev.threadMessages), {
|
|
146
|
-
totalCount: (_h = newPostThreadData == null ? void 0 : newPostThreadData.totalCount) != null ? _h : 0,
|
|
147
|
-
data: (data == null ? void 0 : data.length) > 0 ? data : [newPostThreadData]
|
|
148
|
-
})
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
} }))));
|
|
153
|
-
};
|
|
154
|
-
const ServiceChannelWithLastMessage = React__default.memo(({
|
|
155
|
-
channel,
|
|
156
|
-
lastMessage,
|
|
157
|
-
subscribeToNewMessages
|
|
158
|
-
}) => {
|
|
159
|
-
var _a;
|
|
160
|
-
React__default.useEffect(() => subscribeToNewMessages(), []);
|
|
161
|
-
const count = 20;
|
|
162
|
-
const title = (channel == null ? void 0 : channel.title.slice(0, count)) + ((channel == null ? void 0 : channel.title.length) > count ? "..." : "");
|
|
163
|
-
return /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-between" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-[0.8]" }, /* @__PURE__ */ React__default.createElement(Text, { color: colors.gray[600], className: "text-base text-wrap flex-wrap font-semibold" }, title), /* @__PURE__ */ React__default.createElement(Text, { color: colors.gray[600], numberOfLines: 1 }, (_a = lastMessage == null ? void 0 : lastMessage.message) != null ? _a : "")), /* @__PURE__ */ React__default.createElement(Box, { className: "flex-[0.2]" }, /* @__PURE__ */ React__default.createElement(Text, { color: colors.gray[500] }, lastMessage ? createdAtText(lastMessage == null ? void 0 : lastMessage.createdAt) : "")));
|
|
164
|
-
});
|
|
165
|
-
const ServiceDialogsListItem = React__default.memo(ServiceDialogsListItemComponent);export{ServiceDialogsListItem,ServiceDialogsListItemComponent};//# sourceMappingURL=ServiceDialogsListItem.js.map
|