@churchapps/apphelper 0.4.17 → 0.4.19

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 (146) hide show
  1. package/dist/components/DisplayBox.js +1 -1
  2. package/dist/components/DisplayBox.js.map +1 -1
  3. package/dist/components/FormCardPayment.js +2 -2
  4. package/dist/components/FormCardPayment.js.map +1 -1
  5. package/dist/components/FormSubmissionEdit.d.ts.map +1 -1
  6. package/dist/components/FormSubmissionEdit.js +4 -5
  7. package/dist/components/FormSubmissionEdit.js.map +1 -1
  8. package/dist/components/InputBox.js +1 -1
  9. package/dist/components/InputBox.js.map +1 -1
  10. package/dist/components/Loading.js +1 -1
  11. package/dist/components/Loading.js.map +1 -1
  12. package/dist/components/PageHeader.d.ts +15 -0
  13. package/dist/components/PageHeader.d.ts.map +1 -0
  14. package/dist/components/PageHeader.js +41 -0
  15. package/dist/components/PageHeader.js.map +1 -0
  16. package/dist/components/PersonAvatar.d.ts +12 -0
  17. package/dist/components/PersonAvatar.d.ts.map +1 -0
  18. package/dist/components/PersonAvatar.js +55 -0
  19. package/dist/components/PersonAvatar.js.map +1 -0
  20. package/dist/components/header/SiteHeader.d.ts +2 -1
  21. package/dist/components/header/SiteHeader.d.ts.map +1 -1
  22. package/dist/components/header/SiteHeader.js +100 -4
  23. package/dist/components/header/SiteHeader.js.map +1 -1
  24. package/dist/components/header/SupportDrawer.js.map +1 -1
  25. package/dist/components/index.d.ts +2 -0
  26. package/dist/components/index.d.ts.map +1 -1
  27. package/dist/components/index.js +2 -0
  28. package/dist/components/index.js.map +1 -1
  29. package/dist/components/notes/AddNote.d.ts.map +1 -1
  30. package/dist/components/notes/AddNote.js +45 -7
  31. package/dist/components/notes/AddNote.js.map +1 -1
  32. package/dist/components/notes/Note.d.ts.map +1 -1
  33. package/dist/components/notes/Note.js +6 -6
  34. package/dist/components/notes/Note.js.map +1 -1
  35. package/dist/components/notes/Notes.d.ts.map +1 -1
  36. package/dist/components/notes/Notes.js +120 -20
  37. package/dist/components/notes/Notes.js.map +1 -1
  38. package/dist/components/wrapper/ChurchList.d.ts.map +1 -1
  39. package/dist/components/wrapper/ChurchList.js +44 -6
  40. package/dist/components/wrapper/ChurchList.js.map +1 -1
  41. package/dist/components/wrapper/NewPrivateMessage.d.ts.map +1 -1
  42. package/dist/components/wrapper/NewPrivateMessage.js +28 -21
  43. package/dist/components/wrapper/NewPrivateMessage.js.map +1 -1
  44. package/dist/components/wrapper/Notifications.d.ts.map +1 -1
  45. package/dist/components/wrapper/Notifications.js +47 -20
  46. package/dist/components/wrapper/Notifications.js.map +1 -1
  47. package/dist/components/wrapper/PrivateMessageDetails.d.ts +1 -0
  48. package/dist/components/wrapper/PrivateMessageDetails.d.ts.map +1 -1
  49. package/dist/components/wrapper/PrivateMessageDetails.js +53 -4
  50. package/dist/components/wrapper/PrivateMessageDetails.js.map +1 -1
  51. package/dist/components/wrapper/PrivateMessages.d.ts.map +1 -1
  52. package/dist/components/wrapper/PrivateMessages.js +360 -41
  53. package/dist/components/wrapper/PrivateMessages.js.map +1 -1
  54. package/dist/components/wrapper/UserMenu.d.ts.map +1 -1
  55. package/dist/components/wrapper/UserMenu.js +164 -27
  56. package/dist/components/wrapper/UserMenu.js.map +1 -1
  57. package/dist/components/wrapper/index.d.ts +2 -1
  58. package/dist/components/wrapper/index.d.ts.map +1 -1
  59. package/dist/components/wrapper/index.js +2 -1
  60. package/dist/components/wrapper/index.js.map +1 -1
  61. package/dist/helpers/ArrayHelper.d.ts.map +1 -1
  62. package/dist/helpers/ArrayHelper.js +0 -1
  63. package/dist/helpers/ArrayHelper.js.map +1 -1
  64. package/dist/helpers/ErrorHelper.js +1 -1
  65. package/dist/helpers/ErrorHelper.js.map +1 -1
  66. package/dist/helpers/EventHelper.d.ts.map +1 -1
  67. package/dist/helpers/EventHelper.js +0 -3
  68. package/dist/helpers/EventHelper.js.map +1 -1
  69. package/dist/helpers/Locale.d.ts +1 -1
  70. package/dist/helpers/Locale.d.ts.map +1 -1
  71. package/dist/helpers/Locale.js +7 -2
  72. package/dist/helpers/Locale.js.map +1 -1
  73. package/dist/helpers/NotificationService.d.ts +56 -0
  74. package/dist/helpers/NotificationService.d.ts.map +1 -0
  75. package/dist/helpers/NotificationService.js +176 -0
  76. package/dist/helpers/NotificationService.js.map +1 -0
  77. package/dist/helpers/SocketHelper.d.ts.map +1 -1
  78. package/dist/helpers/SocketHelper.js +22 -17
  79. package/dist/helpers/SocketHelper.js.map +1 -1
  80. package/dist/helpers/UserHelper.js +2 -2
  81. package/dist/helpers/UserHelper.js.map +1 -1
  82. package/dist/helpers/index.d.ts +2 -0
  83. package/dist/helpers/index.d.ts.map +1 -1
  84. package/dist/helpers/index.js +1 -0
  85. package/dist/helpers/index.js.map +1 -1
  86. package/dist/hooks/index.d.ts +2 -0
  87. package/dist/hooks/index.d.ts.map +1 -1
  88. package/dist/hooks/index.js +1 -0
  89. package/dist/hooks/index.js.map +1 -1
  90. package/dist/hooks/useNotifications.d.ts +30 -0
  91. package/dist/hooks/useNotifications.d.ts.map +1 -0
  92. package/dist/hooks/useNotifications.js +79 -0
  93. package/dist/hooks/useNotifications.js.map +1 -0
  94. package/dist/public/css/styles.css +6 -2
  95. package/package.json +1 -1
  96. package/public/css/styles.css +6 -2
  97. package/src/components/DisplayBox.tsx +8 -8
  98. package/src/components/FormCardPayment.tsx +2 -2
  99. package/src/components/FormSubmissionEdit.tsx +5 -6
  100. package/src/components/InputBox.tsx +8 -8
  101. package/src/components/Loading.tsx +1 -1
  102. package/src/components/PageHeader.tsx +111 -0
  103. package/src/components/PersonAvatar.tsx +78 -0
  104. package/src/components/header/SiteHeader.tsx +133 -10
  105. package/src/components/header/SupportDrawer.tsx +1 -1
  106. package/src/components/index.tsx +2 -0
  107. package/src/components/notes/AddNote.tsx +105 -19
  108. package/src/components/notes/Note.tsx +43 -22
  109. package/src/components/notes/Notes.tsx +160 -21
  110. package/src/components/wrapper/ChurchList.tsx +45 -5
  111. package/src/components/wrapper/NewPrivateMessage.tsx +181 -44
  112. package/src/components/wrapper/Notifications.tsx +165 -29
  113. package/src/components/wrapper/PrivateMessageDetails.tsx +100 -13
  114. package/src/components/wrapper/PrivateMessages.tsx +539 -65
  115. package/src/components/wrapper/UserMenu.tsx +223 -38
  116. package/src/components/wrapper/index.tsx +3 -2
  117. package/src/helpers/ArrayHelper.ts +0 -1
  118. package/src/helpers/ErrorHelper.ts +1 -1
  119. package/src/helpers/EventHelper.ts +0 -3
  120. package/src/helpers/Locale.ts +7 -2
  121. package/src/helpers/NotificationService.ts +211 -0
  122. package/src/helpers/SocketHelper.ts +23 -17
  123. package/src/helpers/UserHelper.ts +2 -2
  124. package/src/helpers/index.ts +2 -0
  125. package/src/hooks/index.ts +2 -0
  126. package/src/hooks/useNotifications.ts +94 -0
  127. package/dist/components/wrapper/Drawers.d.ts +0 -5
  128. package/dist/components/wrapper/Drawers.d.ts.map +0 -1
  129. package/dist/components/wrapper/Drawers.js +0 -49
  130. package/dist/components/wrapper/Drawers.js.map +0 -1
  131. package/dist/components/wrapper/SiteWrapper.d.ts +0 -15
  132. package/dist/components/wrapper/SiteWrapper.d.ts.map +0 -1
  133. package/dist/components/wrapper/SiteWrapper.js +0 -60
  134. package/dist/components/wrapper/SiteWrapper.js.map +0 -1
  135. package/dist/components/wrapper/TabPanel.d.ts +0 -9
  136. package/dist/components/wrapper/TabPanel.d.ts.map +0 -1
  137. package/dist/components/wrapper/TabPanel.js +0 -17
  138. package/dist/components/wrapper/TabPanel.js.map +0 -1
  139. package/dist/helpers/ApiHelper.d.ts +0 -18
  140. package/dist/helpers/ApiHelper.d.ts.map +0 -1
  141. package/dist/helpers/ApiHelper.js +0 -119
  142. package/dist/helpers/ApiHelper.js.map +0 -1
  143. package/src/components/wrapper/Drawers.tsx +0 -62
  144. package/src/components/wrapper/SiteWrapper.tsx +0 -110
  145. package/src/components/wrapper/TabPanel.tsx +0 -32
  146. package/src/helpers/ApiHelper.ts +0 -127
