@repzo/widget-react-native 1.3.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +173 -5
- package/README.md +99 -13
- package/lib/commonjs/api/client.js +125 -28
- package/lib/commonjs/api/client.js.map +1 -1
- package/lib/commonjs/attachments/file-size.js +52 -0
- package/lib/commonjs/attachments/file-size.js.map +1 -0
- package/lib/commonjs/attachments/local-previews.js +40 -0
- package/lib/commonjs/attachments/local-previews.js.map +1 -0
- package/lib/commonjs/attachments/pickers.js +20 -29
- package/lib/commonjs/attachments/pickers.js.map +1 -1
- package/lib/commonjs/i18n.js +22 -3
- package/lib/commonjs/i18n.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/locales.js +12 -3
- package/lib/commonjs/locales.js.map +1 -1
- package/lib/commonjs/state/user-update-queue.js +168 -0
- package/lib/commonjs/state/user-update-queue.js.map +1 -0
- package/lib/commonjs/state/widget-store.js +303 -33
- package/lib/commonjs/state/widget-store.js.map +1 -1
- package/lib/commonjs/storage.js +3 -1
- package/lib/commonjs/storage.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/ui/WidgetProvider.js +33 -13
- package/lib/commonjs/ui/WidgetProvider.js.map +1 -1
- package/lib/commonjs/ui/components/AttachmentChips.js +109 -40
- package/lib/commonjs/ui/components/AttachmentChips.js.map +1 -1
- package/lib/commonjs/ui/components/ConversationRow.js +65 -10
- package/lib/commonjs/ui/components/ConversationRow.js.map +1 -1
- package/lib/commonjs/ui/components/ImageViewer.js +229 -24
- package/lib/commonjs/ui/components/ImageViewer.js.map +1 -1
- package/lib/commonjs/ui/components/RatingCard.js +5 -2
- package/lib/commonjs/ui/components/RatingCard.js.map +1 -1
- package/lib/commonjs/ui/components/ZoomableImage.js +58 -10
- package/lib/commonjs/ui/components/ZoomableImage.js.map +1 -1
- package/lib/commonjs/ui/hooks/use-retained-state.js +39 -0
- package/lib/commonjs/ui/hooks/use-retained-state.js.map +1 -0
- package/lib/commonjs/ui/screens/chat/ChatView.js +651 -165
- package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js +138 -1
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/commonjs/ui/screens/conversations/ConversationsList.js +1 -0
- package/lib/commonjs/ui/screens/conversations/ConversationsList.js.map +1 -1
- package/lib/commonjs/ui/screens/home/HomeView.js +38 -55
- package/lib/commonjs/ui/screens/home/HomeView.js.map +1 -1
- package/lib/commonjs/ui/screens/home/HomeView.styles.js +36 -45
- package/lib/commonjs/ui/screens/home/HomeView.styles.js.map +1 -1
- package/lib/commonjs/ui/utils/html.js +13 -0
- package/lib/commonjs/ui/utils/html.js.map +1 -1
- package/lib/commonjs/ui/utils/image-load-queue.js +114 -0
- package/lib/commonjs/ui/utils/image-load-queue.js.map +1 -0
- package/lib/commonjs/ui/utils/inline-attachments.js +88 -0
- package/lib/commonjs/ui/utils/inline-attachments.js.map +1 -0
- package/lib/module/api/client.js +123 -27
- package/lib/module/api/client.js.map +1 -1
- package/lib/module/attachments/file-size.js +47 -0
- package/lib/module/attachments/file-size.js.map +1 -0
- package/lib/module/attachments/local-previews.js +33 -0
- package/lib/module/attachments/local-previews.js.map +1 -0
- package/lib/module/attachments/pickers.js +15 -25
- package/lib/module/attachments/pickers.js.map +1 -1
- package/lib/module/i18n.js +22 -3
- package/lib/module/i18n.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/locales.js +12 -3
- package/lib/module/locales.js.map +1 -1
- package/lib/module/state/user-update-queue.js +163 -0
- package/lib/module/state/user-update-queue.js.map +1 -0
- package/lib/module/state/widget-store.js +305 -35
- package/lib/module/state/widget-store.js.map +1 -1
- package/lib/module/storage.js +2 -0
- package/lib/module/storage.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/ui/WidgetProvider.js +33 -13
- package/lib/module/ui/WidgetProvider.js.map +1 -1
- package/lib/module/ui/components/AttachmentChips.js +111 -42
- package/lib/module/ui/components/AttachmentChips.js.map +1 -1
- package/lib/module/ui/components/ConversationRow.js +65 -10
- package/lib/module/ui/components/ConversationRow.js.map +1 -1
- package/lib/module/ui/components/ImageViewer.js +231 -26
- package/lib/module/ui/components/ImageViewer.js.map +1 -1
- package/lib/module/ui/components/RatingCard.js +5 -2
- package/lib/module/ui/components/RatingCard.js.map +1 -1
- package/lib/module/ui/components/ZoomableImage.js +58 -10
- package/lib/module/ui/components/ZoomableImage.js.map +1 -1
- package/lib/module/ui/hooks/use-retained-state.js +34 -0
- package/lib/module/ui/hooks/use-retained-state.js.map +1 -0
- package/lib/module/ui/screens/chat/ChatView.js +655 -169
- package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/module/ui/screens/chat/ChatView.styles.js +140 -2
- package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/module/ui/screens/conversations/ConversationsList.js +1 -0
- package/lib/module/ui/screens/conversations/ConversationsList.js.map +1 -1
- package/lib/module/ui/screens/home/HomeView.js +40 -57
- package/lib/module/ui/screens/home/HomeView.js.map +1 -1
- package/lib/module/ui/screens/home/HomeView.styles.js +36 -45
- package/lib/module/ui/screens/home/HomeView.styles.js.map +1 -1
- package/lib/module/ui/utils/html.js +12 -0
- package/lib/module/ui/utils/html.js.map +1 -1
- package/lib/module/ui/utils/image-load-queue.js +109 -0
- package/lib/module/ui/utils/image-load-queue.js.map +1 -0
- package/lib/module/ui/utils/inline-attachments.js +85 -0
- package/lib/module/ui/utils/inline-attachments.js.map +1 -0
- package/lib/typescript/commonjs/api/client.d.ts +20 -6
- package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/attachments/file-size.d.ts +15 -0
- package/lib/typescript/commonjs/attachments/file-size.d.ts.map +1 -0
- package/lib/typescript/commonjs/attachments/local-previews.d.ts +14 -0
- package/lib/typescript/commonjs/attachments/local-previews.d.ts.map +1 -0
- package/lib/typescript/commonjs/attachments/pickers.d.ts +15 -2
- package/lib/typescript/commonjs/attachments/pickers.d.ts.map +1 -1
- package/lib/typescript/commonjs/i18n.d.ts +12 -3
- package/lib/typescript/commonjs/i18n.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +5 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/locales.d.ts.map +1 -1
- package/lib/typescript/commonjs/state/user-update-queue.d.ts +62 -0
- package/lib/typescript/commonjs/state/user-update-queue.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/widget-store.d.ts +44 -1
- package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/storage.d.ts +2 -0
- package/lib/typescript/commonjs/storage.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +53 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts +13 -3
- package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts +15 -1
- package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts +26 -6
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/RatingCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts +10 -1
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts +11 -0
- package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts +4 -4
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +144 -0
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +26 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
- package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts +7 -5
- package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts +30 -35
- package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts +5 -6
- package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/html.d.ts +5 -0
- package/lib/typescript/commonjs/ui/utils/html.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts +44 -0
- package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts +29 -0
- package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts.map +1 -0
- package/lib/typescript/module/api/client.d.ts +20 -6
- package/lib/typescript/module/api/client.d.ts.map +1 -1
- package/lib/typescript/module/attachments/file-size.d.ts +15 -0
- package/lib/typescript/module/attachments/file-size.d.ts.map +1 -0
- package/lib/typescript/module/attachments/local-previews.d.ts +14 -0
- package/lib/typescript/module/attachments/local-previews.d.ts.map +1 -0
- package/lib/typescript/module/attachments/pickers.d.ts +15 -2
- package/lib/typescript/module/attachments/pickers.d.ts.map +1 -1
- package/lib/typescript/module/i18n.d.ts +12 -3
- package/lib/typescript/module/i18n.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +5 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/locales.d.ts.map +1 -1
- package/lib/typescript/module/state/user-update-queue.d.ts +62 -0
- package/lib/typescript/module/state/user-update-queue.d.ts.map +1 -0
- package/lib/typescript/module/state/widget-store.d.ts +44 -1
- package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/module/storage.d.ts +2 -0
- package/lib/typescript/module/storage.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +53 -0
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AttachmentChips.d.ts +13 -3
- package/lib/typescript/module/ui/components/AttachmentChips.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ConversationRow.d.ts +15 -1
- package/lib/typescript/module/ui/components/ConversationRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ImageViewer.d.ts +26 -6
- package/lib/typescript/module/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/RatingCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts +10 -1
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/use-retained-state.d.ts +11 -0
- package/lib/typescript/module/ui/hooks/use-retained-state.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts +4 -4
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +144 -0
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +26 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
- package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/home/HomeView.d.ts +7 -5
- package/lib/typescript/module/ui/screens/home/HomeView.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts +30 -35
- package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts +5 -6
- package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/html.d.ts +5 -0
- package/lib/typescript/module/ui/utils/html.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/image-load-queue.d.ts +44 -0
- package/lib/typescript/module/ui/utils/image-load-queue.d.ts.map +1 -0
- package/lib/typescript/module/ui/utils/inline-attachments.d.ts +29 -0
- package/lib/typescript/module/ui/utils/inline-attachments.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/api/client.ts +149 -38
- package/src/attachments/file-size.ts +42 -0
- package/src/attachments/local-previews.ts +32 -0
- package/src/attachments/pickers.ts +23 -25
- package/src/i18n.ts +22 -3
- package/src/index.tsx +5 -0
- package/src/locales.ts +12 -3
- package/src/state/user-update-queue.ts +178 -0
- package/src/state/widget-store.ts +346 -51
- package/src/storage.ts +2 -0
- package/src/types.ts +53 -0
- package/src/ui/WidgetProvider.tsx +35 -8
- package/src/ui/components/AttachmentChips.tsx +100 -29
- package/src/ui/components/ConversationRow.tsx +90 -9
- package/src/ui/components/ImageViewer.tsx +242 -24
- package/src/ui/components/RatingCard.tsx +5 -2
- package/src/ui/components/ZoomableImage.tsx +58 -5
- package/src/ui/hooks/use-retained-state.ts +35 -0
- package/src/ui/screens/chat/ChatView.styles.ts +139 -1
- package/src/ui/screens/chat/ChatView.tsx +735 -198
- package/src/ui/screens/chat/ChatView.types.ts +26 -1
- package/src/ui/screens/conversations/ConversationsList.tsx +1 -0
- package/src/ui/screens/conversations/ConversationsList.types.ts +2 -0
- package/src/ui/screens/home/HomeView.styles.ts +36 -45
- package/src/ui/screens/home/HomeView.tsx +54 -70
- package/src/ui/screens/home/HomeView.types.ts +5 -6
- package/src/ui/utils/html.ts +26 -0
- package/src/ui/utils/image-load-queue.ts +108 -0
- package/src/ui/utils/inline-attachments.ts +71 -0
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Home space — branded greeting header, the
|
|
5
|
-
*
|
|
4
|
+
* Home space — branded greeting header, the newest conversation in a "Recent
|
|
5
|
+
* message" card, the "start a conversation" card under it and a
|
|
6
|
+
* team/availability strip.
|
|
6
7
|
* Port of `client/src/widget/components/HomeView.tsx`.
|
|
7
8
|
*
|
|
8
9
|
* The header meets the white body on a straight seam, the same as the web
|
|
9
10
|
* widget. Whether that seam is a hard edge or the background washing out into
|
|
10
|
-
* white is the dashboard's `homeBackgroundFade` toggle, and the
|
|
11
|
-
*
|
|
11
|
+
* white is the dashboard's `homeBackgroundFade` toggle, and the first card (the
|
|
12
|
+
* recent message, or the start card when there is none) sits astride it either
|
|
13
|
+
* way: top over the brand background, bottom over white.
|
|
12
14
|
*
|
|
13
15
|
* Everything on this screen comes from the widget config or the conversations
|
|
14
16
|
* the visitor already has; nothing here assumes a field the backend does not
|
|
15
17
|
* send today.
|
|
16
18
|
*/
|
|
17
19
|
|
|
18
|
-
import {
|
|
20
|
+
import { useEffect, useRef, useState } from 'react';
|
|
19
21
|
import { Animated, Easing, Image, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';
|
|
20
22
|
import { Avatar } from "../../components/Avatar.js";
|
|
21
23
|
import { ConversationRow } from "../../components/ConversationRow.js";
|
|
@@ -27,7 +29,7 @@ import { globalStyles } from "../../styles/global.js";
|
|
|
27
29
|
import { contrastingTextColor, palette, spacing, withAlpha } from "../../styles/theme.js";
|
|
28
30
|
import { flipForRTL } from "../../utils/rtl.js";
|
|
29
31
|
import { personalizeGreeting } from "./greeting.js";
|
|
30
|
-
import { CLOSE_ICON_SIZE, HEADER_BOTTOM_PADDING, HEADER_FADE_HEIGHT, HEADER_MIN_HEIGHT, LOGO_HEIGHT, LOGO_MAX_WIDTH,
|
|
32
|
+
import { CLOSE_ICON_SIZE, HEADER_BOTTOM_PADDING, HEADER_FADE_HEIGHT, HEADER_MIN_HEIGHT, LEAD_CARD_LIFT, LOGO_HEIGHT, LOGO_MAX_WIDTH, styles } from "./HomeView.styles.js";
|
|
31
33
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
32
34
|
/**
|
|
33
35
|
* The admin's explicit black/white toggle always wins. Older configs can omit
|
|
@@ -48,7 +50,7 @@ export function HomeView({
|
|
|
48
50
|
color,
|
|
49
51
|
visitorName,
|
|
50
52
|
conversationCount,
|
|
51
|
-
|
|
53
|
+
recentConversation,
|
|
52
54
|
unreadByConversation,
|
|
53
55
|
teamAgents,
|
|
54
56
|
isOnline,
|
|
@@ -60,7 +62,6 @@ export function HomeView({
|
|
|
60
62
|
labels,
|
|
61
63
|
onClose,
|
|
62
64
|
onStartConversation,
|
|
63
|
-
onViewConversations,
|
|
64
65
|
onOpenConversation
|
|
65
66
|
}) {
|
|
66
67
|
const heading = personalizeGreeting(config?.welcomeHeading, visitorName, 'Hi there');
|
|
@@ -79,13 +80,13 @@ export function HomeView({
|
|
|
79
80
|
const fade = config?.homeBackgroundFade ? /*#__PURE__*/_jsx(FadeOverlay, {
|
|
80
81
|
height: HEADER_FADE_HEIGHT
|
|
81
82
|
}) : null;
|
|
82
|
-
const
|
|
83
|
-
const
|
|
83
|
+
const recent = showPreviousConversations ? recentConversation : undefined;
|
|
84
|
+
const hasLeadCards = !!recent || allowNewConversations;
|
|
84
85
|
const showEmptyHint = showPreviousConversations && conversationCount === 0 && allowNewConversations;
|
|
85
86
|
// One agent already has their face in the row above; repeating it reads as a bug.
|
|
86
87
|
const showAvatarStack = teamAgents.length >= 2;
|
|
87
88
|
|
|
88
|
-
// The
|
|
89
|
+
// The first card is pulled up over the seam by a fixed amount, so the header
|
|
89
90
|
// pads its bottom by that same amount and the greeting never slides under it.
|
|
90
91
|
// The header reaches up under the status bar (no white strip above it), so
|
|
91
92
|
// it grows by that inset and keeps its content where it was.
|
|
@@ -93,8 +94,8 @@ export function HomeView({
|
|
|
93
94
|
const headerStyle = [styles.header, topInset > 0 ? {
|
|
94
95
|
paddingTop: spacing.xl + topInset,
|
|
95
96
|
minHeight: HEADER_MIN_HEIGHT + topInset
|
|
96
|
-
} : null,
|
|
97
|
-
paddingBottom: HEADER_BOTTOM_PADDING +
|
|
97
|
+
} : null, hasLeadCards ? {
|
|
98
|
+
paddingBottom: HEADER_BOTTOM_PADDING + LEAD_CARD_LIFT
|
|
98
99
|
} : null];
|
|
99
100
|
const headerContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
100
101
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
@@ -155,10 +156,31 @@ export function HomeView({
|
|
|
155
156
|
children: [headerContent, fade]
|
|
156
157
|
}), /*#__PURE__*/_jsxs(View, {
|
|
157
158
|
style: styles.body,
|
|
158
|
-
children: [
|
|
159
|
-
style: styles.
|
|
160
|
-
children: /*#__PURE__*/_jsx(FadeSlideIn, {
|
|
159
|
+
children: [hasLeadCards ? /*#__PURE__*/_jsxs(View, {
|
|
160
|
+
style: styles.leadCards,
|
|
161
|
+
children: [recent ? /*#__PURE__*/_jsx(FadeSlideIn, {
|
|
161
162
|
delay: 40,
|
|
163
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
164
|
+
style: styles.recentCard,
|
|
165
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
166
|
+
style: styles.recentTitle,
|
|
167
|
+
accessibilityRole: "header",
|
|
168
|
+
children: labels.recentTitle
|
|
169
|
+
}), /*#__PURE__*/_jsx(ConversationRow, {
|
|
170
|
+
variant: "card",
|
|
171
|
+
conversation: recent,
|
|
172
|
+
color: color,
|
|
173
|
+
fallbackName: labels.team,
|
|
174
|
+
timeLabels: labels.time,
|
|
175
|
+
unreadCount: unreadByConversation[recent.id] ?? 0,
|
|
176
|
+
unreadLabel: labels.unread,
|
|
177
|
+
lastMessageLabels: labels.lastMessage,
|
|
178
|
+
horizontalPadding: spacing.xl,
|
|
179
|
+
onPress: () => onOpenConversation(recent.id)
|
|
180
|
+
})]
|
|
181
|
+
})
|
|
182
|
+
}) : null, allowNewConversations ? /*#__PURE__*/_jsx(FadeSlideIn, {
|
|
183
|
+
delay: 80,
|
|
162
184
|
children: /*#__PURE__*/_jsxs(Pressable, {
|
|
163
185
|
onPress: onStartConversation,
|
|
164
186
|
accessibilityRole: "button",
|
|
@@ -191,11 +213,11 @@ export function HomeView({
|
|
|
191
213
|
style: flipForRTL()
|
|
192
214
|
})]
|
|
193
215
|
})
|
|
194
|
-
})
|
|
216
|
+
}) : null]
|
|
195
217
|
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
196
218
|
style: styles.bodyContent,
|
|
197
219
|
children: [offlineMessage ? /*#__PURE__*/_jsx(FadeSlideIn, {
|
|
198
|
-
delay:
|
|
220
|
+
delay: 110,
|
|
199
221
|
children: /*#__PURE__*/_jsxs(View, {
|
|
200
222
|
style: styles.offlineNotice,
|
|
201
223
|
children: [/*#__PURE__*/_jsx(AlertIcon, {
|
|
@@ -205,45 +227,6 @@ export function HomeView({
|
|
|
205
227
|
children: offlineMessage
|
|
206
228
|
})]
|
|
207
229
|
})
|
|
208
|
-
}) : null, showRecent ? /*#__PURE__*/_jsxs(FadeSlideIn, {
|
|
209
|
-
delay: 140,
|
|
210
|
-
children: [/*#__PURE__*/_jsxs(View, {
|
|
211
|
-
style: styles.recentHeader,
|
|
212
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
213
|
-
style: styles.recentTitle,
|
|
214
|
-
children: labels.recentTitle
|
|
215
|
-
}), showViewAll ? /*#__PURE__*/_jsx(Pressable, {
|
|
216
|
-
onPress: onViewConversations,
|
|
217
|
-
accessibilityRole: "button",
|
|
218
|
-
accessibilityLabel: labels.viewPrevious,
|
|
219
|
-
hitSlop: 10,
|
|
220
|
-
style: ({
|
|
221
|
-
pressed
|
|
222
|
-
}) => [styles.viewAllButton, pressed && globalStyles.pressed],
|
|
223
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
224
|
-
style: [styles.viewAllLabel, {
|
|
225
|
-
color
|
|
226
|
-
}],
|
|
227
|
-
children: labels.viewAll
|
|
228
|
-
})
|
|
229
|
-
}) : null]
|
|
230
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
231
|
-
style: [globalStyles.card, styles.recentCard],
|
|
232
|
-
children: recentConversations.map((conversation, index) => /*#__PURE__*/_jsxs(Fragment, {
|
|
233
|
-
children: [index > 0 ? /*#__PURE__*/_jsx(View, {
|
|
234
|
-
style: [globalStyles.divider, styles.recentDivider]
|
|
235
|
-
}) : null, /*#__PURE__*/_jsx(ConversationRow, {
|
|
236
|
-
conversation: conversation,
|
|
237
|
-
color: color,
|
|
238
|
-
fallbackName: labels.team,
|
|
239
|
-
timeLabels: labels.time,
|
|
240
|
-
unreadCount: unreadByConversation[conversation.id] ?? 0,
|
|
241
|
-
unreadLabel: labels.unread,
|
|
242
|
-
horizontalPadding: spacing.lg,
|
|
243
|
-
onPress: () => onOpenConversation(conversation.id)
|
|
244
|
-
})]
|
|
245
|
-
}, conversation.id))
|
|
246
|
-
})]
|
|
247
230
|
}) : null, /*#__PURE__*/_jsx(View, {
|
|
248
231
|
style: styles.spacer,
|
|
249
232
|
children: showEmptyHint ? /*#__PURE__*/_jsx(FadeSlideIn, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Fragment","useEffect","useRef","useState","Animated","Easing","Image","Pressable","ScrollView","StyleSheet","Text","View","Avatar","ConversationRow","FadeOverlay","GradientBackground","AlertIcon","ArrowRightIcon","ChatIcon","ChatOutlineIcon","CloseIcon","useReduceMotion","useTopInset","globalStyles","contrastingTextColor","palette","spacing","withAlpha","flipForRTL","personalizeGreeting","CLOSE_ICON_SIZE","HEADER_BOTTOM_PADDING","HEADER_FADE_HEIGHT","HEADER_MIN_HEIGHT","LOGO_HEIGHT","LOGO_MAX_WIDTH","START_CARD_LIFT","styles","jsx","_jsx","jsxs","_jsxs","_Fragment","resolveHeaderTextColor","config","fallbackColor","homeHeaderTextColor","white","ink","homeBackgroundType","homeBackgroundGradientStart","homeBackgroundColor","HomeView","color","visitorName","conversationCount","recentConversations","unreadByConversation","teamAgents","isOnline","offlineMessage","startConversationLabel","replyTimeLabel","allowNewConversations","showPreviousConversations","labels","onClose","onStartConversation","onViewConversations","onOpenConversation","heading","welcomeHeading","subheading","welcomeSubheading","textColor","secondaryTextColor","startIconColor","backgroundType","gradientColors","homeBackgroundGradientMiddle","homeBackgroundGradientEnd","filter","Boolean","fade","homeBackgroundFade","height","showRecent","length","showViewAll","showEmptyHint","showAvatarStack","topInset","headerStyle","header","paddingTop","xl","minHeight","paddingBottom","headerContent","children","style","headerTop","homeLogoUrl","HomeLogo","uri","onPress","accessibilityRole","accessibilityLabel","close","hitSlop","closeButton","size","headerSpacer","FadeSlideIn","screen","contentContainerStyle","contentContainer","keyboardShouldPersistTaps","homeBackgroundImageUrl","source","absoluteFill","resizeMode","accessibilityIgnoresInvertColors","imageScrim","colors","backgroundColor","body","startCardSlot","delay","android_ripple","borderSoft","pressed","startCard","startCardPressed","startIcon","startCopy","startTitle","startSubtitle","bodyContent","offlineNotice","offlineText","recentHeader","recentTitle","viewPrevious","viewAllButton","viewAllLabel","viewAll","card","recentCard","map","conversation","index","divider","recentDivider","fallbackName","team","timeLabels","time","unreadCount","id","unreadLabel","unread","horizontalPadding","lg","spacer","emptyHint","disabled","emptyHintText","noConversations","statusStrip","avatarStack","agent","avatar","name","avatarStackItem","avatarStackOverlap","statusDot","online","textSubtle","statusText","numberOfLines","statusOnline","statusAway","aspectRatio","setAspectRatio","logo","width","Math","min","onLoad","event","nativeEvent","reduceMotion","progress","Value","current","undefined","setValue","timing","toValue","duration","easing","out","quad","useNativeDriver","start","stopAnimation","translateY","interpolate","inputRange","outputRange","opacity","transform"],"sourceRoot":"../../../../../src","sources":["ui/screens/home/HomeView.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","Animated","Easing","Image","Pressable","ScrollView","StyleSheet","Text","View","Avatar","ConversationRow","FadeOverlay","GradientBackground","AlertIcon","ArrowRightIcon","ChatIcon","ChatOutlineIcon","CloseIcon","useReduceMotion","useTopInset","globalStyles","contrastingTextColor","palette","spacing","withAlpha","flipForRTL","personalizeGreeting","CLOSE_ICON_SIZE","HEADER_BOTTOM_PADDING","HEADER_FADE_HEIGHT","HEADER_MIN_HEIGHT","LEAD_CARD_LIFT","LOGO_HEIGHT","LOGO_MAX_WIDTH","styles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","resolveHeaderTextColor","config","fallbackColor","homeHeaderTextColor","white","ink","homeBackgroundType","homeBackgroundGradientStart","homeBackgroundColor","HomeView","color","visitorName","conversationCount","recentConversation","unreadByConversation","teamAgents","isOnline","offlineMessage","startConversationLabel","replyTimeLabel","allowNewConversations","showPreviousConversations","labels","onClose","onStartConversation","onOpenConversation","heading","welcomeHeading","subheading","welcomeSubheading","textColor","secondaryTextColor","startIconColor","backgroundType","gradientColors","homeBackgroundGradientMiddle","homeBackgroundGradientEnd","filter","Boolean","fade","homeBackgroundFade","height","recent","undefined","hasLeadCards","showEmptyHint","showAvatarStack","length","topInset","headerStyle","header","paddingTop","xl","minHeight","paddingBottom","headerContent","children","style","headerTop","homeLogoUrl","HomeLogo","uri","onPress","accessibilityRole","accessibilityLabel","close","hitSlop","closeButton","size","headerSpacer","FadeSlideIn","screen","contentContainerStyle","contentContainer","keyboardShouldPersistTaps","homeBackgroundImageUrl","source","absoluteFill","resizeMode","accessibilityIgnoresInvertColors","imageScrim","colors","backgroundColor","body","leadCards","delay","recentCard","recentTitle","variant","conversation","fallbackName","team","timeLabels","time","unreadCount","id","unreadLabel","unread","lastMessageLabels","lastMessage","horizontalPadding","android_ripple","borderSoft","pressed","startCard","startCardPressed","startIcon","startCopy","startTitle","startSubtitle","bodyContent","offlineNotice","offlineText","spacer","emptyHint","disabled","emptyHintText","noConversations","statusStrip","avatarStack","map","agent","index","avatar","name","avatarStackItem","avatarStackOverlap","statusDot","online","textSubtle","statusText","numberOfLines","statusOnline","statusAway","aspectRatio","setAspectRatio","logo","width","Math","min","onLoad","event","nativeEvent","reduceMotion","progress","Value","current","setValue","timing","toValue","duration","easing","out","quad","useNativeDriver","start","stopAnimation","translateY","interpolate","inputRange","outputRange","opacity","transform"],"sourceRoot":"../../../../../src","sources":["ui/screens/home/HomeView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,22 +5,22 @@
|
|
|
5
5
|
* the sheet so the component and the styles can never disagree about them.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import { rowDividerInset } from "../../components/ConversationRow.js";
|
|
8
|
+
import { StyleSheet } from 'react-native';
|
|
10
9
|
import { fontSize, palette, radius, shadows, spacing } from "../../styles/theme.js";
|
|
11
10
|
import { START_ALIGN } from "../../utils/rtl.js";
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Header geometry in dp, measured off the web widget so the two surfaces line
|
|
15
|
-
* up: a tall header with the greeting pinned low, a
|
|
14
|
+
* up: a tall header with the greeting pinned low, a first card that overhangs
|
|
16
15
|
* the seam by a fixed amount rather than half its height, and a fade that is a
|
|
17
16
|
* straight white ramp over the bottom of the header, starting just under the
|
|
18
17
|
* heading.
|
|
19
18
|
*/
|
|
20
19
|
export const HEADER_MIN_HEIGHT = 228;
|
|
21
|
-
/** Between the greeting and whatever comes next: the seam, or the
|
|
20
|
+
/** Between the greeting and whatever comes next: the seam, or the first card. */
|
|
22
21
|
export const HEADER_BOTTOM_PADDING = 36;
|
|
23
|
-
|
|
22
|
+
/** How far the first card (recent message, else the start card) rides up over the seam. */
|
|
23
|
+
export const LEAD_CARD_LIFT = 28;
|
|
24
24
|
export const START_CARD_MIN_HEIGHT = 76;
|
|
25
25
|
export const HEADER_FADE_HEIGHT = 90;
|
|
26
26
|
export const CLOSE_BUTTON_SIZE = 28;
|
|
@@ -38,7 +38,7 @@ export const styles = StyleSheet.create({
|
|
|
38
38
|
minHeight: HEADER_MIN_HEIGHT,
|
|
39
39
|
paddingHorizontal: spacing.xl,
|
|
40
40
|
paddingTop: spacing.xl,
|
|
41
|
-
// When
|
|
41
|
+
// When a card overhangs the seam the component grows this to clear it.
|
|
42
42
|
paddingBottom: HEADER_BOTTOM_PADDING,
|
|
43
43
|
overflow: 'hidden'
|
|
44
44
|
},
|
|
@@ -81,7 +81,7 @@ export const styles = StyleSheet.create({
|
|
|
81
81
|
fontSize: fontSize.body,
|
|
82
82
|
lineHeight: fontSize.body * 1.4
|
|
83
83
|
},
|
|
84
|
-
// Meets the header on a straight seam. No top padding here: the
|
|
84
|
+
// Meets the header on a straight seam. No top padding here: the first card
|
|
85
85
|
// is pulled up past this edge, and the rest of the content takes its spacing
|
|
86
86
|
// from `bodyContent`.
|
|
87
87
|
body: {
|
|
@@ -112,12 +112,36 @@ export const styles = StyleSheet.create({
|
|
|
112
112
|
lineHeight: fontSize.meta * 1.4,
|
|
113
113
|
color: palette.warningText
|
|
114
114
|
},
|
|
115
|
-
|
|
116
|
-
marginTop: -
|
|
115
|
+
leadCards: {
|
|
116
|
+
marginTop: -LEAD_CARD_LIFT,
|
|
117
|
+
gap: spacing.md
|
|
117
118
|
},
|
|
118
|
-
//
|
|
119
|
-
//
|
|
120
|
-
//
|
|
119
|
+
// White like the row inside it, so a press is the only thing that tints it,
|
|
120
|
+
// with the start card's border and shadow so the two read as a stack. No
|
|
121
|
+
// `overflow: hidden`: it would clip the shadow on iOS, and the row never
|
|
122
|
+
// reaches the rounded corners anyway.
|
|
123
|
+
recentCard: {
|
|
124
|
+
paddingTop: spacing.lg,
|
|
125
|
+
paddingBottom: spacing.sm,
|
|
126
|
+
borderRadius: radius.lg,
|
|
127
|
+
borderWidth: StyleSheet.hairlineWidth,
|
|
128
|
+
borderColor: palette.border,
|
|
129
|
+
backgroundColor: palette.white,
|
|
130
|
+
...shadows.card
|
|
131
|
+
},
|
|
132
|
+
// Inset like the start card's content, so the title, the avatar and the
|
|
133
|
+
// start card's icon share one left edge.
|
|
134
|
+
recentTitle: {
|
|
135
|
+
textAlign: START_ALIGN,
|
|
136
|
+
paddingHorizontal: spacing.xl,
|
|
137
|
+
marginBottom: spacing.xs,
|
|
138
|
+
fontSize: fontSize.title,
|
|
139
|
+
fontWeight: '600',
|
|
140
|
+
color: palette.ink
|
|
141
|
+
},
|
|
142
|
+
// Neutral and opaque, like the web card: as the first card it spans two
|
|
143
|
+
// backgrounds, and a translucent or brand-tinted fill would let the header
|
|
144
|
+
// bleed through its top or stain the seam. Shadowed because without it the half over the
|
|
121
145
|
// header reads as a flat cut-out.
|
|
122
146
|
startCard: {
|
|
123
147
|
flexDirection: 'row',
|
|
@@ -158,39 +182,6 @@ export const styles = StyleSheet.create({
|
|
|
158
182
|
color: palette.textSubtle,
|
|
159
183
|
marginTop: 2
|
|
160
184
|
},
|
|
161
|
-
recentHeader: {
|
|
162
|
-
flexDirection: 'row',
|
|
163
|
-
alignItems: 'center',
|
|
164
|
-
justifyContent: 'space-between',
|
|
165
|
-
minHeight: 28,
|
|
166
|
-
marginBottom: spacing.sm
|
|
167
|
-
},
|
|
168
|
-
recentTitle: {
|
|
169
|
-
textAlign: START_ALIGN,
|
|
170
|
-
fontSize: fontSize.caption,
|
|
171
|
-
fontWeight: '700',
|
|
172
|
-
color: palette.textMuted,
|
|
173
|
-
letterSpacing: I18nManager.isRTL ? 0 : 0.6,
|
|
174
|
-
textTransform: 'uppercase'
|
|
175
|
-
},
|
|
176
|
-
viewAllButton: {
|
|
177
|
-
minHeight: 32,
|
|
178
|
-
paddingHorizontal: spacing.xs,
|
|
179
|
-
justifyContent: 'center'
|
|
180
|
-
},
|
|
181
|
-
viewAllLabel: {
|
|
182
|
-
textAlign: START_ALIGN,
|
|
183
|
-
fontSize: fontSize.meta,
|
|
184
|
-
fontWeight: '600'
|
|
185
|
-
},
|
|
186
|
-
// Border rather than a shadow: `overflow: hidden` keeps the rows' ripple
|
|
187
|
-
// inside the rounded corners, and would clip a shadow on iOS anyway.
|
|
188
|
-
recentCard: {
|
|
189
|
-
overflow: 'hidden'
|
|
190
|
-
},
|
|
191
|
-
recentDivider: {
|
|
192
|
-
marginStart: rowDividerInset(spacing.lg)
|
|
193
|
-
},
|
|
194
185
|
// Absorbs the slack so the status strip stays pinned to the bottom, and
|
|
195
186
|
// centers the empty hint when there is nothing else to show.
|
|
196
187
|
spacer: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["StyleSheet","fontSize","palette","radius","shadows","spacing","START_ALIGN","HEADER_MIN_HEIGHT","HEADER_BOTTOM_PADDING","LEAD_CARD_LIFT","START_CARD_MIN_HEIGHT","HEADER_FADE_HEIGHT","CLOSE_BUTTON_SIZE","LOGO_HEIGHT","LOGO_MAX_WIDTH","CLOSE_ICON_SIZE","styles","create","contentContainer","flexGrow","header","minHeight","paddingHorizontal","xl","paddingTop","paddingBottom","overflow","imageScrim","absoluteFillObject","backgroundColor","headerTop","flexDirection","alignItems","justifyContent","headerSpacer","flex","logo","height","closeButton","marginStart","padding","borderRadius","pill","heading","textAlign","display","lineHeight","fontWeight","marginBottom","md","subheading","body","white","xxl","bodyContent","offlineNotice","gap","sm","warningBg","borderWidth","hairlineWidth","borderColor","warningBorder","lg","offlineText","meta","color","warningText","leadCards","marginTop","recentCard","border","card","recentTitle","xs","title","ink","startCard","paddingVertical","surface","startCardPressed","opacity","startIcon","width","startCopy","minWidth","startTitle","startSubtitle","textSubtle","spacer","emptyHint","emptyHintText","statusStrip","borderTopWidth","borderTopColor","borderSoft","avatarStack","avatarStackItem","avatarStackOverlap","statusDot","statusText","textMuted"],"sourceRoot":"../../../../../src","sources":["ui/screens/home/HomeView.styles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,6 +32,18 @@ export function stripHtml(html) {
|
|
|
32
32
|
return decodeEntities(html.replace(/<br\s*\/?>/gi, '\n').replace(/<\/(p|div|li|h[1-6]|blockquote|tr)>/gi, '\n').replace(/<li[^>]*>/gi, '• ').replace(/<[^>]+>/g, '')).replace(/\n{3,}/g, '\n\n').trim();
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Agent reply HTML → the Markdown subset `Markdown` draws: paragraphs, line
|
|
37
|
+
* breaks, lists, bold, italic, inline code and links. Other tags keep their text.
|
|
38
|
+
*/
|
|
39
|
+
export function htmlToMarkdown(html) {
|
|
40
|
+
if (!html) return '';
|
|
41
|
+
return decodeEntities(html.replace(/<br\s*\/?>/gi, '\n').replace(/<ol\b[^>]*>([\s\S]*?)<\/ol>/gi, (_list, items) => {
|
|
42
|
+
let number = 0;
|
|
43
|
+
return `\n\n${items.replace(/<li\b[^>]*>/gi, () => `\n${++number}. `)}\n\n`;
|
|
44
|
+
}).replace(/<li\b[^>]*>/gi, '\n- ').replace(/<\/(p|div|h[1-6]|blockquote|ul|tr)>/gi, '\n\n').replace(/<(strong|b)\b[^>]*>([\s\S]+?)<\/\1>/gi, '**$2**').replace(/<(em|i)\b[^>]*>([\s\S]+?)<\/\1>/gi, '*$2*').replace(/<code\b[^>]*>([\s\S]+?)<\/code>/gi, '`$1`').replace(/<a\b[^>]*?\bhref=(["'])(.*?)\1[^>]*>([\s\S]*?)<\/a>/gi, '[$3]($2)').replace(/<[^>]+>/g, '')).replace(/[ \t]+\n/g, '\n').replace(/\n{3,}/g, '\n\n').trim();
|
|
45
|
+
}
|
|
46
|
+
|
|
35
47
|
/** Single-line flattening used for campaign cards and list snippets. */
|
|
36
48
|
export function htmlToText(html) {
|
|
37
49
|
if (!html) return '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ENTITIES","decodeNumericEntity","match","decimal","hex","code","undefined","Number","parseInt","valid","isInteger","String","fromCodePoint","decodeEntities","text","replace","stripHtml","html","trim","htmlToText","spaced","renderFallbackTokens"],"sourceRoot":"../../../../src","sources":["ui/utils/html.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,QAAgC,GAAG;EACvC,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,GAAG;EACX,QAAQ,EAAE,GAAG;EACb,OAAO,EAAE,GAAG;EACZ,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA,SAASC,mBAAmBA,CAACC,KAAa,EAAEC,OAAgB,EAAEC,GAAY,EAAU;EAClF,MAAMC,IAAI,GAAGF,OAAO,KAAKG,SAAS,GAAGC,MAAM,CAACJ,OAAO,CAAC,GAAGK,QAAQ,CAACJ,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;EAC9E,MAAMK,KAAK,GACTF,MAAM,CAACG,SAAS,CAACL,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC,IAAIA,IAAI,IAAI,QAAQ,KAAKA,IAAI,GAAG,MAAM,IAAIA,IAAI,GAAG,MAAM,CAAC;EAC5F,OAAOI,KAAK,GAAGE,MAAM,CAACC,aAAa,CAACP,IAAI,CAAC,GAAGH,KAAK;AACnD;AAEA,OAAO,SAASW,cAAcA,CAACC,IAAY,EAAU;EACnD,OAAOA,IAAI,CACRC,OAAO,CAAC,mCAAmC,EAAGb,KAAK,IAAKF,QAAQ,CAACE,KAAK,CAAC,IAAIA,KAAK,CAAC,CACjFa,OAAO,CAAC,0CAA0C,EAAEd,mBAAmB,CAAC;AAC7E;;AAEA;AACA,OAAO,SAASe,SAASA,CAACC,IAAY,EAAU;EAC9C,IAAI,CAACA,IAAI,EAAE,OAAO,EAAE;EACpB,OAAOJ,cAAc,CACnBI,IAAI,CACDF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAC7BA,OAAO,CAAC,uCAAuC,EAAE,IAAI,CAAC,CACtDA,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAC5BA,OAAO,CAAC,UAAU,EAAE,EAAE,CAC3B,CAAC,CACEA,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAC1BG,IAAI,CAAC,CAAC;AACX;;AAEA;AACA,OAAO,SAASC,
|
|
1
|
+
{"version":3,"names":["ENTITIES","decodeNumericEntity","match","decimal","hex","code","undefined","Number","parseInt","valid","isInteger","String","fromCodePoint","decodeEntities","text","replace","stripHtml","html","trim","htmlToMarkdown","_list","items","number","htmlToText","spaced","renderFallbackTokens"],"sourceRoot":"../../../../src","sources":["ui/utils/html.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Lets images load a few at a time, highest priority first. The chat runs its
|
|
5
|
+
* large images through it: Android holds a whole download in a memory pool
|
|
6
|
+
* capped at three quarters of the app's heap (192 MB on a 256 MB phone), so
|
|
7
|
+
* several 30–50 MB photos at once overflow it and every one of them fails.
|
|
8
|
+
*
|
|
9
|
+
* No `react-native` import on purpose: it stays testable in plain Node.
|
|
10
|
+
*/
|
|
11
|
+
export class ImageLoadQueue {
|
|
12
|
+
// Key → priority, for both: an image paused off screen waits again at its own.
|
|
13
|
+
waiting = new Map();
|
|
14
|
+
loading = new Map();
|
|
15
|
+
done = new Set();
|
|
16
|
+
/** The images on screen; null until the list says, so all of them count. */
|
|
17
|
+
onScreen = null;
|
|
18
|
+
listeners = new Set();
|
|
19
|
+
scheduled = false;
|
|
20
|
+
constructor(concurrency) {
|
|
21
|
+
this.concurrency = concurrency;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Queues a mounted image; the returned cleanup gives up its place. */
|
|
25
|
+
add(key, priority) {
|
|
26
|
+
if (!this.done.has(key) && !this.loading.has(key)) {
|
|
27
|
+
this.waiting.set(key, Number.isFinite(priority) ? priority : 0);
|
|
28
|
+
this.schedule();
|
|
29
|
+
}
|
|
30
|
+
return () => this.remove(key);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Loaded or failed: it keeps showing, and the next image may start. */
|
|
34
|
+
finish(key) {
|
|
35
|
+
this.waiting.delete(key);
|
|
36
|
+
this.done.add(key);
|
|
37
|
+
if (this.loading.delete(key)) this.advance();
|
|
38
|
+
}
|
|
39
|
+
canLoad = key => this.done.has(key) || this.loading.has(key);
|
|
40
|
+
subscribe = listener => {
|
|
41
|
+
this.listeners.add(listener);
|
|
42
|
+
return () => {
|
|
43
|
+
this.listeners.delete(listener);
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The images now on screen. One that scrolls off before it has loaded
|
|
49
|
+
* gives up its place and waits, so it can't hold up the ones in view:
|
|
50
|
+
* Android detaches a row scrolled out of view, and a detached image never
|
|
51
|
+
* finishes loading. Only images on screen are started.
|
|
52
|
+
*/
|
|
53
|
+
setOnScreen(keys) {
|
|
54
|
+
this.onScreen = new Set(keys);
|
|
55
|
+
let paused = false;
|
|
56
|
+
this.loading.forEach((priority, key) => {
|
|
57
|
+
if (this.onScreen.has(key)) return;
|
|
58
|
+
this.loading.delete(key);
|
|
59
|
+
this.waiting.set(key, priority);
|
|
60
|
+
paused = true;
|
|
61
|
+
});
|
|
62
|
+
if (!this.advance() && paused) this.notify();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Scrolled out of the list before it loaded: it queues again if it comes back. */
|
|
66
|
+
remove(key) {
|
|
67
|
+
this.waiting.delete(key);
|
|
68
|
+
if (this.loading.delete(key)) this.advance();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Hands out places once the render that mounted an image is done, so all
|
|
73
|
+
* the images mounted together are queued first, whatever order they
|
|
74
|
+
* mounted in.
|
|
75
|
+
*/
|
|
76
|
+
schedule() {
|
|
77
|
+
if (this.scheduled) return;
|
|
78
|
+
this.scheduled = true;
|
|
79
|
+
Promise.resolve().then(() => {
|
|
80
|
+
this.scheduled = false;
|
|
81
|
+
this.advance();
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Starts what fits; true when anything started (listeners were told). */
|
|
86
|
+
advance() {
|
|
87
|
+
let started = false;
|
|
88
|
+
while (this.loading.size < this.concurrency) {
|
|
89
|
+
let next = null;
|
|
90
|
+
let best = -Infinity;
|
|
91
|
+
this.waiting.forEach((priority, key) => {
|
|
92
|
+
if (priority > best && (!this.onScreen || this.onScreen.has(key))) {
|
|
93
|
+
best = priority;
|
|
94
|
+
next = key;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
if (next === null) break;
|
|
98
|
+
this.waiting.delete(next);
|
|
99
|
+
this.loading.set(next, best);
|
|
100
|
+
started = true;
|
|
101
|
+
}
|
|
102
|
+
if (started) this.notify();
|
|
103
|
+
return started;
|
|
104
|
+
}
|
|
105
|
+
notify() {
|
|
106
|
+
this.listeners.forEach(listener => listener());
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=image-load-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ImageLoadQueue","waiting","Map","loading","done","Set","onScreen","listeners","scheduled","constructor","concurrency","add","key","priority","has","set","Number","isFinite","schedule","remove","finish","delete","advance","canLoad","subscribe","listener","setOnScreen","keys","paused","forEach","notify","Promise","resolve","then","started","size","next","best","Infinity"],"sourceRoot":"../../../../src","sources":["ui/utils/image-load-queue.ts"],"mappings":"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","ignoreList":[]}
|