From d25af176d3a4a93faf2328015614a3caa99c6716 Mon Sep 17 00:00:00 2001 From: Maria Zadnepryanets <mariya.z@gmail.com> Date: Sun, 20 Dec 2020 19:11:03 +0000 Subject: [PATCH] Resolve "Stats" --- components/common/menu-icon.js | 2 +- components/common/table.js | 6 +++--- components/home.js | 5 ++++- components/stats.js | 30 ++++++++++++++++-------------- styles/typography.js | 3 ++- 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/components/common/menu-icon.js b/components/common/menu-icon.js index cd1fa0fb..8ef9b9a0 100644 --- a/components/common/menu-icon.js +++ b/components/common/menu-icon.js @@ -10,7 +10,7 @@ const Icon = createIconSetFromIcoMoon(iconConfig, '', 'Menu') const MenuIcon = ({ isActive, name }) => { const color = isActive ? Colors.greyDark : Colors.grey - return <Icon name={name} size={Sizes.huge} color={color} /> + return <Icon name={name} size={Sizes.icon} color={color} /> } MenuIcon.propTypes = { diff --git a/components/common/table.js b/components/common/table.js index c6529966..bb84f271 100644 --- a/components/common/table.js +++ b/components/common/table.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types' import AppText from './app-text' -import { Spacing, Typography } from '../../styles' +import { Sizes, Spacing, Typography } from '../../styles' const Table = ({ tableContent }) => { return ( @@ -56,11 +56,11 @@ Cell.propTypes = { const styles = StyleSheet.create({ accentOrange: { ...Typography.accentOrange, - fontSize: 18, + fontSize: Sizes.small, }, accentPurpleBig: { ...Typography.accentPurpleBig, - marginRight: Spacing.base, + marginRight: Spacing.small, }, cellLeft: { alignItems: 'flex-end', diff --git a/components/home.js b/components/home.js index 3db35079..ad2ff53e 100644 --- a/components/home.js +++ b/components/home.js @@ -99,7 +99,7 @@ class Home extends Component { {phase && ( <View style={styles.line}> <Asterisk /> - <AppText linkStyle={styles.whiteText}> + <AppText linkStyle={styles.whiteText} style={styles.greyText}> {statusText} </AppText> </View> @@ -147,6 +147,9 @@ const styles = StyleSheet.create({ }, whiteText: { color: 'white', + }, + greyText: { + color: Colors.greyLight, } }) diff --git a/components/stats.js b/components/stats.js index d43a74d3..1cdcf1bf 100644 --- a/components/stats.js +++ b/components/stats.js @@ -1,5 +1,5 @@ import React from 'react' -import { ImageBackground, StyleSheet, View } from 'react-native' +import { Dimensions, ImageBackground, StyleSheet, View } from 'react-native' import AppPage from './common/app-page' import AppText from './common/app-text' @@ -10,9 +10,11 @@ import cycleModule from '../lib/cycle' import {getCycleLengthStats as getCycleInfo} from '../lib/cycle-length' import {stats as labels} from '../i18n/en/labels' -import { Spacing, Typography } from '../styles' +import { Sizes, Spacing, Typography } from '../styles' +import { fontRatio } from '../config' const image = require('../assets/cycle-icon.png') +const screen = Dimensions.get('screen') const Stats = () => { const cycleLengths = cycleModule().getAllCycleLengths() @@ -20,13 +22,15 @@ const Stats = () => { const hasAtLeastOneCycle = numberOfCycles >= 1 const cycleData = hasAtLeastOneCycle ? getCycleInfo(cycleLengths) : { minimum: '—', maximum: '—', stdDeviation: '—' } - const statsData = [ [cycleData.minimum, labels.minLabel], [cycleData.maximum, labels.maxLabel], [cycleData.stdDeviation ? cycleData.stdDeviation : '—', labels.stdLabel], [numberOfCycles, labels.basisOfStatsEnd] ] + const height = screen.height * 0.2 + const marginTop = (height / 8 - Sizes.icon / fontRatio) / 4 + return ( <AppPage contentContainerStyle={styles.pageContainer}> <Segment last style={styles.pageContainer}> @@ -38,12 +42,12 @@ const Stats = () => { <ImageBackground source={image} imageStyle={styles.image} - style={styles.imageContainter} + style={[styles.imageContainter, { height }]} > <AppText numberOfLines={1} ellipsizeMode="clip" - style={styles.accentPurpleGiant} + style={[styles.accentPurpleGiant, { marginTop }]} > {cycleData.mean} </AppText> @@ -72,15 +76,14 @@ const column = { const styles = StyleSheet.create({ accentOrange: { ...Typography.accentOrange, - fontSize: 20, + fontSize: Sizes.small, }, accentPurpleGiant: { ...Typography.accentPurpleGiant, }, accentPurpleHuge: { ...Typography.accentPurpleHuge, - marginRight: Spacing.base, - marginTop: -15, + marginTop: Spacing.base * (-1), }, container: { alignItems: 'center', @@ -97,15 +100,14 @@ const styles = StyleSheet.create({ paddingTop: Spacing.small, }, image: { - height: 120, - marginLeft: 20, - marginTop: 20, + marginLeft: Spacing.large, + marginTop: Spacing.large, resizeMode: 'contain', - width: 120, + }, imageContainter: { - paddingTop: 40, - marginBottom: 20, + paddingTop: Spacing.large * 2, + marginBottom: Spacing.large, }, pageContainer: { marginVertical: Spacing.base, diff --git a/styles/typography.js b/styles/typography.js index 2ea043db..3df807b7 100644 --- a/styles/typography.js +++ b/styles/typography.js @@ -16,6 +16,7 @@ export const sizes = { subtitle: 22 / fontRatio, title: 24 / fontRatio, huge: 32 / fontRatio, + icon: 40 / fontRatio, } const accentText = { @@ -31,7 +32,7 @@ const accentTextBig = { const accentTextGiant = { ...accentText, - fontSize: 50 / fontRatio, + fontSize: sizes.icon / fontRatio, } const accentTextHuge = { -- GitLab