@developer_tribe/react-native-comnyx 0.1.1 → 0.2.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/lib/commonjs/App.js +59 -0
- package/lib/commonjs/App.js.map +1 -0
- package/lib/commonjs/__dev__.js +29 -0
- package/lib/commonjs/__dev__.js.map +1 -0
- package/lib/commonjs/api/api.js +22 -0
- package/lib/commonjs/api/api.js.map +1 -0
- package/lib/commonjs/api/conversations.js +37 -0
- package/lib/commonjs/api/conversations.js.map +1 -0
- package/lib/commonjs/api/customers.js +15 -0
- package/lib/commonjs/api/customers.js.map +1 -0
- package/lib/commonjs/api/index.js +33 -0
- package/lib/commonjs/api/index.js.map +1 -0
- package/lib/commonjs/api/messages.js +27 -0
- package/lib/commonjs/api/messages.js.map +1 -0
- package/lib/commonjs/assets/clock.png +0 -0
- package/lib/commonjs/assets/double-check.png +0 -0
- package/lib/commonjs/assets/down.png +0 -0
- package/lib/commonjs/assets/send.png +0 -0
- package/lib/commonjs/components/AppText.js +38 -0
- package/lib/commonjs/components/AppText.js.map +1 -0
- package/lib/commonjs/components/ChatList.js +268 -0
- package/lib/commonjs/components/ChatList.js.map +1 -0
- package/lib/commonjs/components/CustomerForm.js +213 -0
- package/lib/commonjs/components/CustomerForm.js.map +1 -0
- package/lib/commonjs/components/EmptyList.js +40 -0
- package/lib/commonjs/components/EmptyList.js.map +1 -0
- package/lib/commonjs/components/InitFailed.js +51 -0
- package/lib/commonjs/components/InitFailed.js.map +1 -0
- package/lib/commonjs/components/MessageInput.js +119 -0
- package/lib/commonjs/components/MessageInput.js.map +1 -0
- package/lib/commonjs/components/MessageItem.js +117 -0
- package/lib/commonjs/components/MessageItem.js.map +1 -0
- package/lib/commonjs/constants/translations.js +219 -0
- package/lib/commonjs/constants/translations.js.map +1 -0
- package/lib/commonjs/data/fake/conversations.js +95 -0
- package/lib/commonjs/data/fake/conversations.js.map +1 -0
- package/lib/commonjs/data/fake/customers.js +24 -0
- package/lib/commonjs/data/fake/customers.js.map +1 -0
- package/lib/commonjs/data/fake/messages.js +67 -0
- package/lib/commonjs/data/fake/messages.js.map +1 -0
- package/lib/commonjs/hooks/useLocalize.js +20 -0
- package/lib/commonjs/hooks/useLocalize.js.map +1 -0
- package/lib/commonjs/hooks/usePolling.js +50 -0
- package/lib/commonjs/hooks/usePolling.js.map +1 -0
- package/lib/commonjs/hooks/useThemeColors.js +17 -0
- package/lib/commonjs/hooks/useThemeColors.js.map +1 -0
- package/lib/commonjs/index.js +15 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/register.js +21 -0
- package/lib/commonjs/register.js.map +1 -0
- package/lib/commonjs/store.js +79 -0
- package/lib/commonjs/store.js.map +1 -0
- package/lib/commonjs/types/ApiOptions.js +2 -0
- package/lib/commonjs/types/ApiOptions.js.map +1 -0
- package/lib/commonjs/types/Conversation.js +2 -0
- package/lib/commonjs/types/Conversation.js.map +1 -0
- package/lib/commonjs/types/Customer.js +2 -0
- package/lib/commonjs/types/Customer.js.map +1 -0
- package/lib/commonjs/types/Language.js +2 -0
- package/lib/commonjs/types/Language.js.map +1 -0
- package/lib/commonjs/types/LocalizationKeys.js +2 -0
- package/lib/commonjs/types/LocalizationKeys.js.map +1 -0
- package/lib/commonjs/types/MessageResponse.js +2 -0
- package/lib/commonjs/types/MessageResponse.js.map +1 -0
- package/lib/commonjs/types/Theme.js +29 -0
- package/lib/commonjs/types/Theme.js.map +1 -0
- package/lib/commonjs/utils/date.js +17 -0
- package/lib/commonjs/utils/date.js.map +1 -0
- package/lib/module/App.js +55 -0
- package/lib/module/App.js.map +1 -0
- package/lib/module/__dev__.js +29 -0
- package/lib/module/__dev__.js.map +1 -0
- package/lib/module/api/api.js +17 -0
- package/lib/module/api/api.js.map +1 -0
- package/lib/module/api/conversations.js +32 -0
- package/lib/module/api/conversations.js.map +1 -0
- package/lib/module/api/customers.js +11 -0
- package/lib/module/api/customers.js.map +1 -0
- package/lib/module/api/index.js +6 -0
- package/lib/module/api/index.js.map +1 -0
- package/lib/module/api/messages.js +23 -0
- package/lib/module/api/messages.js.map +1 -0
- package/lib/module/assets/clock.png +0 -0
- package/lib/module/assets/double-check.png +0 -0
- package/lib/module/assets/down.png +0 -0
- package/lib/module/assets/send.png +0 -0
- package/lib/module/components/AppText.js +34 -0
- package/lib/module/components/AppText.js.map +1 -0
- package/lib/module/components/ChatList.js +265 -0
- package/lib/module/components/ChatList.js.map +1 -0
- package/lib/module/components/CustomerForm.js +209 -0
- package/lib/module/components/CustomerForm.js.map +1 -0
- package/lib/module/components/EmptyList.js +36 -0
- package/lib/module/components/EmptyList.js.map +1 -0
- package/lib/module/components/InitFailed.js +47 -0
- package/lib/module/components/InitFailed.js.map +1 -0
- package/lib/module/components/MessageInput.js +115 -0
- package/lib/module/components/MessageInput.js.map +1 -0
- package/lib/module/components/MessageItem.js +114 -0
- package/lib/module/components/MessageItem.js.map +1 -0
- package/lib/module/constants/translations.js +215 -0
- package/lib/module/constants/translations.js.map +1 -0
- package/lib/module/data/fake/conversations.js +88 -0
- package/lib/module/data/fake/conversations.js.map +1 -0
- package/lib/module/data/fake/customers.js +20 -0
- package/lib/module/data/fake/customers.js.map +1 -0
- package/lib/module/data/fake/messages.js +63 -0
- package/lib/module/data/fake/messages.js.map +1 -0
- package/lib/module/hooks/useLocalize.js +16 -0
- package/lib/module/hooks/useLocalize.js.map +1 -0
- package/lib/module/hooks/usePolling.js +46 -0
- package/lib/module/hooks/usePolling.js.map +1 -0
- package/lib/module/hooks/useThemeColors.js +13 -0
- package/lib/module/hooks/useThemeColors.js.map +1 -0
- package/lib/module/index.js +3 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/register.js +17 -0
- package/lib/module/register.js.map +1 -0
- package/lib/module/store.js +74 -0
- package/lib/module/store.js.map +1 -0
- package/lib/module/types/ApiOptions.js +2 -0
- package/lib/module/types/ApiOptions.js.map +1 -0
- package/lib/module/types/Conversation.js +2 -0
- package/lib/module/types/Conversation.js.map +1 -0
- package/lib/module/types/Customer.js +2 -0
- package/lib/module/types/Customer.js.map +1 -0
- package/lib/module/types/Language.js +2 -0
- package/lib/module/types/Language.js.map +1 -0
- package/lib/module/types/LocalizationKeys.js +2 -0
- package/lib/module/types/LocalizationKeys.js.map +1 -0
- package/lib/module/types/MessageResponse.js +2 -0
- package/lib/module/types/MessageResponse.js.map +1 -0
- package/lib/module/types/Theme.js +25 -0
- package/lib/module/types/Theme.js.map +1 -0
- package/lib/module/utils/date.js +12 -0
- package/lib/module/utils/date.js.map +1 -0
- package/lib/typescript/commonjs/src/App.d.ts +9 -0
- package/lib/typescript/commonjs/src/App.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/__dev__.d.ts +2 -0
- package/lib/typescript/commonjs/src/__dev__.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/api/api.d.ts +4 -0
- package/lib/typescript/commonjs/src/api/api.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/api/conversations.d.ts +7 -0
- package/lib/typescript/commonjs/src/api/conversations.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/api/customers.d.ts +4 -0
- package/lib/typescript/commonjs/src/api/customers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/api/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/api/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/api/messages.d.ts +4 -0
- package/lib/typescript/commonjs/src/api/messages.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/AppText.d.ts +10 -0
- package/lib/typescript/commonjs/src/components/AppText.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ChatList.d.ts +2 -0
- package/lib/typescript/commonjs/src/components/ChatList.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/CustomerForm.d.ts +2 -0
- package/lib/typescript/commonjs/src/components/CustomerForm.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/EmptyList.d.ts +2 -0
- package/lib/typescript/commonjs/src/components/EmptyList.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/InitFailed.d.ts +6 -0
- package/lib/typescript/commonjs/src/components/InitFailed.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/MessageInput.d.ts +4 -0
- package/lib/typescript/commonjs/src/components/MessageInput.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/MessageItem.d.ts +5 -0
- package/lib/typescript/commonjs/src/components/MessageItem.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/constants/translations.d.ts +4 -0
- package/lib/typescript/commonjs/src/constants/translations.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/data/fake/conversations.d.ts +5 -0
- package/lib/typescript/commonjs/src/data/fake/conversations.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/data/fake/customers.d.ts +3 -0
- package/lib/typescript/commonjs/src/data/fake/customers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/data/fake/messages.d.ts +3 -0
- package/lib/typescript/commonjs/src/data/fake/messages.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useLocalize.d.ts +3 -0
- package/lib/typescript/commonjs/src/hooks/useLocalize.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/usePolling.d.ts +2 -0
- package/lib/typescript/commonjs/src/hooks/usePolling.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useThemeColors.d.ts +3 -0
- package/lib/typescript/commonjs/src/hooks/useThemeColors.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +4 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/register.d.ts +5 -0
- package/lib/typescript/commonjs/src/register.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/store.d.ts +35 -0
- package/lib/typescript/commonjs/src/store.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/ApiOptions.d.ts +4 -0
- package/lib/typescript/commonjs/src/types/ApiOptions.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/Conversation.d.ts +26 -0
- package/lib/typescript/commonjs/src/types/Conversation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/Customer.d.ts +30 -0
- package/lib/typescript/commonjs/src/types/Customer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/Language.d.ts +2 -0
- package/lib/typescript/commonjs/src/types/Language.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/LocalizationKeys.d.ts +22 -0
- package/lib/typescript/commonjs/src/types/LocalizationKeys.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/MessageResponse.d.ts +59 -0
- package/lib/typescript/commonjs/src/types/MessageResponse.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/Theme.d.ts +18 -0
- package/lib/typescript/commonjs/src/types/Theme.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/utils/date.d.ts +7 -0
- package/lib/typescript/commonjs/src/utils/date.d.ts.map +1 -0
- package/lib/typescript/module/src/App.d.ts +9 -0
- package/lib/typescript/module/src/App.d.ts.map +1 -0
- package/lib/typescript/module/src/__dev__.d.ts +2 -0
- package/lib/typescript/module/src/__dev__.d.ts.map +1 -0
- package/lib/typescript/module/src/api/api.d.ts +4 -0
- package/lib/typescript/module/src/api/api.d.ts.map +1 -0
- package/lib/typescript/module/src/api/conversations.d.ts +7 -0
- package/lib/typescript/module/src/api/conversations.d.ts.map +1 -0
- package/lib/typescript/module/src/api/customers.d.ts +4 -0
- package/lib/typescript/module/src/api/customers.d.ts.map +1 -0
- package/lib/typescript/module/src/api/index.d.ts +4 -0
- package/lib/typescript/module/src/api/index.d.ts.map +1 -0
- package/lib/typescript/module/src/api/messages.d.ts +4 -0
- package/lib/typescript/module/src/api/messages.d.ts.map +1 -0
- package/lib/typescript/module/src/components/AppText.d.ts +10 -0
- package/lib/typescript/module/src/components/AppText.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ChatList.d.ts +2 -0
- package/lib/typescript/module/src/components/ChatList.d.ts.map +1 -0
- package/lib/typescript/module/src/components/CustomerForm.d.ts +2 -0
- package/lib/typescript/module/src/components/CustomerForm.d.ts.map +1 -0
- package/lib/typescript/module/src/components/EmptyList.d.ts +2 -0
- package/lib/typescript/module/src/components/EmptyList.d.ts.map +1 -0
- package/lib/typescript/module/src/components/InitFailed.d.ts +6 -0
- package/lib/typescript/module/src/components/InitFailed.d.ts.map +1 -0
- package/lib/typescript/module/src/components/MessageInput.d.ts +4 -0
- package/lib/typescript/module/src/components/MessageInput.d.ts.map +1 -0
- package/lib/typescript/module/src/components/MessageItem.d.ts +5 -0
- package/lib/typescript/module/src/components/MessageItem.d.ts.map +1 -0
- package/lib/typescript/module/src/constants/translations.d.ts +4 -0
- package/lib/typescript/module/src/constants/translations.d.ts.map +1 -0
- package/lib/typescript/module/src/data/fake/conversations.d.ts +5 -0
- package/lib/typescript/module/src/data/fake/conversations.d.ts.map +1 -0
- package/lib/typescript/module/src/data/fake/customers.d.ts +3 -0
- package/lib/typescript/module/src/data/fake/customers.d.ts.map +1 -0
- package/lib/typescript/module/src/data/fake/messages.d.ts +3 -0
- package/lib/typescript/module/src/data/fake/messages.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useLocalize.d.ts +3 -0
- package/lib/typescript/module/src/hooks/useLocalize.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/usePolling.d.ts +2 -0
- package/lib/typescript/module/src/hooks/usePolling.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useThemeColors.d.ts +3 -0
- package/lib/typescript/module/src/hooks/useThemeColors.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +4 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/register.d.ts +5 -0
- package/lib/typescript/module/src/register.d.ts.map +1 -0
- package/lib/typescript/module/src/store.d.ts +35 -0
- package/lib/typescript/module/src/store.d.ts.map +1 -0
- package/lib/typescript/module/src/types/ApiOptions.d.ts +4 -0
- package/lib/typescript/module/src/types/ApiOptions.d.ts.map +1 -0
- package/lib/typescript/module/src/types/Conversation.d.ts +26 -0
- package/lib/typescript/module/src/types/Conversation.d.ts.map +1 -0
- package/lib/typescript/module/src/types/Customer.d.ts +30 -0
- package/lib/typescript/module/src/types/Customer.d.ts.map +1 -0
- package/lib/typescript/module/src/types/Language.d.ts +2 -0
- package/lib/typescript/module/src/types/Language.d.ts.map +1 -0
- package/lib/typescript/module/src/types/LocalizationKeys.d.ts +22 -0
- package/lib/typescript/module/src/types/LocalizationKeys.d.ts.map +1 -0
- package/lib/typescript/module/src/types/MessageResponse.d.ts +59 -0
- package/lib/typescript/module/src/types/MessageResponse.d.ts.map +1 -0
- package/lib/typescript/module/src/types/Theme.d.ts +18 -0
- package/lib/typescript/module/src/types/Theme.d.ts.map +1 -0
- package/lib/typescript/module/src/utils/date.d.ts +7 -0
- package/lib/typescript/module/src/utils/date.d.ts.map +1 -0
- package/package.json +10 -2
- package/src/App.tsx +59 -0
- package/src/__dev__.ts +22 -0
- package/src/api/api.ts +16 -0
- package/src/api/conversations.ts +53 -0
- package/src/api/customers.ts +16 -0
- package/src/api/index.ts +6 -0
- package/src/api/messages.ts +33 -0
- package/src/assets/clock.png +0 -0
- package/src/assets/double-check.png +0 -0
- package/src/assets/down.png +0 -0
- package/src/assets/send.png +0 -0
- package/src/components/AppText.tsx +43 -0
- package/src/components/ChatList.tsx +305 -0
- package/src/components/CustomerForm.tsx +203 -0
- package/src/components/EmptyList.tsx +32 -0
- package/src/components/InitFailed.tsx +46 -0
- package/src/components/MessageInput.tsx +133 -0
- package/src/components/MessageItem.tsx +141 -0
- package/src/constants/translations.ts +232 -0
- package/src/data/fake/conversations.ts +558 -0
- package/src/data/fake/customers.ts +19 -0
- package/src/data/fake/messages.ts +64 -0
- package/src/hooks/useLocalize.ts +18 -0
- package/src/hooks/usePolling.ts +46 -0
- package/src/hooks/useThemeColors.ts +10 -0
- package/src/index.tsx +4 -5
- package/src/register.ts +17 -0
- package/src/store.ts +85 -0
- package/src/types/ApiOptions.ts +4 -0
- package/src/types/Conversation.ts +29 -0
- package/src/types/Customer.ts +31 -0
- package/src/types/Language.ts +11 -0
- package/src/types/LocalizationKeys.ts +21 -0
- package/src/types/MessageResponse.ts +58 -0
- package/src/types/Theme.ts +40 -0
- package/src/utils/date.ts +11 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { useAppStore } from "../store.js";
|
|
5
|
+
import { FlatList, View, useWindowDimensions, ActivityIndicator, Image, TouchableOpacity } from 'react-native';
|
|
6
|
+
import { getCustomerConversation } from "../api/index.js";
|
|
7
|
+
import { StyleSheet } from 'react-native';
|
|
8
|
+
import { MessageItem } from "./MessageItem.js";
|
|
9
|
+
import { MessageInput } from "./MessageInput.js";
|
|
10
|
+
import { useThemeColors } from "../hooks/useThemeColors.js";
|
|
11
|
+
import { AppText } from "./AppText.js";
|
|
12
|
+
import { InitFailed } from "./InitFailed.js";
|
|
13
|
+
import { EmptyList } from "./EmptyList.js";
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
function LoadingItem() {
|
|
16
|
+
const themeColors = useThemeColors();
|
|
17
|
+
return /*#__PURE__*/_jsx(View, {
|
|
18
|
+
style: [styles.loadingItem, {
|
|
19
|
+
backgroundColor: themeColors.background
|
|
20
|
+
}],
|
|
21
|
+
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
22
|
+
size: "large",
|
|
23
|
+
color: themeColors.primary
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export function ChatList() {
|
|
28
|
+
const themeColors = useThemeColors();
|
|
29
|
+
const {
|
|
30
|
+
height: windowHeight
|
|
31
|
+
} = useWindowDimensions();
|
|
32
|
+
const MESSAGE_MIN_HEIGHT = 60;
|
|
33
|
+
const FLATLIST_PADDING = 20;
|
|
34
|
+
const MESSAGES_PER_PAGE = Math.ceil((windowHeight - FLATLIST_PADDING) / MESSAGE_MIN_HEIGHT);
|
|
35
|
+
const [loading, setLoading] = useState(true);
|
|
36
|
+
const {
|
|
37
|
+
customer,
|
|
38
|
+
data,
|
|
39
|
+
setData
|
|
40
|
+
} = useAppStore(s => ({
|
|
41
|
+
customer: s.customer,
|
|
42
|
+
data: s.data,
|
|
43
|
+
setData: s.setData
|
|
44
|
+
}));
|
|
45
|
+
const ref = useRef(null);
|
|
46
|
+
const [page, setPage] = useState(1);
|
|
47
|
+
const nextPageStatus = useRef();
|
|
48
|
+
const [nexPageFailed, setNexPageFailed] = useState(false);
|
|
49
|
+
const [initFailed, setInitFailed] = useState(false);
|
|
50
|
+
const [isScrollingUp, setIsScrollingUp] = useState(false);
|
|
51
|
+
const listChangedRef = useRef(false);
|
|
52
|
+
const nextPage = useCallback(() => {
|
|
53
|
+
if (nextPageStatus.current) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
nextPageStatus.current = 'loading';
|
|
57
|
+
if (customer?.external_id) {
|
|
58
|
+
const newPage = page + 1;
|
|
59
|
+
setPage(newPage);
|
|
60
|
+
const firstMessage = useAppStore.getState().firstMessage;
|
|
61
|
+
getCustomerConversation(customer?.external_id, firstMessage?.created_at, newPage, {
|
|
62
|
+
fake: useAppStore.getState().fake,
|
|
63
|
+
per_page: MESSAGES_PER_PAGE
|
|
64
|
+
}).then(newData => {
|
|
65
|
+
listChangedRef.current = true;
|
|
66
|
+
setData(prevData => {
|
|
67
|
+
const newMessages = newData.page.data;
|
|
68
|
+
const existingIds = new Set(prevData?.map(msg => msg.id));
|
|
69
|
+
const uniqueNewMessages = newMessages.filter(msg => !existingIds.has(msg.id));
|
|
70
|
+
const processedMessages = uniqueNewMessages.map(u => ({
|
|
71
|
+
...u,
|
|
72
|
+
created_at: new Date(u.created_at),
|
|
73
|
+
approved: true
|
|
74
|
+
}));
|
|
75
|
+
if (processedMessages.length === 0) {
|
|
76
|
+
nextPageStatus.current = 'empty';
|
|
77
|
+
} else {
|
|
78
|
+
nextPageStatus.current = undefined;
|
|
79
|
+
}
|
|
80
|
+
return [...(prevData ?? []), ...processedMessages];
|
|
81
|
+
});
|
|
82
|
+
}).catch(_ => {
|
|
83
|
+
nextPageStatus.current = 'fail';
|
|
84
|
+
setNexPageFailed(true);
|
|
85
|
+
}).finally(() => {
|
|
86
|
+
setLoading(false);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}, [MESSAGES_PER_PAGE, customer?.external_id, page, setData]);
|
|
90
|
+
const renderItem = useCallback(({
|
|
91
|
+
item
|
|
92
|
+
}) => /*#__PURE__*/_jsx(MessageItem, {
|
|
93
|
+
item: item
|
|
94
|
+
}), []);
|
|
95
|
+
const handleScroll = useCallback(event => {
|
|
96
|
+
const currentScrollY = event.nativeEvent.contentOffset.y;
|
|
97
|
+
const contentHeight = event.nativeEvent.contentSize.height;
|
|
98
|
+
const scrollViewHeight = event.nativeEvent.layoutMeasurement.height;
|
|
99
|
+
setIsScrollingUp(currentScrollY < 100);
|
|
100
|
+
if (currentScrollY >= contentHeight - scrollViewHeight - 200) {
|
|
101
|
+
nextPage();
|
|
102
|
+
}
|
|
103
|
+
}, [nextPage]);
|
|
104
|
+
const scrollToBottom = useCallback(animated => {
|
|
105
|
+
if (ref.current && data?.length) {
|
|
106
|
+
ref.current.scrollToOffset({
|
|
107
|
+
offset: 0,
|
|
108
|
+
animated
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}, [data]);
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
if (customer?.external_id && !initFailed) {
|
|
114
|
+
getCustomerConversation(customer?.external_id, new Date(), 1, {
|
|
115
|
+
fake: useAppStore.getState().fake,
|
|
116
|
+
per_page: MESSAGES_PER_PAGE
|
|
117
|
+
}).then(newData => {
|
|
118
|
+
setData(prevData => {
|
|
119
|
+
const newMessages = newData.page.data;
|
|
120
|
+
const existingIds = new Set(prevData?.map(msg => msg.id));
|
|
121
|
+
const uniqueNewMessages = newMessages.filter(msg => !existingIds.has(msg.id));
|
|
122
|
+
const processedMessages = uniqueNewMessages.map(u => ({
|
|
123
|
+
...u,
|
|
124
|
+
created_at: new Date(u.created_at),
|
|
125
|
+
approved: true
|
|
126
|
+
}));
|
|
127
|
+
useAppStore.setState({
|
|
128
|
+
firstMessage: processedMessages[0]
|
|
129
|
+
});
|
|
130
|
+
if (processedMessages.length === 0) {
|
|
131
|
+
setLoading(false);
|
|
132
|
+
}
|
|
133
|
+
return processedMessages;
|
|
134
|
+
});
|
|
135
|
+
scrollToBottom(false);
|
|
136
|
+
}).catch(e => {
|
|
137
|
+
setInitFailed(true);
|
|
138
|
+
console.error(e);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}, [MESSAGES_PER_PAGE, customer?.external_id, initFailed, scrollToBottom, setData]);
|
|
142
|
+
if (nexPageFailed) {
|
|
143
|
+
return /*#__PURE__*/_jsx(View, {
|
|
144
|
+
style: [styles.retryContainer, {
|
|
145
|
+
backgroundColor: themeColors.background
|
|
146
|
+
}],
|
|
147
|
+
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
148
|
+
style: [styles.retryButton, {
|
|
149
|
+
backgroundColor: themeColors.primary
|
|
150
|
+
}],
|
|
151
|
+
onPress: () => {
|
|
152
|
+
setNexPageFailed(false);
|
|
153
|
+
nextPageStatus.current = undefined;
|
|
154
|
+
nextPage();
|
|
155
|
+
},
|
|
156
|
+
children: /*#__PURE__*/_jsx(AppText, {
|
|
157
|
+
localization: "chat.load.error",
|
|
158
|
+
style: [styles.retryText, {
|
|
159
|
+
color: themeColors.background
|
|
160
|
+
}]
|
|
161
|
+
})
|
|
162
|
+
})
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (initFailed) {
|
|
166
|
+
return /*#__PURE__*/_jsx(InitFailed, {
|
|
167
|
+
setInitFailed: setInitFailed
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
171
|
+
style: [styles.container, {
|
|
172
|
+
backgroundColor: themeColors.background
|
|
173
|
+
}],
|
|
174
|
+
children: [/*#__PURE__*/_jsx(FlatList, {
|
|
175
|
+
ref: ref,
|
|
176
|
+
data: data,
|
|
177
|
+
inverted: true,
|
|
178
|
+
renderItem: renderItem,
|
|
179
|
+
contentContainerStyle: [styles.contentContainer, {
|
|
180
|
+
backgroundColor: themeColors.background
|
|
181
|
+
}],
|
|
182
|
+
style: styles.list,
|
|
183
|
+
ListEmptyComponent: !loading && (!data || data.length === 0) ? /*#__PURE__*/_jsx(EmptyList, {}) : null,
|
|
184
|
+
ListFooterComponent: loading ? /*#__PURE__*/_jsx(LoadingItem, {}) : null,
|
|
185
|
+
keyExtractor: item => item.id + '-' + item.created_at,
|
|
186
|
+
removeClippedSubviews: true,
|
|
187
|
+
maxToRenderPerBatch: 10,
|
|
188
|
+
windowSize: 21,
|
|
189
|
+
initialNumToRender: MESSAGES_PER_PAGE,
|
|
190
|
+
getItemLayout: (_, index) => ({
|
|
191
|
+
length: MESSAGE_MIN_HEIGHT + 10,
|
|
192
|
+
offset: (MESSAGE_MIN_HEIGHT + 10) * index,
|
|
193
|
+
index
|
|
194
|
+
}),
|
|
195
|
+
onScroll: handleScroll,
|
|
196
|
+
scrollEventThrottle: 16
|
|
197
|
+
}), isScrollingUp && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
198
|
+
style: [styles.scrollDownButton, {
|
|
199
|
+
backgroundColor: themeColors.background
|
|
200
|
+
}],
|
|
201
|
+
onPress: () => scrollToBottom(true),
|
|
202
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
203
|
+
source: require('../assets/down.png'),
|
|
204
|
+
style: [styles.scrollUpIcon, {
|
|
205
|
+
tintColor: themeColors.text
|
|
206
|
+
}]
|
|
207
|
+
})
|
|
208
|
+
}), /*#__PURE__*/_jsx(MessageInput, {
|
|
209
|
+
scrollToBottom: scrollToBottom
|
|
210
|
+
})]
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
const styles = StyleSheet.create({
|
|
214
|
+
container: {
|
|
215
|
+
flex: 1
|
|
216
|
+
},
|
|
217
|
+
list: {
|
|
218
|
+
flex: 1
|
|
219
|
+
},
|
|
220
|
+
contentContainer: {
|
|
221
|
+
paddingVertical: 10,
|
|
222
|
+
paddingHorizontal: 10
|
|
223
|
+
},
|
|
224
|
+
loadingItem: {
|
|
225
|
+
height: 200,
|
|
226
|
+
alignItems: 'center',
|
|
227
|
+
justifyContent: 'center'
|
|
228
|
+
},
|
|
229
|
+
scrollDownButton: {
|
|
230
|
+
position: 'absolute',
|
|
231
|
+
right: 20,
|
|
232
|
+
bottom: '15%',
|
|
233
|
+
borderRadius: 25,
|
|
234
|
+
padding: 10,
|
|
235
|
+
shadowColor: '#000',
|
|
236
|
+
shadowOffset: {
|
|
237
|
+
width: 0,
|
|
238
|
+
height: 2
|
|
239
|
+
},
|
|
240
|
+
shadowOpacity: 0.25,
|
|
241
|
+
shadowRadius: 3.84,
|
|
242
|
+
elevation: 5
|
|
243
|
+
},
|
|
244
|
+
scrollUpIcon: {
|
|
245
|
+
width: 24,
|
|
246
|
+
height: 24
|
|
247
|
+
},
|
|
248
|
+
retryContainer: {
|
|
249
|
+
flex: 1,
|
|
250
|
+
alignItems: 'center',
|
|
251
|
+
justifyContent: 'center',
|
|
252
|
+
padding: 20
|
|
253
|
+
},
|
|
254
|
+
retryButton: {
|
|
255
|
+
padding: 15,
|
|
256
|
+
borderRadius: 8,
|
|
257
|
+
alignItems: 'center',
|
|
258
|
+
justifyContent: 'center'
|
|
259
|
+
},
|
|
260
|
+
retryText: {
|
|
261
|
+
fontSize: 16,
|
|
262
|
+
fontWeight: '500'
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
//# sourceMappingURL=ChatList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","useAppStore","FlatList","View","useWindowDimensions","ActivityIndicator","Image","TouchableOpacity","getCustomerConversation","StyleSheet","MessageItem","MessageInput","useThemeColors","AppText","InitFailed","EmptyList","jsx","_jsx","jsxs","_jsxs","LoadingItem","themeColors","style","styles","loadingItem","backgroundColor","background","children","size","color","primary","ChatList","height","windowHeight","MESSAGE_MIN_HEIGHT","FLATLIST_PADDING","MESSAGES_PER_PAGE","Math","ceil","loading","setLoading","customer","data","setData","s","ref","page","setPage","nextPageStatus","nexPageFailed","setNexPageFailed","initFailed","setInitFailed","isScrollingUp","setIsScrollingUp","listChangedRef","nextPage","current","external_id","newPage","firstMessage","getState","created_at","fake","per_page","then","newData","prevData","newMessages","existingIds","Set","map","msg","id","uniqueNewMessages","filter","has","processedMessages","u","Date","approved","length","undefined","catch","_","finally","renderItem","item","handleScroll","event","currentScrollY","nativeEvent","contentOffset","y","contentHeight","contentSize","scrollViewHeight","layoutMeasurement","scrollToBottom","animated","scrollToOffset","offset","setState","e","console","error","retryContainer","retryButton","onPress","localization","retryText","container","inverted","contentContainerStyle","contentContainer","list","ListEmptyComponent","ListFooterComponent","keyExtractor","removeClippedSubviews","maxToRenderPerBatch","windowSize","initialNumToRender","getItemLayout","index","onScroll","scrollEventThrottle","scrollDownButton","source","require","scrollUpIcon","tintColor","text","create","flex","paddingVertical","paddingHorizontal","alignItems","justifyContent","position","right","bottom","borderRadius","padding","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/ChatList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { View, TextInput, StyleSheet, TouchableOpacity } from 'react-native';
|
|
4
|
+
import { useForm, Controller } from 'react-hook-form';
|
|
5
|
+
import { useAppStore } from "../store.js";
|
|
6
|
+
import { createCustomer } from "../api/index.js";
|
|
7
|
+
import { AppText } from "./AppText.js";
|
|
8
|
+
import { useLocalize } from "../hooks/useLocalize.js";
|
|
9
|
+
import { useThemeColors } from "../hooks/useThemeColors.js";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
export function CustomerForm() {
|
|
12
|
+
const {
|
|
13
|
+
control,
|
|
14
|
+
handleSubmit,
|
|
15
|
+
formState: {
|
|
16
|
+
errors
|
|
17
|
+
}
|
|
18
|
+
} = useForm();
|
|
19
|
+
const themeColors = useThemeColors();
|
|
20
|
+
const localize = useLocalize();
|
|
21
|
+
const inputStyle = {
|
|
22
|
+
...styles.input,
|
|
23
|
+
color: themeColors.text,
|
|
24
|
+
borderColor: themeColors.border,
|
|
25
|
+
backgroundColor: themeColors.background
|
|
26
|
+
};
|
|
27
|
+
const onSubmit = async data => {
|
|
28
|
+
try {
|
|
29
|
+
const customer = await createCustomer({
|
|
30
|
+
...data,
|
|
31
|
+
language: 'en',
|
|
32
|
+
externalId: useAppStore.getState().externalId || '',
|
|
33
|
+
ipAddress: '192.168.1.1',
|
|
34
|
+
customParameters: []
|
|
35
|
+
}, {
|
|
36
|
+
fake: useAppStore.getState().fake
|
|
37
|
+
});
|
|
38
|
+
if (customer !== undefined) {
|
|
39
|
+
useAppStore.getState().initForm(customer);
|
|
40
|
+
}
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error('Error creating customer:', error);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
46
|
+
style: [styles.container, {
|
|
47
|
+
backgroundColor: themeColors.background
|
|
48
|
+
}],
|
|
49
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
50
|
+
style: styles.headerContainer,
|
|
51
|
+
children: [/*#__PURE__*/_jsx(AppText, {
|
|
52
|
+
localization: "customer.form.title",
|
|
53
|
+
style: [styles.headerText, {
|
|
54
|
+
color: themeColors.text
|
|
55
|
+
}]
|
|
56
|
+
}), /*#__PURE__*/_jsx(AppText, {
|
|
57
|
+
localization: "customer.form.instructions",
|
|
58
|
+
style: [styles.headerText, {
|
|
59
|
+
color: themeColors.text
|
|
60
|
+
}]
|
|
61
|
+
})]
|
|
62
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
63
|
+
control: control,
|
|
64
|
+
rules: {
|
|
65
|
+
required: true
|
|
66
|
+
},
|
|
67
|
+
render: ({
|
|
68
|
+
field: {
|
|
69
|
+
onChange,
|
|
70
|
+
value
|
|
71
|
+
}
|
|
72
|
+
}) => /*#__PURE__*/_jsx(TextInput, {
|
|
73
|
+
style: inputStyle,
|
|
74
|
+
placeholder: localize('customer.form.placeholder.name'),
|
|
75
|
+
placeholderTextColor: "#6C757D",
|
|
76
|
+
value: value,
|
|
77
|
+
onChangeText: onChange
|
|
78
|
+
}),
|
|
79
|
+
name: "name"
|
|
80
|
+
}), errors.name && /*#__PURE__*/_jsx(AppText, {
|
|
81
|
+
localization: "customer.form.error",
|
|
82
|
+
style: [styles.error, {
|
|
83
|
+
color: themeColors.error
|
|
84
|
+
}]
|
|
85
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
86
|
+
control: control,
|
|
87
|
+
rules: {
|
|
88
|
+
required: true
|
|
89
|
+
},
|
|
90
|
+
render: ({
|
|
91
|
+
field: {
|
|
92
|
+
onChange,
|
|
93
|
+
value
|
|
94
|
+
}
|
|
95
|
+
}) => /*#__PURE__*/_jsx(TextInput, {
|
|
96
|
+
style: inputStyle,
|
|
97
|
+
placeholder: localize('customer.form.placeholder.country'),
|
|
98
|
+
placeholderTextColor: "#6C757D",
|
|
99
|
+
value: value,
|
|
100
|
+
onChangeText: onChange
|
|
101
|
+
}),
|
|
102
|
+
name: "country"
|
|
103
|
+
}), errors.country && /*#__PURE__*/_jsx(AppText, {
|
|
104
|
+
localization: "customer.form.error.country",
|
|
105
|
+
style: [styles.error, {
|
|
106
|
+
color: themeColors.error
|
|
107
|
+
}]
|
|
108
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
109
|
+
control: control,
|
|
110
|
+
rules: {
|
|
111
|
+
required: true,
|
|
112
|
+
pattern: /^\S+@\S+$/i
|
|
113
|
+
},
|
|
114
|
+
render: ({
|
|
115
|
+
field: {
|
|
116
|
+
onChange,
|
|
117
|
+
value
|
|
118
|
+
}
|
|
119
|
+
}) => /*#__PURE__*/_jsx(TextInput, {
|
|
120
|
+
style: inputStyle,
|
|
121
|
+
placeholder: localize('customer.form.placeholder.email'),
|
|
122
|
+
placeholderTextColor: "#6C757D",
|
|
123
|
+
value: value,
|
|
124
|
+
onChangeText: onChange,
|
|
125
|
+
keyboardType: "email-address"
|
|
126
|
+
}),
|
|
127
|
+
name: "email"
|
|
128
|
+
}), errors.email && /*#__PURE__*/_jsx(AppText, {
|
|
129
|
+
localization: "customer.form.error.email",
|
|
130
|
+
style: [styles.error, {
|
|
131
|
+
color: themeColors.error
|
|
132
|
+
}]
|
|
133
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
134
|
+
control: control,
|
|
135
|
+
rules: {
|
|
136
|
+
required: true
|
|
137
|
+
},
|
|
138
|
+
render: ({
|
|
139
|
+
field: {
|
|
140
|
+
onChange,
|
|
141
|
+
value
|
|
142
|
+
}
|
|
143
|
+
}) => /*#__PURE__*/_jsx(TextInput, {
|
|
144
|
+
style: inputStyle,
|
|
145
|
+
placeholder: localize('customer.form.placeholder.phone'),
|
|
146
|
+
placeholderTextColor: "#6C757D",
|
|
147
|
+
value: value,
|
|
148
|
+
onChangeText: onChange,
|
|
149
|
+
keyboardType: "phone-pad"
|
|
150
|
+
}),
|
|
151
|
+
name: "phone"
|
|
152
|
+
}), errors.phone && /*#__PURE__*/_jsx(AppText, {
|
|
153
|
+
localization: "customer.form.error.phone",
|
|
154
|
+
style: [styles.error, {
|
|
155
|
+
color: themeColors.error
|
|
156
|
+
}]
|
|
157
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
158
|
+
style: [styles.button, {
|
|
159
|
+
backgroundColor: themeColors.primary
|
|
160
|
+
}],
|
|
161
|
+
onPress: handleSubmit(onSubmit),
|
|
162
|
+
children: /*#__PURE__*/_jsx(AppText, {
|
|
163
|
+
localization: "customer.form.submit",
|
|
164
|
+
style: styles.buttonText
|
|
165
|
+
})
|
|
166
|
+
})]
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
const styles = StyleSheet.create({
|
|
170
|
+
container: {
|
|
171
|
+
padding: 24,
|
|
172
|
+
flex: 1,
|
|
173
|
+
justifyContent: 'center'
|
|
174
|
+
},
|
|
175
|
+
headerContainer: {
|
|
176
|
+
marginBottom: 24
|
|
177
|
+
},
|
|
178
|
+
headerText: {
|
|
179
|
+
fontSize: 15,
|
|
180
|
+
fontWeight: '600',
|
|
181
|
+
textAlign: 'center'
|
|
182
|
+
},
|
|
183
|
+
input: {
|
|
184
|
+
height: 56,
|
|
185
|
+
borderWidth: 1,
|
|
186
|
+
borderRadius: 12,
|
|
187
|
+
paddingHorizontal: 16,
|
|
188
|
+
fontSize: 16,
|
|
189
|
+
backgroundColor: 'white',
|
|
190
|
+
marginBottom: 16
|
|
191
|
+
},
|
|
192
|
+
button: {
|
|
193
|
+
padding: 16,
|
|
194
|
+
borderRadius: 12,
|
|
195
|
+
alignItems: 'center',
|
|
196
|
+
marginTop: 24
|
|
197
|
+
},
|
|
198
|
+
buttonText: {
|
|
199
|
+
color: 'white',
|
|
200
|
+
fontSize: 16,
|
|
201
|
+
fontWeight: '600'
|
|
202
|
+
},
|
|
203
|
+
error: {
|
|
204
|
+
fontSize: 14,
|
|
205
|
+
marginLeft: 16,
|
|
206
|
+
top: -16
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
//# sourceMappingURL=CustomerForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","TextInput","StyleSheet","TouchableOpacity","useForm","Controller","useAppStore","createCustomer","AppText","useLocalize","useThemeColors","jsx","_jsx","jsxs","_jsxs","CustomerForm","control","handleSubmit","formState","errors","themeColors","localize","inputStyle","styles","input","color","text","borderColor","border","backgroundColor","background","onSubmit","data","customer","language","externalId","getState","ipAddress","customParameters","fake","undefined","initForm","error","console","style","container","children","headerContainer","localization","headerText","rules","required","render","field","onChange","value","placeholder","placeholderTextColor","onChangeText","name","country","pattern","keyboardType","email","phone","button","primary","onPress","buttonText","create","padding","flex","justifyContent","marginBottom","fontSize","fontWeight","textAlign","height","borderWidth","borderRadius","paddingHorizontal","alignItems","marginTop","marginLeft","top"],"sourceRoot":"../../../src","sources":["components/CustomerForm.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { View, StyleSheet } from 'react-native';
|
|
4
|
+
import { useThemeColors } from "../hooks/useThemeColors.js";
|
|
5
|
+
import { AppText } from "./AppText.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export function EmptyList() {
|
|
8
|
+
const themeColors = useThemeColors();
|
|
9
|
+
return /*#__PURE__*/_jsx(View, {
|
|
10
|
+
style: [styles.container, {
|
|
11
|
+
backgroundColor: themeColors.background
|
|
12
|
+
}],
|
|
13
|
+
children: /*#__PURE__*/_jsx(AppText, {
|
|
14
|
+
localization: "chat.empty",
|
|
15
|
+
style: [styles.text, {
|
|
16
|
+
color: themeColors.text
|
|
17
|
+
}]
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const styles = StyleSheet.create({
|
|
22
|
+
container: {
|
|
23
|
+
flex: 1,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
padding: 20,
|
|
27
|
+
transform: [{
|
|
28
|
+
rotate: '180deg'
|
|
29
|
+
}] //TODO: inverted list
|
|
30
|
+
},
|
|
31
|
+
text: {
|
|
32
|
+
fontSize: 16,
|
|
33
|
+
textAlign: 'center'
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=EmptyList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","StyleSheet","useThemeColors","AppText","jsx","_jsx","EmptyList","themeColors","style","styles","container","backgroundColor","background","children","localization","text","color","create","flex","alignItems","justifyContent","padding","transform","rotate","fontSize","textAlign"],"sourceRoot":"../../../src","sources":["components/EmptyList.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,OAAO,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpC,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,WAAW,GAAGL,cAAc,CAAC,CAAC;EAEpC,oBACEG,IAAA,CAACL,IAAI;IACHQ,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEJ,WAAW,CAACK;IAAW,CAAC,CAAE;IAAAC,QAAA,eAEvER,IAAA,CAACF,OAAO;MACNW,YAAY,EAAC,YAAY;MACzBN,KAAK,EAAE,CAACC,MAAM,CAACM,IAAI,EAAE;QAAEC,KAAK,EAAET,WAAW,CAACQ;MAAK,CAAC;IAAE,CACnD;EAAC,CACE,CAAC;AAEX;AAEA,MAAMN,MAAM,GAAGR,UAAU,CAACgB,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE,EAAE;IACXC,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAS,CAAC,CAAC,CAAE;EACrC,CAAC;EACDR,IAAI,EAAE;IACJS,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { TouchableOpacity, View, StyleSheet } from 'react-native';
|
|
4
|
+
import { useThemeColors } from "../hooks/useThemeColors.js";
|
|
5
|
+
import { AppText } from "./AppText.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export function InitFailed({
|
|
8
|
+
setInitFailed
|
|
9
|
+
}) {
|
|
10
|
+
const themeColors = useThemeColors();
|
|
11
|
+
return /*#__PURE__*/_jsx(View, {
|
|
12
|
+
style: [styles.container, {
|
|
13
|
+
backgroundColor: themeColors.background
|
|
14
|
+
}],
|
|
15
|
+
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
16
|
+
style: [styles.retryButton, {
|
|
17
|
+
backgroundColor: themeColors.primary
|
|
18
|
+
}],
|
|
19
|
+
onPress: () => setInitFailed(false),
|
|
20
|
+
children: /*#__PURE__*/_jsx(AppText, {
|
|
21
|
+
localization: "chat.init.error",
|
|
22
|
+
style: [styles.retryText, {
|
|
23
|
+
color: themeColors.background
|
|
24
|
+
}]
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const styles = StyleSheet.create({
|
|
30
|
+
container: {
|
|
31
|
+
flex: 1,
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
justifyContent: 'center',
|
|
34
|
+
padding: 20
|
|
35
|
+
},
|
|
36
|
+
retryButton: {
|
|
37
|
+
padding: 15,
|
|
38
|
+
borderRadius: 8,
|
|
39
|
+
alignItems: 'center',
|
|
40
|
+
justifyContent: 'center'
|
|
41
|
+
},
|
|
42
|
+
retryText: {
|
|
43
|
+
fontSize: 16,
|
|
44
|
+
fontWeight: '500'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=InitFailed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TouchableOpacity","View","StyleSheet","useThemeColors","AppText","jsx","_jsx","InitFailed","setInitFailed","themeColors","style","styles","container","backgroundColor","background","children","retryButton","primary","onPress","localization","retryText","color","create","flex","alignItems","justifyContent","padding","borderRadius","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/InitFailed.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACjE,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,OAAO,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpC,OAAO,SAASC,UAAUA,CAAC;EAAEC;AAA+B,CAAC,EAAE;EAC7D,MAAMC,WAAW,GAAGN,cAAc,CAAC,CAAC;EAEpC,oBACEG,IAAA,CAACL,IAAI;IACHS,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEJ,WAAW,CAACK;IAAW,CAAC,CAAE;IAAAC,QAAA,eAEvET,IAAA,CAACN,gBAAgB;MACfU,KAAK,EAAE,CAACC,MAAM,CAACK,WAAW,EAAE;QAAEH,eAAe,EAAEJ,WAAW,CAACQ;MAAQ,CAAC,CAAE;MACtEC,OAAO,EAAEA,CAAA,KAAMV,aAAa,CAAC,KAAK,CAAE;MAAAO,QAAA,eAEpCT,IAAA,CAACF,OAAO;QACNe,YAAY,EAAC,iBAAiB;QAC9BT,KAAK,EAAE,CAACC,MAAM,CAACS,SAAS,EAAE;UAAEC,KAAK,EAAEZ,WAAW,CAACK;QAAW,CAAC;MAAE,CAC9D;IAAC,CACc;EAAC,CACf,CAAC;AAEX;AAEA,MAAMH,MAAM,GAAGT,UAAU,CAACoB,MAAM,CAAC;EAC/BV,SAAS,EAAE;IACTW,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE;EACX,CAAC;EACDV,WAAW,EAAE;IACXU,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE,CAAC;IACfH,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDL,SAAS,EAAE;IACTQ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|