@@ -1,64 +1,383 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import React, { useState } from "react";
4
- import { ApiHelper } from "../../helpers/ApiHelper";
5
- import { Box, Stack } from "@mui/material";
6
- import { SmallButton } from "../SmallButton";
7
- import { ArrayHelper, DateHelper, PersonHelper } from "../../helpers";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useState, useEffect } from "react";
4
+ import { ApiHelper } from "@churchapps/helpers";
5
+ import { Box, Stack, List, ListItem, ListItemAvatar, ListItemText, Typography, IconButton, Chip, Paper, Skeleton, useTheme } from "@mui/material";
6
+ import { Add as AddIcon, ChatBubbleOutline as ChatIcon } from "@mui/icons-material";
7
+ import { PersonAvatar } from "../PersonAvatar";
8
+ import { ArrayHelper, DateHelper } from "../../helpers";
8
9
  import { PrivateMessageDetails } from "./PrivateMessageDetails";
9
10
  import { NewPrivateMessage } from "./NewPrivateMessage";
10
- export const PrivateMessages = (props) => {
11
+ // Create a persistent store for PrivateMessages state that survives component re-renders
12
+ const privateMessagesStateStore = {
13
+ selectedMessage: null,
14
+ inAddMode: false,
15
+ listeners: new Set(),
16
+ setSelectedMessage(value) {
17
+ this.selectedMessage = value;
18
+ this.listeners.forEach((listener) => listener());
19
+ },
20
+ setInAddMode(value) {
21
+ this.inAddMode = value;
22
+ this.listeners.forEach((listener) => listener());
23
+ },
24
+ subscribe(listener) {
25
+ this.listeners.add(listener);
26
+ return () => this.listeners.delete(listener);
27
+ }
28
+ };
29
+ export const PrivateMessages = React.memo((props) => {
11
30
  const [privateMessages, setPrivateMessages] = useState([]);
12
- const [selectedMessage, setSelectedMessage] = useState(null);
13
- const [inAddMode, setInAddMode] = useState(false);
31
+ const [, forceUpdate] = React.useReducer(x => x + 1, 0);
32
+ const [isLoading, setIsLoading] = useState(true);
33
+ // Subscribe to state changes
34
+ React.useEffect(() => {
35
+ return privateMessagesStateStore.subscribe(forceUpdate);
36
+ }, [forceUpdate]);
37
+ const selectedMessage = privateMessagesStateStore.selectedMessage;
38
+ const inAddMode = privateMessagesStateStore.inAddMode;
14
39
  const loadData = async () => {
15
- console.log("loading data");
40
+ setIsLoading(true);
16
41
  const pms = await ApiHelper.get("/privateMessages", "MessagingApi");
42
+ // Store the current selected conversation ID if dialog is open
43
+ const currentSelectedPersonId = selectedMessage ?
44
+ (selectedMessage.fromPersonId === props.context.person.id) ?
45
+ selectedMessage.toPersonId : selectedMessage.fromPersonId
46
+ : null;
47
+ // Group messages by person (conversation)
48
+ const conversationMap = new Map();
17
49
  const peopleIds = [];
18
- pms.forEach(pm => {
50
+ pms.forEach((pm) => {
19
51
  const personId = (pm.fromPersonId === props.context.person.id) ? pm.toPersonId : pm.fromPersonId;
20
52
  if (peopleIds.indexOf(personId) === -1)
21
53
  peopleIds.push(personId);
54
+ // Keep only the most recent message per conversation
55
+ const currentMessage = pm.conversation?.messages?.[0];
56
+ const existingPm = conversationMap.get(personId);
57
+ const existingMessage = existingPm?.conversation?.messages?.[0];
58
+ if (!conversationMap.has(personId)) {
59
+ // First message for this person
60
+ conversationMap.set(personId, pm);
61
+ }
62
+ else if (currentMessage && existingMessage) {
63
+ // Compare timestamps to keep the most recent
64
+ const currentTime = new Date(currentMessage.timeUpdated || currentMessage.timeSent);
65
+ const existingTime = new Date(existingMessage.timeUpdated || existingMessage.timeSent);
66
+ if (currentTime > existingTime) {
67
+ conversationMap.set(personId, pm);
68
+ }
69
+ }
70
+ else if (currentMessage && !existingMessage) {
71
+ // Current has message but existing doesn't, use current
72
+ conversationMap.set(personId, pm);
73
+ }
74
+ // If !currentMessage but existingMessage, keep existing (do nothing)
75
+ });
76
+ // Convert map back to array (one message per conversation)
77
+ let conversations = Array.from(conversationMap.values());
78
+ // Filter out conversations without messages first
79
+ conversations = conversations.filter(pm => pm.conversation?.messages?.[0]);
80
+ // Get the filtered people IDs (only for conversations with messages)
81
+ const filteredPeopleIds = conversations.map(pm => (pm.fromPersonId === props.context.person.id) ? pm.toPersonId : pm.fromPersonId).filter((id, index, arr) => arr.indexOf(id) === index); // Remove duplicates
82
+ if (filteredPeopleIds.length > 0) {
83
+ try {
84
+ const people = await ApiHelper.get("/people/basic?ids=" + filteredPeopleIds.join(","), "MembershipApi");
85
+ conversations.forEach(pm => {
86
+ const personId = (pm.fromPersonId === props.context.person.id) ? pm.toPersonId : pm.fromPersonId;
87
+ pm.person = ArrayHelper.getOne(people, "id", personId);
88
+ });
89
+ }
90
+ catch (error) {
91
+ console.error("❌ Failed to load people data:", error);
92
+ }
93
+ }
94
+ // Sort by most recent message (same logic as displayed in UI)
95
+ conversations.sort((a, b) => {
96
+ const aMessage = a.conversation?.messages?.[0];
97
+ const bMessage = b.conversation?.messages?.[0];
98
+ if (!aMessage && !bMessage)
99
+ return 0;
100
+ if (!aMessage)
101
+ return 1; // b comes first
102
+ if (!bMessage)
103
+ return -1; // a comes first
104
+ const aTime = new Date(aMessage.timeUpdated || aMessage.timeSent).getTime();
105
+ const bTime = new Date(bMessage.timeUpdated || bMessage.timeSent).getTime();
106
+ // Most recent first (descending order)
107
+ return bTime - aTime;
22
108
  });
23
- if (peopleIds.length > 0) {
24
- const people = await ApiHelper.get("/people/basic?ids=" + peopleIds.join(","), "MembershipApi");
25
- pms.forEach(pm => {
109
+ setPrivateMessages(conversations);
110
+ // If a conversation is currently selected, update the selectedMessage to the new data
111
+ // This prevents the dialog from closing when new messages arrive
112
+ if (currentSelectedPersonId) {
113
+ const updatedSelectedMessage = conversations.find(pm => {
26
114
  const personId = (pm.fromPersonId === props.context.person.id) ? pm.toPersonId : pm.fromPersonId;
27
- pm.person = ArrayHelper.getOne(people, "id", personId);
115
+ return personId === currentSelectedPersonId;
28
116
  });
117
+ if (updatedSelectedMessage) {
118
+ privateMessagesStateStore.setSelectedMessage(updatedSelectedMessage);
119
+ }
120
+ else {
121
+ privateMessagesStateStore.setSelectedMessage(null);
122
+ }
29
123
  }
30
- setPrivateMessages(pms);
124
+ setIsLoading(false);
31
125
  props.onUpdate();
32
126
  };
33
- React.useEffect(() => { loadData(); }, [props.refreshKey]); //eslint-disable-line
34
- React.useEffect(() => { console.log("RELOADED PMS"); }, []);
35
- const getMainLinks = () => {
36
- let result = [];
37
- privateMessages.forEach(pm => {
38
- const person = pm.person;
39
- const message = pm.conversation.messages[0];
40
- const photoUrl = PersonHelper.getPhotoUrl(person);
41
- let datePosted = new Date(message.timeUpdated || message.timeSent);
42
- const displayDuration = DateHelper.getDisplayDuration(datePosted);
43
- const contents = message.content?.split("\n")[0];
44
- const privateMessage = pm;
45
- result.push(_jsxs("div", { className: "note", style: { cursor: "pointer" }, onClick: (e) => { e.preventDefault(); setSelectedMessage(privateMessage); }, role: "button", tabIndex: 0, onKeyDown: (e) => { if (e.key === 'Enter' || e.key === ' ') {
46
- e.preventDefault();
47
- setSelectedMessage(privateMessage);
48
- } }, "aria-label": `View private message from ${person.name?.display}`, children: [_jsx("div", { className: "postedBy", children: _jsx("img", { src: photoUrl, alt: "avatar" }) }), _jsx(Box, { sx: { width: "100%" }, className: "note-contents", children: _jsx(Stack, { direction: "row", justifyContent: "space-between", children: _jsxs("div", { children: [_jsx("b", { children: person.name?.display }), " \u00B7 ", _jsx("span", { className: "text-grey", children: displayDuration }), _jsx("p", { style: { maxHeight: 20, overflowY: "hidden" }, children: contents })] }) }) })] }, pm.id));
49
- });
50
- return result;
127
+ // Initialize data on mount
128
+ useEffect(() => {
129
+ loadData();
130
+ }, []); //eslint-disable-line
131
+ // Reload data when refreshKey changes
132
+ useEffect(() => {
133
+ loadData();
134
+ }, [props.refreshKey]); //eslint-disable-line
135
+ const getMessageList = () => {
136
+ if (privateMessages.length === 0) {
137
+ return (_jsxs(Box, { sx: {
138
+ textAlign: 'center',
139
+ py: 8,
140
+ px: 4,
141
+ height: '100%',
142
+ display: 'flex',
143
+ flexDirection: 'column',
144
+ justifyContent: 'center',
145
+ alignItems: 'center'
146
+ }, children: [_jsx(Box, { sx: {
147
+ width: 120,
148
+ height: 120,
149
+ borderRadius: '50%',
150
+ bgcolor: 'rgba(25, 118, 210, 0.08)',
151
+ display: 'flex',
152
+ alignItems: 'center',
153
+ justifyContent: 'center',
154
+ mb: 3,
155
+ position: 'relative',
156
+ '&::before': {
157
+ content: '""',
158
+ position: 'absolute',
159
+ width: '100%',
160
+ height: '100%',
161
+ borderRadius: '50%',
162
+ border: '1px solid rgba(25, 118, 210, 0.12)',
163
+ animation: 'pulse 2s infinite'
164
+ },
165
+ '@keyframes pulse': {
166
+ '0%': {
167
+ transform: 'scale(1)',
168
+ opacity: 1
169
+ },
170
+ '50%': {
171
+ transform: 'scale(1.05)',
172
+ opacity: 0.7
173
+ },
174
+ '100%': {
175
+ transform: 'scale(1)',
176
+ opacity: 1
177
+ }
178
+ }
179
+ }, children: _jsx(ChatIcon, { sx: {
180
+ fontSize: 56,
181
+ color: 'primary.main',
182
+ opacity: 0.8
183
+ } }) }), _jsx(Typography, { variant: "h5", sx: {
184
+ color: 'text.primary',
185
+ fontWeight: 600,
186
+ mb: 1.5,
187
+ letterSpacing: '-0.02em'
188
+ }, children: "No conversations yet" }), _jsx(Typography, { variant: "body1", sx: {
189
+ color: 'text.secondary',
190
+ maxWidth: 280,
191
+ lineHeight: 1.6,
192
+ mb: 3
193
+ }, children: "Start meaningful conversations with your community members. Your messages will appear here." }), _jsxs(Box, { sx: {
194
+ p: 2,
195
+ borderRadius: 2,
196
+ bgcolor: 'rgba(25, 118, 210, 0.04)',
197
+ border: '1px solid rgba(25, 118, 210, 0.12)',
198
+ display: 'flex',
199
+ alignItems: 'center',
200
+ gap: 1.5
201
+ }, children: [_jsx(AddIcon, { sx: { color: 'primary.main', fontSize: 20 } }), _jsx(Typography, { variant: "body2", sx: {
202
+ color: 'primary.main',
203
+ fontWeight: 500
204
+ }, children: "Click the + button above to start your first conversation" })] })] }));
205
+ }
206
+ return (_jsx(List, { sx: {
207
+ width: '100%',
208
+ p: 0,
209
+ '& .MuiListItem-root': {
210
+ transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)'
211
+ }
212
+ }, children: privateMessages.map((pm, index) => {
213
+ const person = pm.person;
214
+ const message = pm.conversation?.messages?.[0];
215
+ // Only filter out if there's no message - show conversations even without person data
216
+ if (!message) {
217
+ return null;
218
+ }
219
+ const contents = message.content?.split("\n")[0];
220
+ let datePosted = new Date(message.timeUpdated || message.timeSent);
221
+ const displayDuration = DateHelper.getDisplayDuration(datePosted);
222
+ // Check if this conversation has unread messages
223
+ const isUnread = pm.notifyPersonId === props.context.person.id;
224
+ // Determine who sent the last message for better context
225
+ const isLastMessageFromMe = message.personId === props.context.person.id;
226
+ const isFromOtherPerson = pm.fromPersonId !== props.context.person.id;
227
+ return (_jsx(Box, { sx: { px: 2, py: 0.5 }, children: _jsxs(ListItem, { component: "button", onClick: () => privateMessagesStateStore.setSelectedMessage(pm), sx: {
228
+ alignItems: 'flex-start',
229
+ p: 3,
230
+ cursor: 'pointer',
231
+ bgcolor: isUnread
232
+ ? 'rgba(25, 118, 210, 0.04)'
233
+ : 'background.paper',
234
+ border: isUnread
235
+ ? '1px solid rgba(25, 118, 210, 0.12)'
236
+ : '1px solid transparent',
237
+ borderRadius: 3,
238
+ boxShadow: '0 1px 3px rgba(0, 0, 0, 0.02)',
239
+ transition: 'all 0.2s cubic-bezier(0.4, 0, 0.2, 1)',
240
+ transform: 'translateY(0)',
241
+ '&:hover': {
242
+ bgcolor: isUnread
243
+ ? 'rgba(25, 118, 210, 0.06)'
244
+ : 'rgba(0, 0, 0, 0.02)',
245
+ boxShadow: '0 4px 12px rgba(0, 0, 0, 0.08)',
246
+ transform: 'translateY(-1px)',
247
+ borderColor: 'rgba(0, 0, 0, 0.06)'
248
+ },
249
+ '&:active': {
250
+ transform: 'translateY(0)',
251
+ boxShadow: '0 2px 6px rgba(0, 0, 0, 0.06)'
252
+ },
253
+ position: 'relative',
254
+ overflow: 'hidden',
255
+ '&::before': isUnread ? {
256
+ content: '""',
257
+ position: 'absolute',
258
+ left: 0,
259
+ top: 0,
260
+ bottom: 0,
261
+ width: 4,
262
+ bgcolor: 'primary.main',
263
+ borderRadius: '0 2px 2px 0'
264
+ } : {}
265
+ }, children: [_jsx(ListItemAvatar, { sx: { mr: 2 }, children: _jsxs(Box, { sx: { position: 'relative' }, children: [_jsx(PersonAvatar, { person: person || { name: { display: "Unknown User" } }, size: "medium" }), isUnread && (_jsx(Box, { sx: {
266
+ position: 'absolute',
267
+ top: -2,
268
+ right: -2,
269
+ width: 14,
270
+ height: 14,
271
+ bgcolor: 'primary.main',
272
+ borderRadius: '50%',
273
+ border: '2px solid white',
274
+ boxShadow: '0 2px 4px rgba(0, 0, 0, 0.2)'
275
+ } }))] }) }), _jsx(ListItemText, { sx: { m: 0, flex: 1 }, primary: _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "flex-start", sx: { mb: 0.5 }, children: [_jsx(Typography, { variant: "h6", sx: {
276
+ fontWeight: isUnread ? 600 : 500,
277
+ fontSize: '1rem',
278
+ color: 'text.primary',
279
+ lineHeight: 1.3
280
+ }, children: person?.name?.display || "Unknown User" }), _jsx(Typography, { variant: "caption", sx: {
281
+ color: 'text.secondary',
282
+ fontSize: '0.75rem',
283
+ fontWeight: 500,
284
+ letterSpacing: '0.02em',
285
+ ml: 2,
286
+ flexShrink: 0
287
+ }, children: displayDuration })] }), secondary: _jsxs(Typography, { variant: "body2", sx: {
288
+ color: 'text.secondary',
289
+ fontSize: '0.875rem',
290
+ fontWeight: isUnread ? 500 : 400,
291
+ lineHeight: 1.4,
292
+ overflow: 'hidden',
293
+ textOverflow: 'ellipsis',
294
+ display: '-webkit-box',
295
+ WebkitLineClamp: 2,
296
+ WebkitBoxOrient: 'vertical',
297
+ opacity: contents ? 1 : 0.6,
298
+ fontStyle: contents ? 'normal' : 'italic'
299
+ }, children: [isLastMessageFromMe && contents && (_jsxs(Typography, { component: "span", sx: {
300
+ fontWeight: 600,
301
+ color: 'text.primary',
302
+ opacity: 0.8
303
+ }, children: ["You:", " "] })), contents || 'No message preview available'] }) }), isUnread && (_jsx(Box, { sx: { ml: 1, display: 'flex', alignItems: 'flex-start', pt: 0.5 }, children: _jsx(Chip, { size: "small", label: "New", sx: {
304
+ height: 22,
305
+ fontSize: '0.7rem',
306
+ fontWeight: 600,
307
+ bgcolor: 'primary.main',
308
+ color: 'white',
309
+ '& .MuiChip-label': {
310
+ px: 1
311
+ }
312
+ } }) }))] }) }, pm.id));
313
+ }) }));
51
314
  };
52
315
  const handleBack = () => {
53
- setInAddMode(false);
54
- setSelectedMessage(null);
316
+ privateMessagesStateStore.setInAddMode(false);
317
+ privateMessagesStateStore.setSelectedMessage(null);
55
318
  loadData();
56
319
  };
320
+ const theme = useTheme();
57
321
  if (inAddMode)
58
- return _jsx(NewPrivateMessage, { context: props.context, onSelectMessage: (pm) => { setSelectedMessage(pm); setInAddMode(false); }, onBack: handleBack });
322
+ return _jsx(NewPrivateMessage, { context: props.context, onSelectMessage: (pm) => { privateMessagesStateStore.setSelectedMessage(pm); privateMessagesStateStore.setInAddMode(false); }, onBack: handleBack });
59
323
  if (selectedMessage)
60
- return _jsx(PrivateMessageDetails, { privateMessage: selectedMessage, context: props.context, onBack: handleBack, refreshKey: props.refreshKey });
61
- else
62
- return (_jsxs(_Fragment, { children: [_jsx("span", { style: { float: "right" }, children: _jsx(SmallButton, { icon: "edit_square", onClick: () => { setInAddMode(true); } }) }), getMainLinks()] }));
63
- };
324
+ return _jsx(PrivateMessageDetails, { privateMessage: selectedMessage, context: props.context, onBack: handleBack, refreshKey: props.refreshKey, onMessageRead: loadData });
325
+ return (_jsxs(Paper, { elevation: 0, sx: {
326
+ height: '100%',
327
+ display: 'flex',
328
+ flexDirection: 'column',
329
+ bgcolor: 'background.default',
330
+ borderRadius: 0
331
+ }, children: [_jsx(Box, { sx: {
332
+ p: 3,
333
+ borderBottom: '1px solid',
334
+ borderColor: 'divider',
335
+ bgcolor: 'background.paper',
336
+ backdropFilter: 'blur(10px)'
337
+ }, children: _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", children: [_jsxs(Box, { children: [_jsx(Typography, { variant: "h5", component: "h1", sx: {
338
+ fontWeight: 700,
339
+ color: 'text.primary',
340
+ letterSpacing: '-0.02em',
341
+ mb: 0.5
342
+ }, children: "Messages" }), _jsx(Typography, { variant: "body2", sx: {
343
+ color: 'text.secondary',
344
+ fontWeight: 500
345
+ }, children: privateMessages.length === 0
346
+ ? 'No conversations'
347
+ : `${privateMessages.length} conversation${privateMessages.length === 1 ? '' : 's'}` })] }), _jsx(IconButton, { onClick: () => privateMessagesStateStore.setInAddMode(true), sx: {
348
+ bgcolor: 'primary.main',
349
+ color: 'white',
350
+ width: 48,
351
+ height: 48,
352
+ boxShadow: '0 4px 12px rgba(25, 118, 210, 0.3)',
353
+ transition: 'all 0.2s cubic-bezier(0.4, 0, 0.2, 1)',
354
+ '&:hover': {
355
+ bgcolor: 'primary.dark',
356
+ boxShadow: '0 6px 16px rgba(25, 118, 210, 0.4)',
357
+ transform: 'translateY(-1px)'
358
+ },
359
+ '&:active': {
360
+ transform: 'translateY(0)',
361
+ boxShadow: '0 2px 8px rgba(25, 118, 210, 0.3)'
362
+ }
363
+ }, children: _jsx(AddIcon, { sx: { fontSize: 24 } }) })] }) }), _jsx(Box, { sx: { flex: 1, overflow: 'auto' }, children: isLoading ? (_jsx(Box, { sx: { p: 2 }, children: [...Array(3)].map((_, index) => (_jsx(Box, { sx: { px: 2, py: 0.5, mb: 1 }, children: _jsxs(Box, { sx: {
364
+ p: 3,
365
+ borderRadius: 3,
366
+ bgcolor: 'background.paper',
367
+ boxShadow: '0 1px 3px rgba(0, 0, 0, 0.02)',
368
+ display: 'flex',
369
+ alignItems: 'flex-start'
370
+ }, children: [_jsx(Skeleton, { variant: "circular", width: 56, height: 56, sx: { mr: 2, flexShrink: 0 } }), _jsxs(Box, { sx: { flex: 1 }, children: [_jsxs(Box, { sx: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 1 }, children: [_jsx(Skeleton, { variant: "text", width: "45%", height: 24, sx: { borderRadius: 1 } }), _jsx(Skeleton, { variant: "text", width: "20%", height: 18, sx: { borderRadius: 1 } })] }), _jsx(Skeleton, { variant: "text", width: "85%", height: 20, sx: { borderRadius: 1 } }), _jsx(Skeleton, { variant: "text", width: "65%", height: 20, sx: { borderRadius: 1, mt: 0.5 } })] })] }) }, index))) })) : (getMessageList()) })] }));
371
+ }, (prevProps, nextProps) => {
372
+ // Only re-render if context.person.id changes or if we're explicitly forcing with refreshKey
373
+ const personChanged = prevProps.context?.person?.id !== nextProps.context?.person?.id;
374
+ const refreshKeyChanged = prevProps.refreshKey !== nextProps.refreshKey;
375
+ if (personChanged) {
376
+ return false; // Re-render
377
+ }
378
+ if (refreshKeyChanged) {
379
+ return false; // Re-render
380
+ }
381
+ return true; // Skip re-render
382
+ });
64
383
  //# sourceMappingURL=PrivateMessages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateMessages.js","sourceRoot":"","sources":["../../../src/components/wrapper/PrivateMessages.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrivateMessages.js","sourceRoot":"","sources":["../../../src/components/wrapper/PrivateMessages.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,IAAI,EAEJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,iBAAiB,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,yFAAyF;AACzF,MAAM,yBAAyB,GAAG;IAChC,eAAe,EAAE,IAAsC;IACvD,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI,GAAG,EAAc;IAEhC,kBAAkB,CAAC,KAAqC;QACtD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAoB,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAoB,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IAEnE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA4B,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,6BAA6B;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,yBAAyB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,eAAe,GAAG,yBAAyB,CAAC,eAAe,CAAC;IAClE,MAAM,SAAS,GAAG,yBAAyB,CAAC,SAAS,CAAC;IAGtD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,GAAG,GAA8B,MAAM,SAAS,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAE/F,+DAA+D;QAC/D,MAAM,uBAAuB,GAAG,eAAe,CAAC,CAAC;YAC/C,CAAC,eAAe,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY;YAC3D,CAAC,CAAC,IAAI,CAAC;QAGT,0CAA0C;QAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;QACnE,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC;YACjG,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEjE,qDAAqD;YACrD,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,gCAAgC;gBAChC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,6CAA6C;gBAC7C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACpF,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACvF,IAAI,WAAW,GAAG,YAAY,EAAE,CAAC;oBAC/B,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,cAAc,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC9C,wDAAwD;gBACxD,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,qEAAqE;QACvE,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzD,kDAAkD;QAClD,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC/C,CAAC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAChF,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAoB;QAE7E,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBAExG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACzB,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC;oBACjG,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAE/C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB;YACzC,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAE1C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAE5E,uCAAuC;YACvC,OAAO,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAElC,sFAAsF;QACtF,iEAAiE;QACjE,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,sBAAsB,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACrD,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC;gBACjG,OAAO,QAAQ,KAAK,uBAAuB,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,yBAAyB,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,yBAAyB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC,CAAA;IAED,2BAA2B;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB;IAE7B,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,qBAAqB;IAE7C,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CACL,MAAC,GAAG,IAAC,EAAE,EAAE;oBACP,SAAS,EAAE,QAAQ;oBACnB,EAAE,EAAE,CAAC;oBACL,EAAE,EAAE,CAAC;oBACL,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,QAAQ;iBACrB,aACC,KAAC,GAAG,IAAC,EAAE,EAAE;4BACP,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,GAAG;4BACX,YAAY,EAAE,KAAK;4BACnB,OAAO,EAAE,0BAA0B;4BACnC,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,QAAQ;4BACxB,EAAE,EAAE,CAAC;4BACL,QAAQ,EAAE,UAAU;4BACpB,WAAW,EAAE;gCACX,OAAO,EAAE,IAAI;gCACb,QAAQ,EAAE,UAAU;gCACpB,KAAK,EAAE,MAAM;gCACb,MAAM,EAAE,MAAM;gCACd,YAAY,EAAE,KAAK;gCACnB,MAAM,EAAE,oCAAoC;gCAC5C,SAAS,EAAE,mBAAmB;6BAC/B;4BACD,kBAAkB,EAAE;gCAClB,IAAI,EAAE;oCACJ,SAAS,EAAE,UAAU;oCACrB,OAAO,EAAE,CAAC;iCACX;gCACD,KAAK,EAAE;oCACL,SAAS,EAAE,aAAa;oCACxB,OAAO,EAAE,GAAG;iCACb;gCACD,MAAM,EAAE;oCACN,SAAS,EAAE,UAAU;oCACrB,OAAO,EAAE,CAAC;iCACX;6BACF;yBACF,YACC,KAAC,QAAQ,IAAC,EAAE,EAAE;gCACZ,QAAQ,EAAE,EAAE;gCACZ,KAAK,EAAE,cAAc;gCACrB,OAAO,EAAE,GAAG;6BACb,GAAI,GACD,EACN,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE;4BAC3B,KAAK,EAAE,cAAc;4BACrB,UAAU,EAAE,GAAG;4BACf,EAAE,EAAE,GAAG;4BACP,aAAa,EAAE,SAAS;yBACzB,qCAEY,EACb,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE;4BAC9B,KAAK,EAAE,gBAAgB;4BACvB,QAAQ,EAAE,GAAG;4BACb,UAAU,EAAE,GAAG;4BACf,EAAE,EAAE,CAAC;yBACN,4GAEY,EACb,MAAC,GAAG,IAAC,EAAE,EAAE;4BACP,CAAC,EAAE,CAAC;4BACJ,YAAY,EAAE,CAAC;4BACf,OAAO,EAAE,0BAA0B;4BACnC,MAAM,EAAE,oCAAoC;4BAC5C,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,GAAG,EAAE,GAAG;yBACT,aACC,KAAC,OAAO,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,EACxD,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE;oCAC9B,KAAK,EAAE,cAAc;oCACrB,UAAU,EAAE,GAAG;iCAChB,0EAEY,IACT,IACF,CACP,CAAC;QACJ,CAAC;QAED,OAAO,CACL,KAAC,IAAI,IAAC,EAAE,EAAE;gBACR,KAAK,EAAE,MAAM;gBACb,CAAC,EAAE,CAAC;gBACJ,qBAAqB,EAAE;oBACrB,UAAU,EAAE,uCAAuC;iBACpD;aACF,YACE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;gBACzB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBAE/C,sFAAsF;gBACtF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnE,MAAM,eAAe,GAAG,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAClE,iDAAiD;gBACjD,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAE/D,yDAAyD;gBACzD,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAEtE,OAAO,CACL,KAAC,GAAG,IAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,YACrC,MAAC,QAAQ,IACP,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAC/D,EAAE,EAAE;4BACF,UAAU,EAAE,YAAY;4BACxB,CAAC,EAAE,CAAC;4BACJ,MAAM,EAAE,SAAS;4BACjB,OAAO,EAAE,QAAQ;gCACf,CAAC,CAAC,0BAA0B;gCAC5B,CAAC,CAAC,kBAAkB;4BACtB,MAAM,EAAE,QAAQ;gCACd,CAAC,CAAC,oCAAoC;gCACtC,CAAC,CAAC,uBAAuB;4BAC3B,YAAY,EAAE,CAAC;4BACf,SAAS,EAAE,+BAA+B;4BAC1C,UAAU,EAAE,uCAAuC;4BACnD,SAAS,EAAE,eAAe;4BAC1B,SAAS,EAAE;gCACT,OAAO,EAAE,QAAQ;oCACf,CAAC,CAAC,0BAA0B;oCAC5B,CAAC,CAAC,qBAAqB;gCACzB,SAAS,EAAE,gCAAgC;gCAC3C,SAAS,EAAE,kBAAkB;gCAC7B,WAAW,EAAE,qBAAqB;6BACnC;4BACD,UAAU,EAAE;gCACV,SAAS,EAAE,eAAe;gCAC1B,SAAS,EAAE,+BAA+B;6BAC3C;4BACD,QAAQ,EAAE,UAAU;4BACpB,QAAQ,EAAE,QAAQ;4BAClB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;gCACtB,OAAO,EAAE,IAAI;gCACb,QAAQ,EAAE,UAAU;gCACpB,IAAI,EAAE,CAAC;gCACP,GAAG,EAAE,CAAC;gCACN,MAAM,EAAE,CAAC;gCACT,KAAK,EAAE,CAAC;gCACR,OAAO,EAAE,cAAc;gCACvB,YAAY,EAAE,aAAa;6BAC5B,CAAC,CAAC,CAAC,EAAE;yBACP,aAED,KAAC,cAAc,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAC3B,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,aAC/B,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAS,EAAE,IAAI,EAAC,QAAQ,GAAG,EAC7F,QAAQ,IAAI,CACX,KAAC,GAAG,IACF,EAAE,EAAE;gDACF,QAAQ,EAAE,UAAU;gDACpB,GAAG,EAAE,CAAC,CAAC;gDACP,KAAK,EAAE,CAAC,CAAC;gDACT,KAAK,EAAE,EAAE;gDACT,MAAM,EAAE,EAAE;gDACV,OAAO,EAAE,cAAc;gDACvB,YAAY,EAAE,KAAK;gDACnB,MAAM,EAAE,iBAAiB;gDACzB,SAAS,EAAE,8BAA8B;6CAC1C,GACD,CACH,IACG,GACS,EAEjB,KAAC,YAAY,IACX,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EACrB,OAAO,EACL,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,EAAC,UAAU,EAAC,YAAY,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,aAC3F,KAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,EAAE,EAAE;gDACF,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;gDAChC,QAAQ,EAAE,MAAM;gDAChB,KAAK,EAAE,cAAc;gDACrB,UAAU,EAAE,GAAG;6CAChB,YAEA,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,cAAc,GAC7B,EACb,KAAC,UAAU,IACT,OAAO,EAAC,SAAS,EACjB,EAAE,EAAE;gDACF,KAAK,EAAE,gBAAgB;gDACvB,QAAQ,EAAE,SAAS;gDACnB,UAAU,EAAE,GAAG;gDACf,aAAa,EAAE,QAAQ;gDACvB,EAAE,EAAE,CAAC;gDACL,UAAU,EAAE,CAAC;6CACd,YAEA,eAAe,GACL,IACP,EAEV,SAAS,EACP,MAAC,UAAU,IACT,OAAO,EAAC,OAAO,EACf,EAAE,EAAE;wCACF,KAAK,EAAE,gBAAgB;wCACvB,QAAQ,EAAE,UAAU;wCACpB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;wCAChC,UAAU,EAAE,GAAG;wCACf,QAAQ,EAAE,QAAQ;wCAClB,YAAY,EAAE,UAAU;wCACxB,OAAO,EAAE,aAAa;wCACtB,eAAe,EAAE,CAAC;wCAClB,eAAe,EAAE,UAAU;wCAC3B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;wCAC3B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;qCAC1C,aAEA,mBAAmB,IAAI,QAAQ,IAAI,CAClC,MAAC,UAAU,IACT,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE;gDACF,UAAU,EAAE,GAAG;gDACf,KAAK,EAAE,cAAc;gDACrB,OAAO,EAAE,GAAG;6CACb,qBAEI,GAAG,IACG,CACd,EACA,QAAQ,IAAI,8BAA8B,IAChC,GAEf,EAED,QAAQ,IAAI,CACX,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,YACpE,KAAC,IAAI,IACH,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,KAAK,EACX,EAAE,EAAE;wCACF,MAAM,EAAE,EAAE;wCACV,QAAQ,EAAE,QAAQ;wCAClB,UAAU,EAAE,GAAG;wCACf,OAAO,EAAE,cAAc;wCACvB,KAAK,EAAE,OAAO;wCACd,kBAAkB,EAAE;4CAClB,EAAE,EAAE,CAAC;yCACN;qCACF,GACD,GACE,CACP,IACQ,IAnJH,EAAE,CAAC,EAAE,CAoJT,CACP,CAAC;YACJ,CAAC,CAAC,GACG,CACR,CAAC;IACJ,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,yBAAyB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9C,yBAAyB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnD,QAAQ,EAAE,CAAC;IACb,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,IAAI,SAAS;QAAE,OAAO,KAAC,iBAAiB,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,EAA2B,EAAE,EAAE,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAI,CAAA;IAC/O,IAAI,eAAe;QAAE,OAAO,KAAC,qBAAqB,IAAC,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,GAAI,CAAA;IAEzL,OAAO,CACL,MAAC,KAAK,IAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,OAAO,EAAE,oBAAoB;YAC7B,YAAY,EAAE,CAAC;SAChB,aACC,KAAC,GAAG,IAAC,EAAE,EAAE;oBACP,CAAC,EAAE,CAAC;oBACJ,YAAY,EAAE,WAAW;oBACzB,WAAW,EAAE,SAAS;oBACtB,OAAO,EAAE,kBAAkB;oBAC3B,cAAc,EAAE,YAAY;iBAC7B,YACC,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,EAAC,UAAU,EAAC,QAAQ,aACvE,MAAC,GAAG,eACF,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,EAAE,EAAE;wCAC1C,UAAU,EAAE,GAAG;wCACf,KAAK,EAAE,cAAc;wCACrB,aAAa,EAAE,SAAS;wCACxB,EAAE,EAAE,GAAG;qCACR,yBAEY,EACb,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE;wCAC9B,KAAK,EAAE,gBAAgB;wCACvB,UAAU,EAAE,GAAG;qCAChB,YACE,eAAe,CAAC,MAAM,KAAK,CAAC;wCAC3B,CAAC,CAAC,kBAAkB;wCACpB,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,gBAAgB,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAE3E,IACT,EACN,KAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,YAAY,CAAC,IAAI,CAAC,EAC3D,EAAE,EAAE;gCACF,OAAO,EAAE,cAAc;gCACvB,KAAK,EAAE,OAAO;gCACd,KAAK,EAAE,EAAE;gCACT,MAAM,EAAE,EAAE;gCACV,SAAS,EAAE,oCAAoC;gCAC/C,UAAU,EAAE,uCAAuC;gCACnD,SAAS,EAAE;oCACT,OAAO,EAAE,cAAc;oCACvB,SAAS,EAAE,oCAAoC;oCAC/C,SAAS,EAAE,kBAAkB;iCAC9B;gCACD,UAAU,EAAE;oCACV,SAAS,EAAE,eAAe;oCAC1B,SAAS,EAAE,mCAAmC;iCAC/C;6BACF,YAED,KAAC,OAAO,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,GACtB,IACP,GACJ,EAEN,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YACnC,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,YACd,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/B,KAAC,GAAG,IAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,YAC5C,MAAC,GAAG,IAAC,EAAE,EAAE;gCACP,CAAC,EAAE,CAAC;gCACJ,YAAY,EAAE,CAAC;gCACf,OAAO,EAAE,kBAAkB;gCAC3B,SAAS,EAAE,+BAA+B;gCAC1C,OAAO,EAAE,MAAM;gCACf,UAAU,EAAE,YAAY;6BACzB,aACC,KAAC,QAAQ,IACP,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,GAC5B,EACF,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAClB,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,aACxF,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,GAAI,EAC5E,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,GAAI,IACxE,EACN,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,GAAI,EAC5E,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,IACjF,IACF,IAvBE,KAAK,CAwBT,CACP,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,cAAc,EAAE,CACjB,GACG,IACA,CACT,CAAC;AACJ,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;IAC1B,6FAA6F;IAC7F,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACtF,MAAM,iBAAiB,GAAG,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,CAAC;IAExE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,CAAC,YAAY;IAC5B,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,CAAC,YAAY;IAC5B,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,iBAAiB;AAChC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/UserMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAyB,wBAAwB,EAAE,oBAAoB,EAA2B,MAAM,qBAAqB,CAAC;AAWrI,UAAU,KAAK;IACd,kBAAkB,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,UAAU,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,wBAAwB,EAAE,CAAC;IACzC,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AA+HD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAMpC,CAAC"}
1
+ {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/UserMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAyB,wBAAwB,EAAE,oBAAoB,EAA2B,MAAM,qBAAqB,CAAC;AAarI,UAAU,KAAK;IACd,kBAAkB,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,UAAU,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,wBAAwB,EAAE,CAAC;IACzC,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAsRD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsCnC,CAAC"}