diff --git a/app/constants/colors.js b/app/constants/colors.ts similarity index 99% rename from app/constants/colors.js rename to app/constants/colors.ts index 1172b4bc9..53b723cbf 100644 --- a/app/constants/colors.js +++ b/app/constants/colors.ts @@ -19,7 +19,7 @@ const mentions = { mentionOtherColor: '#F3BE08' }; -export const themes = { +export const themes: any = { light: { backgroundColor: '#ffffff', focusedBackground: '#ffffff', diff --git a/app/containers/HeaderButton/Common.js b/app/containers/HeaderButton/Common.tsx similarity index 52% rename from app/containers/HeaderButton/Common.js rename to app/containers/HeaderButton/Common.tsx index a1d55bd4e..7d0ed587c 100644 --- a/app/containers/HeaderButton/Common.js +++ b/app/containers/HeaderButton/Common.tsx @@ -1,27 +1,30 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { isIOS } from '../../utils/deviceInfo'; import I18n from '../../i18n'; import Container from './HeaderButtonContainer'; import Item from './HeaderButtonItem'; +interface IHeaderButtonCommon { + navigation: any; + onPress(): void; + testID: string; +} + // Left -export const Drawer = React.memo(({ navigation, testID, ...props }) => ( +export const Drawer = React.memo(({ navigation, testID, ...props }: Partial) => ( navigation.toggleDrawer()} testID={testID} {...props} /> )); -export const CloseModal = React.memo(({ - navigation, testID, onPress = () => navigation.pop(), ...props -}) => ( +export const CloseModal = React.memo(({navigation, testID, onPress = () => navigation.pop(), ...props}: IHeaderButtonCommon) => ( )); -export const CancelModal = React.memo(({ onPress, testID }) => ( +export const CancelModal = React.memo(({ onPress, testID }: Partial) => ( {isIOS ? @@ -31,54 +34,24 @@ export const CancelModal = React.memo(({ onPress, testID }) => ( )); // Right -export const More = React.memo(({ onPress, testID }) => ( +export const More = React.memo(({ onPress, testID }: Partial) => ( )); -export const Download = React.memo(({ onPress, testID, ...props }) => ( +export const Download = React.memo(({ onPress, testID, ...props }: Partial) => ( )); -export const Preferences = React.memo(({ onPress, testID, ...props }) => ( +export const Preferences = React.memo(({ onPress, testID, ...props }: Partial) => ( )); -export const Legal = React.memo(({ navigation, testID }) => ( +export const Legal = React.memo(({ navigation, testID }: Partial) => ( navigation.navigate('LegalView')} testID={testID} /> )); - -Drawer.propTypes = { - navigation: PropTypes.object.isRequired, - testID: PropTypes.string.isRequired -}; -CloseModal.propTypes = { - navigation: PropTypes.object.isRequired, - testID: PropTypes.string.isRequired, - onPress: PropTypes.func -}; -CancelModal.propTypes = { - onPress: PropTypes.func.isRequired, - testID: PropTypes.string.isRequired -}; -More.propTypes = { - onPress: PropTypes.func.isRequired, - testID: PropTypes.string.isRequired -}; -Download.propTypes = { - onPress: PropTypes.func.isRequired, - testID: PropTypes.string.isRequired -}; -Preferences.propTypes = { - onPress: PropTypes.func.isRequired, - testID: PropTypes.string.isRequired -}; -Legal.propTypes = { - navigation: PropTypes.object.isRequired, - testID: PropTypes.string.isRequired -}; diff --git a/app/containers/HeaderButton/HeaderButtonContainer.js b/app/containers/HeaderButton/HeaderButtonContainer.tsx similarity index 66% rename from app/containers/HeaderButton/HeaderButtonContainer.js rename to app/containers/HeaderButton/HeaderButtonContainer.tsx index 1521faa95..3f704ebdc 100644 --- a/app/containers/HeaderButton/HeaderButtonContainer.js +++ b/app/containers/HeaderButton/HeaderButtonContainer.tsx @@ -1,6 +1,10 @@ import React from 'react'; import { View, StyleSheet } from 'react-native'; -import PropTypes from 'prop-types'; + +interface IHeaderButtonContainer { + children: JSX.Element; + left?: boolean; +} const styles = StyleSheet.create({ container: { @@ -16,21 +20,12 @@ const styles = StyleSheet.create({ } }); -const Container = ({ children, left }) => ( +const Container = ({ children, left }: IHeaderButtonContainer) => ( {children} ); -Container.propTypes = { - children: PropTypes.arrayOf(PropTypes.element), - left: PropTypes.bool -}; - -Container.defaultProps = { - left: false -}; - Container.displayName = 'HeaderButton.Container'; export default Container; diff --git a/app/containers/HeaderButton/HeaderButtonItem.js b/app/containers/HeaderButton/HeaderButtonItem.tsx similarity index 78% rename from app/containers/HeaderButton/HeaderButtonItem.js rename to app/containers/HeaderButton/HeaderButtonItem.tsx index 5e9bb8631..5688953ff 100644 --- a/app/containers/HeaderButton/HeaderButtonItem.js +++ b/app/containers/HeaderButton/HeaderButtonItem.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { Text, StyleSheet, Platform } from 'react-native'; -import PropTypes from 'prop-types'; import Touchable from 'react-native-platform-touchable'; import { CustomIcon } from '../../lib/Icons'; @@ -8,6 +7,15 @@ import { withTheme } from '../../theme'; import { themes } from '../../constants/colors'; import sharedStyles from '../../views/Styles'; +interface IHeaderButtonItem { + title: string; + iconName: string; + onPress(): void; + testID: string; + theme: string; + badge(): void; +} + export const BUTTON_HIT_SLOP = { top: 5, right: 5, bottom: 5, left: 5 }; @@ -29,9 +37,7 @@ const styles = StyleSheet.create({ } }); -const Item = ({ - title, iconName, onPress, testID, theme, badge -}) => ( +const Item = ({title, iconName, onPress, testID, theme, badge}: IHeaderButtonItem) => ( <> { @@ -44,15 +50,6 @@ const Item = ({ ); -Item.propTypes = { - onPress: PropTypes.func.isRequired, - title: PropTypes.string, - iconName: PropTypes.string, - testID: PropTypes.string, - theme: PropTypes.string, - badge: PropTypes.func -}; - Item.displayName = 'HeaderButton.Item'; export default withTheme(Item); diff --git a/app/containers/HeaderButton/HeaderButtonItemBadge.js b/app/containers/HeaderButton/HeaderButtonItemBadge.tsx similarity index 100% rename from app/containers/HeaderButton/HeaderButtonItemBadge.js rename to app/containers/HeaderButton/HeaderButtonItemBadge.tsx diff --git a/app/containers/HeaderButton/index.js b/app/containers/HeaderButton/index.ts similarity index 100% rename from app/containers/HeaderButton/index.js rename to app/containers/HeaderButton/index.ts