Skip to content

Commit c6234d1

Browse files
committed
fix(mobile): remove border above editor toolbar on keyboard open
- Remove borderTopWidth from EditorToolbar container - Remove borderTopColor from dynamic toolbar styles - Ensures clean visual appearance when keyboard is displayed
1 parent d285980 commit c6234d1

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

apps/mobile/v1/src/screens/EditNote/EditorToolbar.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ export function EditorToolbar({ editor, keyboardHeight, bottomInset, theme }: Ed
2929
styles.toolbarContainer,
3030
{
3131
backgroundColor: theme.colors.background,
32-
borderTopColor: theme.colors.border,
3332
bottom: keyboardHeight,
3433
paddingBottom,
3534
},
@@ -155,7 +154,7 @@ const styles = StyleSheet.create({
155154
left: 0,
156155
right: 0,
157156
bottom: 0,
158-
borderTopWidth: 0.5,
157+
borderTopWidth: 0,
159158
paddingTop: 8,
160159
paddingHorizontal: 8,
161160
},

apps/mobile/v1/src/screens/NotesListScreen.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useState, useEffect, useRef, useMemo, useCallback } from 'react';
2-
import { View, Text, ScrollView, StyleSheet, Pressable, Alert, ActivityIndicator, TouchableOpacity, RefreshControl, Animated, Keyboard } from 'react-native';
2+
import { View, Text, ScrollView, StyleSheet, Pressable, Alert, ActivityIndicator, TouchableOpacity, RefreshControl, Animated, Keyboard, useWindowDimensions } from 'react-native';
33
import AsyncStorage from '@react-native-async-storage/async-storage';
44
import * as Haptics from 'expo-haptics';
55
import { useFocusEffect } from '@react-navigation/native';
@@ -58,6 +58,7 @@ export default function NotesListScreen({ navigation, route, renderHeader, scrol
5858
const theme = useTheme();
5959
const api = useApiService();
6060
const { folderId, viewType, searchQuery } = route?.params || {};
61+
const { height: windowHeight } = useWindowDimensions();
6162

6263
const [notes, setNotes] = useState<Note[]>([]);
6364
const [subfolders, setSubfolders] = useState<Folder[]>([]);
@@ -336,7 +337,10 @@ export default function NotesListScreen({ navigation, route, renderHeader, scrol
336337
<ScrollView
337338
ref={scrollViewRef}
338339
style={styles.scrollView}
340+
contentContainerStyle={[styles.scrollViewContent, { minHeight: windowHeight }]}
339341
showsVerticalScrollIndicator={false}
342+
alwaysBounceVertical={true}
343+
bounces={true}
340344
onScroll={Animated.event(
341345
[{ nativeEvent: { contentOffset: { y: scrollY } } }],
342346
{ useNativeDriver: false }
@@ -352,7 +356,7 @@ export default function NotesListScreen({ navigation, route, renderHeader, scrol
352356
}
353357
>
354358
{!loading && (
355-
<>
359+
<Pressable style={{ flex: 1 }} onPress={() => {}}>
356360
{/* Header from parent */}
357361
{renderHeader && renderHeader()}
358362

@@ -595,7 +599,10 @@ export default function NotesListScreen({ navigation, route, renderHeader, scrol
595599
</View>
596600
)}
597601
</View>
598-
</>
602+
603+
{/* Spacer to ensure content fills screen */}
604+
<View style={{ flex: 1, minHeight: 100 }} />
605+
</Pressable>
599606
)}
600607
</ScrollView>
601608
)}
@@ -702,6 +709,9 @@ const styles = StyleSheet.create({
702709
paddingHorizontal: 0,
703710
paddingTop: 0,
704711
},
712+
scrollViewContent: {
713+
flexGrow: 1,
714+
},
705715
noteCardContainer: {
706716
marginBottom: NOTE_CARD.SPACING,
707717
paddingHorizontal: 16,

apps/mobile/v1/src/screens/ViewNote/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export default function ViewNoteScreen() {
144144
<Animated.ScrollView
145145
ref={scrollViewRef}
146146
style={{ flex: 1 }}
147-
showsVerticalScrollIndicator={true}
147+
showsVerticalScrollIndicator={false}
148148
onScroll={Animated.event(
149149
[{ nativeEvent: { contentOffset: { y: scrollY } } }],
150150
{ useNativeDriver: false }

0 commit comments

Comments
 (0)