From dd09dd147e14b2a16741987f320ca59cc93dd24b Mon Sep 17 00:00:00 2001 From: talksik Date: Sun, 5 Aug 2018 19:44:43 -0700 Subject: [PATCH] nicer menu and other touches --- app/screens/main.js | 15 +++++-- app/screens/main/chat.js | 41 +++++++++++------- app/screens/main/menu.js | 88 ++++++++++++++++++++++++++++---------- app/screens/main/navbar.js | 17 +++++--- 4 files changed, 113 insertions(+), 48 deletions(-) diff --git a/app/screens/main.js b/app/screens/main.js index 98c8bbd..667ae99 100644 --- a/app/screens/main.js +++ b/app/screens/main.js @@ -58,8 +58,13 @@ export default class Main extends Component { }); } + openDrawer = () => { + this.refs['menu'].openDrawer(); + } + render() { console.log('in Main'); + const { position, avatar } = this.state; const avatarLink = allAvatarLinks[avatar]; @@ -67,18 +72,22 @@ export default class Main extends Component { return ( }> + disconnect={this.disconnect} + avatar={avatarLink} />}> - + + + diff --git a/app/screens/main/chat.js b/app/screens/main/chat.js index bf96903..01ea87c 100644 --- a/app/screens/main/chat.js +++ b/app/screens/main/chat.js @@ -180,6 +180,7 @@ export default class Chat extends Component { multiline = {true} numberOfLines = {4} maxLength = {220} + underlineColorAndroid='rgba(0,0,0,0)' /> @@ -242,14 +243,14 @@ const styles = { padding: 10, borderBottomRightRadius: 10, borderBottomLeftRadius: 10, - shadowColor:'black', + shadowColor: 'black', shadowOffset: { width: 0, height: 3 }, shadowRadius: 5, shadowOpacity: 1.0, - elevation: 5 + elevation: 3 }, userMsgBox: { backgroundColor: '#0e8f9e', @@ -273,29 +274,37 @@ const styles = { inputMsgField: { flex: 1, flexDirection: 'row', - alignItems: 'center', - justifyContent: 'space-between', - height: 50, + alignItems: 'stretch', + justifyContent: 'center', + margin: 12, backgroundColor: 'white', - marginTop: 10 - }, - iconCont: { - flex: 1, - alignItems: 'center', - justifyContent: 'center' + shadowColor: '#0e8f9e', + shadowOffset: { + width: 0, + height: 3 + }, + shadowRadius: 5, + shadowOpacity: 1.0, + elevation: 5, + padding: 2 }, inputCont: { - flex: 6, - alignSelf: 'flex-end', - marginLeft: 10 + flex: 6 }, inputField : { fontSize: 18, fontFamily: Fonts.SunflowerLight }, - sendIcon: { - fontSize: 25 + iconCont: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + borderLeftColor: '#0e8f9e', + borderLeftWidth: 1 }, + sendIcon: { + fontSize: 15 + }, sendIconColor: { fontSize: 25, color: '#0e8f9e' diff --git a/app/screens/main/menu.js b/app/screens/main/menu.js index 3ac332d..15e1aa8 100644 --- a/app/screens/main/menu.js +++ b/app/screens/main/menu.js @@ -7,7 +7,8 @@ import { View, Text, ImageBackground, - TouchableOpacity + TouchableOpacity, + StyleSheet } from 'react-native'; import { Actions @@ -22,41 +23,55 @@ const backgroundLink = '../../assets/images/homeBg.jpg'; type Props = {}; export default class Menu extends Component { render() { - const { refreshConnection, refreshAvatar, disconnect } = this.props; + const { refreshConnection, refreshAvatar, disconnect, avatar } = this.props; + return ( - - Menu + + + Menu + + - Refresh Connection + Refresh Connection + - Change Avatar + Change Avatar + - Disconnect + Disconnect + + + © Nexto + 2018. + + ); } @@ -64,17 +79,21 @@ export default class Menu extends Component { const styles = { container: { - flex: 13, + flex: 14, backgroundColor: 'white' }, header: { - flex: 3, - backgroundColor: 'grey', - justifyContent: 'center', - alignItems: 'center' + flex: 3 }, + overlay: { + flex: 1, + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + backgroundColor:'rgba(0,0,0,0.5)' + }, hdrTxt: { - color: '#0e8f9e', + color: 'white', fontSize: 30 }, main: { @@ -86,18 +105,41 @@ const styles = { flex: 0, flexBasis: 3, flexDirection: 'row', - justifyContent: 'space-between', + justifyContent: 'flex-start', alignItems: 'center', - padding: 30, - borderWidth: 2, - borderStyle: 'solid', - borderColor: '#d7d9dd' + paddingTop: 25, + paddingBottom: 25 }, icons: { - fontSize: 30, + fontSize: 20, + color: '#0e8f9e', + padding: 10 + }, + refresh: { + color: 'green' + }, + disconnect: { + color: 'red' + }, + optTxt: { + fontSize: 15, + fontWeight: 'bold', + color: 'black', + textAlign: 'left', + padding: 10 + }, + copyrightCont: { + flex: 1, + backgroundColor: '#202021', + justifyContent: 'center', + alignItems: 'center', + padding: 10 + }, + copyrightTxt: { color: '#0e8f9e' }, - optTxt: { - fontSize: 20 + copyrightTxtExtra: { + fontSize: 10, + color: '#0e8f9e' } } diff --git a/app/screens/main/navbar.js b/app/screens/main/navbar.js index b5a2b95..4c31553 100644 --- a/app/screens/main/navbar.js +++ b/app/screens/main/navbar.js @@ -6,7 +6,8 @@ import { Dimensions, View, Text, - Image + Image, + TouchableOpacity } from 'react-native'; import { Actions @@ -24,20 +25,24 @@ export default class Navbar extends Component { } render() { - const { avatar } = this.props; + const { openDrawer, avatar } = this.props; return ( - + + + + Chat online +