@thiendangit1102/rn-typescript-graphql
Version:
React Native TypeScript Apollo Graphql Boilerplate
19 lines (15 loc) • 758 B
text/typescript
import {Dimensions} from 'react-native';
const {width, height} = Dimensions.get('window');
const [shortDimension, longDimension] =
width < height ? [width, height] : [height, width];
// Guideline sizes are based on standard ~5" screen mobile device
const guidelineBaseWidth = 350;
const guidelineBaseHeight = 680;
const scale = (size: number) => (shortDimension / guidelineBaseWidth) * size;
const verticalScale = (size: number) =>
(longDimension / guidelineBaseHeight) * size;
const moderateScale = (size: number, factor = 0.5) =>
size + (scale(size) - size) * factor;
const moderateVerticalScale = (size: number, factor = 0.5) =>
size + (verticalScale(size) - size) * factor;
export {moderateScale, moderateVerticalScale, scale, verticalScale};