Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9abde89805 | |||
| ea4f639fcb |
@@ -79,8 +79,8 @@ android {
|
||||
applicationId "com.ariacockpit"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 303
|
||||
versionName "0.0.3.3"
|
||||
versionCode 304
|
||||
versionName "0.0.3.4"
|
||||
// Fallback fuer Libraries mit Product Flavors
|
||||
missingDimensionStrategy 'react-native-camera', 'general'
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "aria-cockpit",
|
||||
"version": "0.0.3.3",
|
||||
"version": "0.0.3.4",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"android": "react-native run-android",
|
||||
|
||||
@@ -373,13 +373,17 @@ const ChatScreen: React.FC = () => {
|
||||
const shouldAutoScroll = useRef(true);
|
||||
const lastMessageCount = useRef(0);
|
||||
|
||||
// Bei neuen Nachrichten: sofort nach unten
|
||||
// Bei neuen Nachrichten oder App-Start: nach unten springen
|
||||
useEffect(() => {
|
||||
if (messages.length > lastMessageCount.current && shouldAutoScroll.current) {
|
||||
// Kurzer Delay damit FlatList rendern kann
|
||||
setTimeout(() => {
|
||||
flatListRef.current?.scrollToEnd({ animated: messages.length > lastMessageCount.current + 1 ? false : true });
|
||||
}, 150);
|
||||
if (messages.length > 0 && shouldAutoScroll.current) {
|
||||
const isInitial = lastMessageCount.current === 0;
|
||||
// Mehrfach versuchen (FlatList braucht Zeit zum Rendern)
|
||||
const delays = isInitial ? [100, 300, 600, 1000] : [100, 300];
|
||||
for (const delay of delays) {
|
||||
setTimeout(() => {
|
||||
flatListRef.current?.scrollToEnd({ animated: !isInitial });
|
||||
}, delay);
|
||||
}
|
||||
}
|
||||
lastMessageCount.current = messages.length;
|
||||
}, [messages]);
|
||||
|
||||
Reference in New Issue
Block a user