diff --git a/apps/mobile/src/components/Menu/MenuListItem.js b/apps/mobile/src/components/Menu/MenuListItem.js index f448c80a8..076955d41 100644 --- a/apps/mobile/src/components/Menu/MenuListItem.js +++ b/apps/mobile/src/components/Menu/MenuListItem.js @@ -1,16 +1,15 @@ import React from 'react'; -import {View} from 'react-native'; +import { View } from 'react-native'; import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; -import {useTracked} from '../../provider'; -import {DDS} from '../../services/DeviceDetection'; +import { useTracked } from '../../provider'; import Navigation from '../../services/Navigation'; -import {SIZE} from '../../utils/SizeUtils'; -import {PressableButton} from '../PressableButton'; +import { SIZE } from '../../utils/SizeUtils'; +import { PressableButton } from '../PressableButton'; import Paragraph from '../Typography/Paragraph'; export const MenuListItem = ({item, index, noTextMode, ignore, testID}) => { const [state, dispatch] = useTracked(); - const {currentScreen, colors} = state; + const {headerTextState, colors} = state; const _onPress = (event) => { if (item.func) { @@ -38,13 +37,13 @@ export const MenuListItem = ({item, index, noTextMode, ignore, testID}) => { key={item.name + index} onPress={_onPress} color={ - currentScreen === item.name.toLowerCase() ? colors.shade : 'transparent' + headerTextState.id === item.name.toLowerCase() + "_navigation" ? colors.shade : 'transparent' } selectedColor={colors.accent} alpha={!colors.night ? -0.02 : 0.02} opacity={0.12} customStyle={{ - width: '100%', + width: noTextMode ? 50 : '100%', alignSelf: 'center', borderRadius: 0, flexDirection: 'row', @@ -60,13 +59,13 @@ export const MenuListItem = ({item, index, noTextMode, ignore, testID}) => { }}> {noTextMode ? null : {item.name}} diff --git a/apps/mobile/src/components/Menu/UserSection.js b/apps/mobile/src/components/Menu/UserSection.js index 4d35dcbc2..4b8a3f683 100644 --- a/apps/mobile/src/components/Menu/UserSection.js +++ b/apps/mobile/src/components/Menu/UserSection.js @@ -1,6 +1,5 @@ import React from 'react'; -import {ActivityIndicator, Text, TouchableOpacity, View} from 'react-native'; -import {color} from 'react-native-reanimated'; +import {ActivityIndicator, TouchableOpacity, View} from 'react-native'; import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; import {useTracked} from '../../provider'; import {Actions} from '../../provider/Actions'; @@ -8,7 +7,7 @@ import {eSendEvent, ToastEvent} from '../../services/EventManager'; import {showContext, SUBSCRIPTION_STATUS_STRINGS} from '../../utils'; import {db} from '../../utils/DB'; import {eOpenLoginDialog} from '../../utils/Events'; -import {pv, SIZE, WEIGHT} from '../../utils/SizeUtils'; +import {pv, SIZE} from '../../utils/SizeUtils'; import {PressableButton} from '../PressableButton'; import Paragraph from '../Typography/Paragraph'; import {TimeSince} from './TimeSince'; @@ -21,7 +20,9 @@ export const UserSection = ({noTextMode}) => { { alignItems: 'center', backgroundColor: colors.accent, paddingHorizontal: 6, - paddingVertical: 8, + paddingVertical: 6, + borderTopRightRadius: 5, + borderTopLeftRadius: 5, }}> {user.username} @@ -41,6 +44,7 @@ export const UserSection = ({noTextMode}) => { { dispatch({ type: Actions.SYNCING, @@ -68,7 +72,7 @@ export const UserSection = ({noTextMode}) => { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', - paddingHorizontal: 5, + paddingRight: 5, paddingVertical: 12, }}> { style={{ marginLeft: 5, }}> - {syncing ? 'Syncing ' : 'Synced '} + {syncing ? 'Syncing ' : 'Last synced: '} {!syncing ? ( user?.lastSynced ? ( @@ -112,10 +116,7 @@ export const UserSection = ({noTextMode}) => { onPress={() => { eSendEvent(eOpenLoginDialog); }} - onLongPress={(event) => { - showContext(event, 'Login'); - }} - color="transparent" + color={colors.accent} selectedColor={colors.accent} alpha={!colors.night ? -0.02 : 0.1} opacity={0.12} @@ -123,7 +124,7 @@ export const UserSection = ({noTextMode}) => { paddingVertical: 12, marginVertical: 5, marginTop: pv + 5, - borderRadius: 0, + borderRadius: 5, width: '100%', flexDirection: 'row', alignItems: 'center', diff --git a/apps/mobile/src/components/Menu/index.js b/apps/mobile/src/components/Menu/index.js index d3a9849c0..f20bb8454 100644 --- a/apps/mobile/src/components/Menu/index.js +++ b/apps/mobile/src/components/Menu/index.js @@ -1,5 +1,5 @@ import React from 'react'; -import {ScrollView, View} from 'react-native'; +import {FlatList, ScrollView, View} from 'react-native'; import {useSafeAreaInsets} from 'react-native-safe-area-context'; import {useTracked} from '../../provider'; import {Actions} from '../../provider/Actions'; @@ -13,10 +13,7 @@ import { } from '../../utils/Colors'; import {MenuItemsList} from '../../utils/index'; import {MMKV} from '../../utils/mmkv'; -import {SIZE} from '../../utils/SizeUtils'; import Seperator from '../Seperator'; -import Heading from '../Typography/Heading'; -import Paragraph from '../Typography/Paragraph'; import {ColorSection} from './ColorSection'; import {MenuListItem} from './MenuListItem'; import {TagsSection} from './TagsSection'; @@ -65,52 +62,49 @@ export const Menu = React.memo( backgroundColor: DDS.isLargeTablet() ? colors.nav : colors.bg, paddingTop: insets.top, }}> - - {MenuItemsList.map((item, index) => ( - - ))} - - - + showsVerticalScrollIndicator={false} + data={[0]} + keyExtractor={() => 'mainMenuView'} + renderItem={() => ( + <> + {MenuItemsList.map((item, index) => ( + + ))} + + + + )} + /> + {BottomItemsList.map((item, index) => ( + + ))} - - {BottomItemsList.map((item, index) => ( - - ))} - - + );