import React from 'react' import {observer} from 'mobx-react-lite' import { Image, StyleSheet, Text, TouchableOpacity, TouchableWithoutFeedback, View, } from 'react-native' import {IconProp} from '@fortawesome/fontawesome-svg-core' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import LinearGradient from 'react-native-linear-gradient' import {useStores} from '../../../state' import {s, colors, gradients} from '../../lib/styles' import {DEF_AVATER} from '../../lib/assets' export const MainMenu = observer( ({active, onClose}: {active: boolean; onClose: () => void}) => { const store = useStores() // events // = const onNavigate = (url: string) => { store.nav.navigate(url) onClose() } // rendering // = const FatMenuItem = ({ icon, label, url, gradient, }: { icon: IconProp label: string url: string gradient: keyof typeof gradients }) => ( onNavigate(url)}> {label} ) if (!active) { return } return ( <> onNavigate(`/profile/${store.me.name || ''}`)}> {store.me.displayName || store.me.name || 'My profile'} onNavigate(`/settings`)}> ) }, ) const styles = StyleSheet.create({ bg: { position: 'absolute', top: 0, right: 0, bottom: 0, left: 0, backgroundColor: '#000', opacity: 0.2, }, wrapper: { position: 'absolute', bottom: 75, width: '100%', backgroundColor: '#fff', borderRadius: 8, opacity: 1, paddingVertical: 10, }, topSection: { flexDirection: 'row', alignItems: 'center', paddingHorizontal: 10, }, section: { paddingHorizontal: 10, }, profile: { paddingVertical: 10, paddingHorizontal: 10, flexDirection: 'row', alignItems: 'center', }, profileImage: { borderRadius: 15, width: 30, height: 30, marginRight: 8, }, profileText: { fontSize: 15, fontWeight: 'bold', }, settings: {}, settingsIcon: { color: colors.gray5, marginRight: 10, }, fatMenuItems: { flexDirection: 'row', marginTop: 10, marginBottom: 10, }, fatMenuItem: { width: 80, alignItems: 'center', marginRight: 6, }, fatMenuItemMargin: { marginRight: 14, }, fatMenuItemIconWrapper: { borderRadius: 6, width: 60, height: 60, justifyContent: 'center', alignItems: 'center', marginBottom: 5, shadowColor: '#000', shadowOpacity: 0.2, shadowOffset: {width: 0, height: 2}, shadowRadius: 2, }, fatMenuItemIcon: { color: colors.white, }, fatMenuImage: { borderRadius: 30, width: 60, height: 60, marginBottom: 5, }, fatMenuItemLabel: { fontSize: 13, }, })