@ethora/chat-component-rn 26.7.4 → 26.7.6
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 +5 -0
- package/lib/commonjs/components/Header/HeaderRoomList.js +6 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +5 -2
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +179 -36
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +20 -12
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +17 -3
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/networking/authRefresh.js +12 -2
- package/lib/commonjs/networking/authRefresh.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +6 -1
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +5 -2
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +178 -36
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +22 -14
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/context/xmppProvider.js +17 -3
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/networking/authRefresh.js +12 -2
- package/lib/module/networking/authRefresh.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts +7 -0
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/networking/authRefresh.d.ts +4 -1
- package/lib/typescript/networking/authRefresh.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +10 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Header/HeaderRoomList.tsx +4 -1
- package/src/components/MainComponents/ChatHeader.tsx +5 -2
- package/src/components/MainComponents/RoomList.tsx +206 -40
- package/src/components/Menu/HeaderRoomListMenu.tsx +29 -15
- package/src/context/xmppProvider.tsx +19 -5
- package/src/networking/authRefresh.ts +25 -4
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
- package/src/types/types.ts +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,8 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this pr
|
|
|
7
7
|
|
|
8
8
|
### Added
|
|
9
9
|
|
|
10
|
+
- **`config.headerLayout.safeAreaTop`** — the room-list and chat header cards pad their top by the safe-area inset and run under the status bar as one white surface. Hosts used to wrap `<Chat>` in a top-edge `SafeAreaView`, which painted its own white band above the card; on Android the card's elevation drew a hairline seam where the two met. Off by default, so existing hosts keep their layout; when on, drop the host-side top inset.
|
|
11
|
+
|
|
10
12
|
- **Profile header polish (both the chat and the user profile).** The back / "…" row is taller and sits further from the top edge, and its buttons are inset 20 pt so a button's centre line matches the collapsed avatar's — they used to sit closer to the edge than the avatar below them. The glyphs inside the hero's round buttons always paint white now (several SDK icons ignore their `color` prop and paint white regardless, so tinting the rest to the title colour left a mix of black and white in one row); on a light fill the circle darkens instead of the glyph. And on the user profile the "…" menu appears once the header is collapsed, carrying exactly the same actions the hero's buttons do — collapsed, those buttons are off-screen and were unreachable.
|
|
11
13
|
|
|
12
14
|
- **Settings screen restyled.** Manage Data and Visibility are separate white cards on a light grey ground — rounded, shadowed, each its own tap target with a chevron — instead of two rows sharing one bordered block. Their labels come from the i18n table now (`settings.manageData.title` / `settings.visibility.title`), so the misspelled hardcoded "Visiblility" is gone. The shared full-screen modal header (Settings, Manage Data, Visibility, the shares screens…) got the same card treatment as the room-list header: rounded bottom corners and a soft shadow in place of its hairline rule. Tests in `userSettingsScreen.test.tsx`.
|
|
@@ -54,6 +56,9 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this pr
|
|
|
54
56
|
|
|
55
57
|
### Fixed
|
|
56
58
|
|
|
59
|
+
- **Push notifications never arrived for users who only ever signed in through this SDK.** The `initBeforeLoad` bootstrap in `XmppProvider` re-joined rooms with presence but never sent the MucSub (`urn:xmpp:mucsub:0`) subscription — only the legacy `ChatWrapper` path did, via `initRoomsPresence`. ejabberd decides whom to push for offline messages by MucSub subscriptions, so such users had a registered device token and still got nothing ("no MucSub subscription" server-side). The bootstrap and the reconnect `onOnline` handler now subscribe every room in the store after the presence pass, regardless of how that pass ended; `pushSubscriptionService` still dedupes rooms already subscribed on the device.
|
|
60
|
+
- **`allRoomPresences` reported a failure on every bootstrap.** `presenceInRoom` schedules its resolve `delay` ms (2000) after the room's reply and races a 2000 ms timeout that rejected with `undefined` — the timeout won, so a join that had succeeded was logged as `allRoomPresences failed`. The timeout no longer rejects once the reply has been seen.
|
|
61
|
+
|
|
57
62
|
- **The signed-in user's description was thrown away on every login.** `unpackAndTransform` (the shaper `setUser` runs every payload through) hardcoded `description: ''`, so the profile's About section could never show your own bio no matter what the server returned. It now carries `input?.description` through.
|
|
58
63
|
- **Avatars for names that start with a digit rendered blank.** `ProfileImagePlaceholder` picked initials with `/^[a-zA-Zа-яА-ЯёЁ]$/`, so a member called "2Test 2User" matched neither letter and got an empty coloured circle. The class is now `/^[\p{L}\p{N}]$/u` — every script's letters plus digits.
|
|
59
64
|
- **"Save to gallery" in the file preview threw instead of saving (SDK 54+).** `expo-media-library` 17 moved its function API behind the `expo-media-library/legacy` subpath and turned the root's same-named exports into stubs that `console.warn` and then `throw` ("Method `saveToLibraryAsync` imported from "expo-media-library" is deprecated"). Since the names still exist and still type-check, the breakage was invisible: every save attempt ended in the generic "Failed to save the file" alert, and each one also queued a LogBox warning whose stack symbolication stalls the JS thread in dev builds. All call sites now go through the new `helpers/mediaLibraryRuntime.ts`, which prefers `/legacy`, falls back to the root export for older versions, returns `null` when the optional peer isn't installed, and memoises the result. Tests in `mediaLibraryRuntime.test.ts`.
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.HeaderRoomList = void 0;
|
|
7
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
7
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
9
|
var _reactNative = require("react-native");
|
|
9
10
|
var _ProfileImagePlaceholder = require("../MainComponents/ProfileImagePlaceholder");
|
|
@@ -23,6 +24,8 @@ const HeaderRoomList = ({
|
|
|
23
24
|
user,
|
|
24
25
|
selectedUser
|
|
25
26
|
} = (0, _useChatSettingState.useChatSettingState)();
|
|
27
|
+
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
28
|
+
const topInset = config?.headerLayout?.safeAreaTop ? insets.top : 0;
|
|
26
29
|
const modalUser = selectedUser ?? user;
|
|
27
30
|
const HeaderLogo = (0, _react.useMemo)(() => {
|
|
28
31
|
const image = config?.headerLogo;
|
|
@@ -43,7 +46,9 @@ const HeaderRoomList = ({
|
|
|
43
46
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {});
|
|
44
47
|
}, [config?.backgroundChat?.image]);
|
|
45
48
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
46
|
-
style: styles.headerContainer,
|
|
49
|
+
style: [styles.headerContainer, topInset ? {
|
|
50
|
+
paddingTop: 16 + topInset
|
|
51
|
+
} : null],
|
|
47
52
|
children: [!config?.disableRoomMenu && config?.headerMenu ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
48
53
|
style: styles.leftContainer,
|
|
49
54
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNativeSafeAreaContext","require","_react","_interopRequireWildcard","_reactNative","_ProfileImagePlaceholder","_useChatSettingState","_icons","_Button","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","HeaderRoomList","setDrawerOpen","config","user","selectedUser","useChatSettingState","insets","useSafeAreaInsets","topInset","headerLayout","safeAreaTop","top","modalUser","HeaderLogo","useMemo","image","headerLogo","SvgComponent","jsx","Image","source","uri","View","backgroundChat","jsxs","style","styles","headerContainer","paddingTop","children","disableRoomMenu","headerMenu","leftContainer","testID","menuButton","color","unstyled","EndIcon","BurgerMenuIcon","colors","primary","onPress","centerContainer","Text","fontWeight","fontSize","rightContainer","ProfileImagePlaceholder","icon","profileImage","name","firstName","size","click","isClick","exports","StyleSheet","create","flexDirection","alignItems","paddingHorizontal","paddingBottom","minHeight","justifyContent","backgroundColor","borderBottomLeftRadius","borderBottomRightRadius","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","zIndex","padding","borderRadius","position","left","right"],"sourceRoot":"../../../../src","sources":["components/Header/HeaderRoomList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
8
9
|
var _StyledComponents = require("../styled/StyledComponents");
|
|
9
10
|
var _RoomList = _interopRequireDefault(require("./RoomList"));
|
|
10
11
|
var _ProfileImagePlaceholder = require("./ProfileImagePlaceholder");
|
|
@@ -87,12 +88,14 @@ const ChatHeader = ({
|
|
|
87
88
|
// here so `height` defines the band exactly (content centers via the
|
|
88
89
|
// styled `align-items: center`); the styled 12px vertical padding would
|
|
89
90
|
// otherwise add on top of it.
|
|
90
|
-
const
|
|
91
|
+
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
92
|
+
const topInset = config?.headerLayout?.safeAreaTop ? insets.top : 0;
|
|
93
|
+
const headerHeight = (0, _headerLayout.resolveHeaderHeight)(config?.headerLayout?.height) + topInset;
|
|
91
94
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
92
95
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_StyledComponents.ChatContainerHeader, {
|
|
93
96
|
style: {
|
|
94
97
|
height: headerHeight,
|
|
95
|
-
paddingTop:
|
|
98
|
+
paddingTop: topInset,
|
|
96
99
|
paddingBottom: 0
|
|
97
100
|
},
|
|
98
101
|
children: [handleBackClick && !config?.headerChatMenu ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_StyledComponents","_RoomList","_interopRequireDefault","_ProfileImagePlaceholder","_Button","_icons","_CallButtons","_LanguageSelectorButton","_reactRedux","_Composing","_roomsSlice","_xmppProvider","_chatSettingsSlice","_MODAL_TYPES","_MenuRoom","_useRoomState","_useChatSettingState","_useFileToken","_secureFileUrl","_reactNative","_getIconColor","_headerLayout","_getElementFont","_useT","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatHeader","currentRoom","handleBackClick","fileToken","useFileToken","dispatch","useDispatch","client","useXmppClient","roomsList","activeRoomJID","useRoomState","jid","roomState","room","composing","config","useChatSettingState","useT","handleChangeChat","chat","setCurrentRoom","roomJID","setIsLoading","chatJID","loading","handleLeaveClick","useCallback","leaveTheRoomStanza","deleteRoom","nextRoomJID","keys","handleHeaderChatMenu","Keyboard","dismiss","headerChatMenu","openChatInfo","setActiveModal","MODAL_TYPES","CHAT_PROFILE","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeSafeAreaContext","_StyledComponents","_RoomList","_interopRequireDefault","_ProfileImagePlaceholder","_Button","_icons","_CallButtons","_LanguageSelectorButton","_reactRedux","_Composing","_roomsSlice","_xmppProvider","_chatSettingsSlice","_MODAL_TYPES","_MenuRoom","_useRoomState","_useChatSettingState","_useFileToken","_secureFileUrl","_reactNative","_getIconColor","_headerLayout","_getElementFont","_useT","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatHeader","currentRoom","handleBackClick","fileToken","useFileToken","dispatch","useDispatch","client","useXmppClient","roomsList","activeRoomJID","useRoomState","jid","roomState","room","composing","config","useChatSettingState","useT","handleChangeChat","chat","setCurrentRoom","roomJID","setIsLoading","chatJID","loading","handleLeaveClick","useCallback","leaveTheRoomStanza","deleteRoom","nextRoomJID","keys","handleHeaderChatMenu","Keyboard","dismiss","headerChatMenu","openChatInfo","setActiveModal","MODAL_TYPES","CHAT_PROFILE","insets","useSafeAreaInsets","topInset","headerLayout","safeAreaTop","top","headerHeight","resolveHeaderHeight","height","jsxs","Fragment","children","ChatContainerHeader","style","paddingTop","paddingBottom","jsx","View","styles","leftContainer","EndIcon","BackIcon","onPress","disableChatHeaderBurgerMenuIcon","menuButton","color","unstyled","BurgerMenuIcon","getIconColor","CenterContainer","minHeight","rightSpace","disableRoomConfig","leftSpace","chatHeaderBurgerMenu","chats","values","burgerMenu","onRoomClick","ChatContainerHeaderBoxInfo","disabled","disableChatInfo","disableChatHeaderMenu","ProfileImagePlaceholder","name","title","size","icon","appendFileToken","active","click","undefined","isClick","ChatContainerHeaderInfo","ChatContainerHeaderLabel","numberOfLines","ellipsizeMode","fontSize","typography","headerTitle","fontWeight","usersTyping","composingList","disableUserCount","subLabel","getElementFont","Text","Number","usersCnt","count","rightContainer","LanguageSelectorButton","CallButtons","disableRoomMenu","RoomMenu","chatHeaderAdditional","enabled","element","StyleSheet","create","padding","borderRadius","backgroundColor","alignItems","width","flexDirection","justifyContent","gap","flexShrink","_default","exports"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.searchRevealStyle = exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _Search = require("../InputComponents/Search");
|
|
@@ -25,9 +25,30 @@ const LONG_PRESS_THRESHOLD = 200;
|
|
|
25
25
|
* rounded bottom corners. */
|
|
26
26
|
const LIST_BACKGROUND = '#E8EDF2';
|
|
27
27
|
|
|
28
|
-
/**
|
|
29
|
-
*
|
|
30
|
-
|
|
28
|
+
/** A release that leaves the search strip in between is settled by
|
|
29
|
+
* scrolling to whichever end is nearer; this delay lets the platform tell
|
|
30
|
+
* us first whether the finger threw the list (momentum) or just let go. */
|
|
31
|
+
const SNAP_SETTLE_DELAY = 60;
|
|
32
|
+
const COLLAPSED_SCALE = 0.86;
|
|
33
|
+
const SEARCH_REST_GAP = 16;
|
|
34
|
+
const searchRevealStyle = (scrollY, hiddenOffset) => {
|
|
35
|
+
const travel = Math.max(hiddenOffset, 1);
|
|
36
|
+
return {
|
|
37
|
+
opacity: scrollY.interpolate({
|
|
38
|
+
inputRange: [0, travel * 0.85],
|
|
39
|
+
outputRange: [1, 0],
|
|
40
|
+
extrapolate: 'clamp'
|
|
41
|
+
}),
|
|
42
|
+
transform: [{
|
|
43
|
+
scale: scrollY.interpolate({
|
|
44
|
+
inputRange: [0, travel],
|
|
45
|
+
outputRange: [1, COLLAPSED_SCALE],
|
|
46
|
+
extrapolate: 'clamp'
|
|
47
|
+
})
|
|
48
|
+
}]
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.searchRevealStyle = searchRevealStyle;
|
|
31
52
|
const RoomList = ({
|
|
32
53
|
chats,
|
|
33
54
|
burgerMenu = false,
|
|
@@ -41,8 +62,11 @@ const RoomList = ({
|
|
|
41
62
|
const [searchTerm, setSearchTerm] = (0, _react.useState)('');
|
|
42
63
|
const [isLongPress, setIsLongPress] = (0, _react.useState)(false);
|
|
43
64
|
const [isDrawerOpen, setDrawerOpen] = (0, _react.useState)(false);
|
|
65
|
+
const [isSearchFocused, setSearchFocused] = (0, _react.useState)(false);
|
|
44
66
|
const pressTimer = (0, _react.useRef)(null);
|
|
45
67
|
const containerRef = (0, _react.useRef)(null);
|
|
68
|
+
const listRef = (0, _react.useRef)(null);
|
|
69
|
+
const scrollY = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
46
70
|
const drawerAnimation = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
47
71
|
const overlayAnimation = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
48
72
|
const handlePressIn = (0, _react.useCallback)(() => {
|
|
@@ -94,9 +118,107 @@ const RoomList = ({
|
|
|
94
118
|
}
|
|
95
119
|
}, [burgerMenu]);
|
|
96
120
|
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
|
|
121
|
+
// The search field is the list's own header rather than a bar pinned
|
|
122
|
+
// above it: it lives in the scrollable content, so the list opens
|
|
123
|
+
// already scrolled past it (rooms first, no search in sight) and
|
|
124
|
+
// dragging the content down brings it back with the finger — the way
|
|
125
|
+
// Telegram's chat list behaves. A pinned bar could not do this on
|
|
126
|
+
// Android, where a list sitting at offset 0 has nothing left to drag.
|
|
127
|
+
const searchBarHeight = (0, _react.useRef)(0);
|
|
128
|
+
const [measuredBarHeight, setMeasuredBarHeight] = (0, _react.useState)(0);
|
|
129
|
+
const listHeight = (0, _react.useRef)(0);
|
|
130
|
+
const contentHeight = (0, _react.useRef)(0);
|
|
131
|
+
/** The list starts hidden-search only once, and only before the user
|
|
132
|
+
* has touched it — chats arriving later must not yank the view. */
|
|
133
|
+
const didInitialHide = (0, _react.useRef)(false);
|
|
134
|
+
const hasDragged = (0, _react.useRef)(false);
|
|
135
|
+
const inMomentum = (0, _react.useRef)(false);
|
|
136
|
+
const settleTimer = (0, _react.useRef)(null);
|
|
137
|
+
|
|
138
|
+
// A search being typed in (or just focused) is never tucked away
|
|
139
|
+
// under the header, whichever way the list is then dragged.
|
|
140
|
+
const searchIsActive = (0, _react.useRef)(false);
|
|
141
|
+
searchIsActive.current = isSearchFocused || searchTerm.length > 0;
|
|
142
|
+
|
|
143
|
+
/** How far the list can scroll — the strip can only be hidden fully
|
|
144
|
+
* when the rooms below it are tall enough to take its place. */
|
|
145
|
+
const maxOffset = () => contentHeight.current - listHeight.current;
|
|
146
|
+
const hiddenOffset = () => Math.max(searchBarHeight.current - SEARCH_REST_GAP, 0);
|
|
147
|
+
const hideSearchInitially = (0, _react.useCallback)(() => {
|
|
148
|
+
if (didInitialHide.current || hasDragged.current) return;
|
|
149
|
+
const hidden = hiddenOffset();
|
|
150
|
+
if (!hidden || !listHeight.current || !contentHeight.current) return;
|
|
151
|
+
if (maxOffset() < hidden) return;
|
|
152
|
+
didInitialHide.current = true;
|
|
153
|
+
listRef.current?.scrollToOffset({
|
|
154
|
+
offset: hidden,
|
|
155
|
+
animated: false
|
|
156
|
+
});
|
|
157
|
+
}, []);
|
|
158
|
+
|
|
159
|
+
/** The magnet: a strip left half-way in or out settles to whichever
|
|
160
|
+
* end it is closer to. */
|
|
161
|
+
const snapSearch = (0, _react.useCallback)(offset => {
|
|
162
|
+
const hidden = hiddenOffset();
|
|
163
|
+
if (!hidden || maxOffset() < hidden) return;
|
|
164
|
+
if (offset <= 0 || offset >= hidden) return;
|
|
165
|
+
const hide = !searchIsActive.current && offset > hidden / 2;
|
|
166
|
+
listRef.current?.scrollToOffset({
|
|
167
|
+
offset: hide ? hidden : 0,
|
|
168
|
+
animated: true
|
|
169
|
+
});
|
|
170
|
+
}, []);
|
|
171
|
+
const clearSettleTimer = () => {
|
|
172
|
+
if (settleTimer.current) {
|
|
173
|
+
clearTimeout(settleTimer.current);
|
|
174
|
+
settleTimer.current = null;
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
(0, _react.useEffect)(() => clearSettleTimer, []);
|
|
178
|
+
const handleScroll = (0, _react.useMemo)(() => _reactNative.Animated.event([{
|
|
179
|
+
nativeEvent: {
|
|
180
|
+
contentOffset: {
|
|
181
|
+
y: scrollY
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}], {
|
|
185
|
+
useNativeDriver: true
|
|
186
|
+
}), [scrollY]);
|
|
187
|
+
const revealStyle = (0, _react.useMemo)(() => searchRevealStyle(scrollY, Math.max(measuredBarHeight - SEARCH_REST_GAP, 0)), [scrollY, measuredBarHeight]);
|
|
188
|
+
const handleScrollBeginDrag = (0, _react.useCallback)(() => {
|
|
189
|
+
hasDragged.current = true;
|
|
190
|
+
clearSettleTimer();
|
|
191
|
+
}, []);
|
|
192
|
+
const handleScrollEndDrag = (0, _react.useCallback)(e => {
|
|
193
|
+
const offset = e.nativeEvent.contentOffset.y;
|
|
194
|
+
inMomentum.current = false;
|
|
195
|
+
clearSettleTimer();
|
|
196
|
+
// A flick keeps scrolling after the release; snapping now would
|
|
197
|
+
// fight it, so wait a beat and let momentum claim the gesture.
|
|
198
|
+
settleTimer.current = setTimeout(() => {
|
|
199
|
+
settleTimer.current = null;
|
|
200
|
+
if (!inMomentum.current) snapSearch(offset);
|
|
201
|
+
}, SNAP_SETTLE_DELAY);
|
|
202
|
+
}, [snapSearch]);
|
|
203
|
+
const handleMomentumBegin = (0, _react.useCallback)(() => {
|
|
204
|
+
inMomentum.current = true;
|
|
205
|
+
clearSettleTimer();
|
|
206
|
+
}, []);
|
|
207
|
+
const handleMomentumEnd = (0, _react.useCallback)(e => {
|
|
208
|
+
inMomentum.current = false;
|
|
209
|
+
snapSearch(e.nativeEvent.contentOffset.y);
|
|
210
|
+
}, [snapSearch]);
|
|
211
|
+
|
|
212
|
+
// Tapping the field pulls it fully into view even if it was caught
|
|
213
|
+
// half-way, so the caret never sits under the header.
|
|
214
|
+
(0, _react.useEffect)(() => {
|
|
215
|
+
if (isSearchFocused) {
|
|
216
|
+
listRef.current?.scrollToOffset({
|
|
217
|
+
offset: 0,
|
|
218
|
+
animated: true
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}, [isSearchFocused]);
|
|
100
222
|
const toggleDrawer = () => {
|
|
101
223
|
if (isDrawerOpen) {
|
|
102
224
|
closeDrawer();
|
|
@@ -126,6 +248,30 @@ const RoomList = ({
|
|
|
126
248
|
setDrawerOpen(false);
|
|
127
249
|
});
|
|
128
250
|
};
|
|
251
|
+
const searchHeader = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
252
|
+
testID: "room-list-search",
|
|
253
|
+
style: styles.searchBar,
|
|
254
|
+
onLayout: e => {
|
|
255
|
+
const height = e.nativeEvent.layout.height;
|
|
256
|
+
searchBarHeight.current = height;
|
|
257
|
+
setMeasuredBarHeight(prev => prev === height ? prev : height);
|
|
258
|
+
hideSearchInitially();
|
|
259
|
+
},
|
|
260
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
261
|
+
testID: "room-list-search-field",
|
|
262
|
+
style: [styles.searchField, revealStyle],
|
|
263
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Search.SearchInput, {
|
|
264
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SearchIcon, {
|
|
265
|
+
height: 20
|
|
266
|
+
}),
|
|
267
|
+
value: searchTerm,
|
|
268
|
+
onChangeText: handleSearchChange,
|
|
269
|
+
onFocus: () => setSearchFocused(true),
|
|
270
|
+
onBlur: () => setSearchFocused(false),
|
|
271
|
+
placeholder: t('search.placeholder')
|
|
272
|
+
})
|
|
273
|
+
})
|
|
274
|
+
});
|
|
129
275
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
130
276
|
children: [burgerMenu && !open && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
131
277
|
style: {
|
|
@@ -147,17 +293,28 @@ const RoomList = ({
|
|
|
147
293
|
style: styles.scrollContainer,
|
|
148
294
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_HeaderRoomList.HeaderRoomList, {
|
|
149
295
|
setDrawerOpen: toggleDrawer
|
|
150
|
-
}), /*#__PURE__*/(0, _jsxRuntime.
|
|
296
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
151
297
|
style: styles.listArea,
|
|
152
|
-
children:
|
|
298
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.FlatList, {
|
|
299
|
+
ref: listRef,
|
|
153
300
|
data: filteredChats,
|
|
154
|
-
keyExtractor: item => item.jid
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
301
|
+
keyExtractor: item => item.jid,
|
|
302
|
+
ListHeaderComponent: searchHeader,
|
|
303
|
+
onLayout: e => {
|
|
304
|
+
listHeight.current = e.nativeEvent.layout.height;
|
|
305
|
+
hideSearchInitially();
|
|
306
|
+
},
|
|
307
|
+
onContentSizeChange: (_w, h) => {
|
|
308
|
+
contentHeight.current = h;
|
|
309
|
+
hideSearchInitially();
|
|
160
310
|
},
|
|
311
|
+
onScroll: handleScroll,
|
|
312
|
+
scrollEventThrottle: 16,
|
|
313
|
+
onScrollBeginDrag: handleScrollBeginDrag,
|
|
314
|
+
onScrollEndDrag: handleScrollEndDrag,
|
|
315
|
+
onMomentumScrollBegin: handleMomentumBegin,
|
|
316
|
+
onMomentumScrollEnd: handleMomentumEnd,
|
|
317
|
+
keyboardShouldPersistTaps: "handled",
|
|
161
318
|
renderItem: ({
|
|
162
319
|
item
|
|
163
320
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable
|
|
@@ -176,19 +333,7 @@ const RoomList = ({
|
|
|
176
333
|
})
|
|
177
334
|
}),
|
|
178
335
|
style: styles.chatList
|
|
179
|
-
})
|
|
180
|
-
testID: "room-list-search",
|
|
181
|
-
style: styles.searchBar,
|
|
182
|
-
onLayout: e => setSearchBarHeight(e.nativeEvent.layout.height),
|
|
183
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Search.SearchInput, {
|
|
184
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SearchIcon, {
|
|
185
|
-
height: 20
|
|
186
|
-
}),
|
|
187
|
-
value: searchTerm,
|
|
188
|
-
onChangeText: handleSearchChange,
|
|
189
|
-
placeholder: t('search.placeholder')
|
|
190
|
-
})
|
|
191
|
-
})]
|
|
336
|
+
})
|
|
192
337
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_HeaderRoomListMenu.HeaderRoomListMenu, {
|
|
193
338
|
closeDrawer: closeDrawer,
|
|
194
339
|
drawerAnimation: drawerAnimation,
|
|
@@ -225,21 +370,19 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
225
370
|
flex: 1
|
|
226
371
|
},
|
|
227
372
|
searchBar: {
|
|
373
|
+
paddingBottom: 4,
|
|
228
374
|
// `row` matters: SearchInputWrapper is `flex: 1` plus a fixed 44px
|
|
229
375
|
// height. In a column parent that flex resolves VERTICALLY against a
|
|
230
376
|
// parent with no height of its own and collapses the field to nothing
|
|
231
|
-
// but its magnifier. As a row it resolves to width
|
|
232
|
-
// meant back when the field was a list-header child.
|
|
377
|
+
// but its magnifier. As a row it resolves to width.
|
|
233
378
|
flexDirection: 'row',
|
|
234
|
-
position: 'absolute',
|
|
235
|
-
top: 0,
|
|
236
|
-
left: 0,
|
|
237
|
-
right: 0,
|
|
238
379
|
paddingTop: 8,
|
|
239
|
-
paddingBottom: 8,
|
|
240
|
-
paddingHorizontal: 16,
|
|
241
380
|
backgroundColor: 'transparent'
|
|
242
381
|
},
|
|
382
|
+
searchField: {
|
|
383
|
+
flexDirection: 'row',
|
|
384
|
+
flex: 1
|
|
385
|
+
},
|
|
243
386
|
chatList: {
|
|
244
387
|
flex: 1,
|
|
245
388
|
paddingHorizontal: 16,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Search","_icons","_ChatRoomItem","_interopRequireDefault","_useChatSettingState","_Button","_HeaderRoomList","_HeaderRoomListMenu","_getIconColor","_useT","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LONG_PRESS_THRESHOLD","LIST_BACKGROUND","SEARCH_BAR_ESTIMATE","RoomList","chats","burgerMenu","onRoomClick","config","useChatSettingState","useT","open","setOpen","useState","searchTerm","setSearchTerm","isLongPress","setIsLongPress","isDrawerOpen","setDrawerOpen","pressTimer","useRef","containerRef","drawerAnimation","Animated","Value","current","overlayAnimation","handlePressIn","useCallback","setTimeout","handlePressOut","clearTimeout","performClick","chat","handleSearchChange","text","getLastMessage","messages","length","filteredChats","useMemo","lowerCaseSearchTerm","toLowerCase","chatsMap","Map","result","filter","hay","title","name","includes","sort","a","b","id","Number","useEffect","searchBarHeight","setSearchBarHeight","toggleDrawer","closeDrawer","parallel","timing","toValue","duration","useNativeDriver","start","jsxs","Fragment","children","jsx","style","padding","borderRadius","backgroundColor","color","unstyled","EndIcon","BurgerMenuIcon","getIconColor","onPress","View","ref","styles","container","roomListStyles","scrollContainer","HeaderRoomList","listArea","FlatList","data","keyExtractor","item","jid","contentContainerStyle","paddingTop","renderItem","Pressable","testID","split","accessibilityLabel","onPressIn","onPressOut","chatList","searchBar","onLayout","nativeEvent","layout","height","SearchInput","icon","SearchIcon","value","onChangeText","placeholder","HeaderRoomListMenu","StyleSheet","create","burgerButton","fontSize","width","flex","flexGrow","headerContainer","flexDirection","alignItems","justifyContent","position","top","left","right","paddingBottom","paddingHorizontal","_default","exports"],"sourceRoot":"../../../../src","sources":["components/MainComponents/RoomList.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Search","_icons","_ChatRoomItem","_interopRequireDefault","_useChatSettingState","_Button","_HeaderRoomList","_HeaderRoomListMenu","_getIconColor","_useT","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LONG_PRESS_THRESHOLD","LIST_BACKGROUND","SNAP_SETTLE_DELAY","COLLAPSED_SCALE","SEARCH_REST_GAP","searchRevealStyle","scrollY","hiddenOffset","travel","Math","max","opacity","interpolate","inputRange","outputRange","extrapolate","transform","scale","exports","RoomList","chats","burgerMenu","onRoomClick","config","useChatSettingState","useT","open","setOpen","useState","searchTerm","setSearchTerm","isLongPress","setIsLongPress","isDrawerOpen","setDrawerOpen","isSearchFocused","setSearchFocused","pressTimer","useRef","containerRef","listRef","Animated","Value","current","drawerAnimation","overlayAnimation","handlePressIn","useCallback","setTimeout","handlePressOut","clearTimeout","performClick","chat","handleSearchChange","text","getLastMessage","messages","length","filteredChats","useMemo","lowerCaseSearchTerm","toLowerCase","chatsMap","Map","result","filter","hay","title","name","includes","sort","a","b","id","Number","useEffect","searchBarHeight","measuredBarHeight","setMeasuredBarHeight","listHeight","contentHeight","didInitialHide","hasDragged","inMomentum","settleTimer","searchIsActive","maxOffset","hideSearchInitially","hidden","scrollToOffset","offset","animated","snapSearch","hide","clearSettleTimer","handleScroll","event","nativeEvent","contentOffset","y","useNativeDriver","revealStyle","handleScrollBeginDrag","handleScrollEndDrag","handleMomentumBegin","handleMomentumEnd","toggleDrawer","closeDrawer","parallel","timing","toValue","duration","start","searchHeader","jsx","View","testID","style","styles","searchBar","onLayout","height","layout","prev","children","searchField","SearchInput","icon","SearchIcon","value","onChangeText","onFocus","onBlur","placeholder","jsxs","Fragment","padding","borderRadius","backgroundColor","color","unstyled","EndIcon","BurgerMenuIcon","getIconColor","onPress","ref","container","roomListStyles","scrollContainer","HeaderRoomList","listArea","FlatList","data","keyExtractor","item","jid","ListHeaderComponent","onContentSizeChange","_w","h","onScroll","scrollEventThrottle","onScrollBeginDrag","onScrollEndDrag","onMomentumScrollBegin","onMomentumScrollEnd","keyboardShouldPersistTaps","renderItem","Pressable","split","accessibilityLabel","onPressIn","onPressOut","chatList","HeaderRoomListMenu","StyleSheet","create","burgerButton","fontSize","width","flex","flexGrow","headerContainer","flexDirection","alignItems","justifyContent","paddingBottom","paddingTop","paddingHorizontal","_default"],"sourceRoot":"../../../../src","sources":["components/MainComponents/RoomList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -96,6 +96,23 @@ const HeaderRoomListMenu = ({
|
|
|
96
96
|
// closed over on mount.
|
|
97
97
|
const closeDrawerRef = (0, _react.useRef)(closeDrawer);
|
|
98
98
|
closeDrawerRef.current = closeDrawer;
|
|
99
|
+
const pendingActionRef = (0, _react.useRef)(null);
|
|
100
|
+
const runPendingAction = (0, _react.useCallback)(() => {
|
|
101
|
+
const action = pendingActionRef.current;
|
|
102
|
+
pendingActionRef.current = null;
|
|
103
|
+
action?.();
|
|
104
|
+
}, []);
|
|
105
|
+
(0, _react.useEffect)(() => {
|
|
106
|
+
if (_reactNative.Platform.OS === 'ios' || isDrawerOpen) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const id = setTimeout(runPendingAction, 0);
|
|
110
|
+
return () => clearTimeout(id);
|
|
111
|
+
}, [isDrawerOpen, runPendingAction]);
|
|
112
|
+
const handleOptionPress = (0, _react.useCallback)(action => {
|
|
113
|
+
pendingActionRef.current = action;
|
|
114
|
+
closeDrawer();
|
|
115
|
+
}, [closeDrawer]);
|
|
99
116
|
(0, _react.useEffect)(() => {
|
|
100
117
|
if (!isDrawerOpen) {
|
|
101
118
|
dragY.setValue(0);
|
|
@@ -180,7 +197,6 @@ const HeaderRoomListMenu = ({
|
|
|
180
197
|
}),
|
|
181
198
|
onClick: () => {
|
|
182
199
|
dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.NEW_CHAT));
|
|
183
|
-
console.log('New chat clicked');
|
|
184
200
|
},
|
|
185
201
|
styles: {
|
|
186
202
|
color: '#141414'
|
|
@@ -192,7 +208,6 @@ const HeaderRoomListMenu = ({
|
|
|
192
208
|
}),
|
|
193
209
|
onClick: () => {
|
|
194
210
|
dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.PROFILE));
|
|
195
|
-
console.log('Profile clicked');
|
|
196
211
|
}
|
|
197
212
|
}, {
|
|
198
213
|
label: 'Settings',
|
|
@@ -201,7 +216,6 @@ const HeaderRoomListMenu = ({
|
|
|
201
216
|
}),
|
|
202
217
|
onClick: () => {
|
|
203
218
|
dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.SETTINGS));
|
|
204
|
-
console.log('Settings clicked');
|
|
205
219
|
}
|
|
206
220
|
}];
|
|
207
221
|
if (logoutConfig) {
|
|
@@ -213,15 +227,13 @@ const HeaderRoomListMenu = ({
|
|
|
213
227
|
styles: {
|
|
214
228
|
color: primaryColor
|
|
215
229
|
},
|
|
216
|
-
closesDrawer: true,
|
|
217
230
|
onClick: () => {
|
|
218
|
-
closeDrawer();
|
|
219
231
|
runLogoutFlow(logoutConfig, performLogout).catch(() => {});
|
|
220
232
|
}
|
|
221
233
|
});
|
|
222
234
|
}
|
|
223
235
|
return options;
|
|
224
|
-
}, [dispatch, logoutConfig, performLogout, primaryColor
|
|
236
|
+
}, [dispatch, logoutConfig, performLogout, primaryColor]);
|
|
225
237
|
return (
|
|
226
238
|
/*#__PURE__*/
|
|
227
239
|
// Presented through a real <Modal>: as an in-tree overlay the sheet was
|
|
@@ -234,6 +246,7 @@ const HeaderRoomListMenu = ({
|
|
|
234
246
|
animationType: "none",
|
|
235
247
|
statusBarTranslucent: true,
|
|
236
248
|
onRequestClose: closeDrawer,
|
|
249
|
+
onDismiss: runPendingAction,
|
|
237
250
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
|
|
238
251
|
onPress: closeDrawer,
|
|
239
252
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
@@ -276,12 +289,7 @@ const HeaderRoomListMenu = ({
|
|
|
276
289
|
style: styles.menuItem,
|
|
277
290
|
testID: `header-menu-${option.label}`,
|
|
278
291
|
activeOpacity: 0.6,
|
|
279
|
-
onPress: () =>
|
|
280
|
-
option.onClick();
|
|
281
|
-
if (!option.closesDrawer) {
|
|
282
|
-
closeDrawer();
|
|
283
|
-
}
|
|
284
|
-
},
|
|
292
|
+
onPress: () => handleOptionPress(option.onClick),
|
|
285
293
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
286
294
|
style: styles.iconSlot,
|
|
287
295
|
children: option.icon
|