/** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ 'use strict'; const Platform = require('Platform'); const React = require('React'); const SafeAreaView = require('SafeAreaView'); const StyleSheet = require('StyleSheet'); const Text = require('Text'); const UTFSequence = require('UTFSequence'); const View = require('View'); const YellowBoxPressable = require('YellowBoxPressable'); const YellowBoxStyle = require('YellowBoxStyle'); import type YellowBoxWarning from 'YellowBoxWarning'; type Props = $ReadOnly<{| onSelectIndex: (selectedIndex: number) => void, selectedIndex: number, warnings: $ReadOnlyArray, |}>; const YellowBoxInspectorHeader = (props: Props): React.Node => { const prevIndex = props.selectedIndex - 1; const nextIndex = props.selectedIndex + 1; const titleText = props.warnings.length === 1 ? 'Single Occurrence' : `Occurrence ${props.selectedIndex + 1} of ${props.warnings.length}`; return ( props.onSelectIndex(prevIndex)} /> {titleText} props.onSelectIndex(nextIndex)} /> ); }; const YellowBoxInspectorHeaderButton = ( props: $ReadOnly<{| disabled: boolean, label: React.Node, onPress?: ?() => void, |}>, ): React.Node => ( {props.disabled ? null : ( {props.label} )} ); const styles = StyleSheet.create({ root: { backgroundColor: YellowBoxStyle.getBackgroundColor(0.95), }, header: { flexDirection: 'row', height: Platform.select({ android: 48, ios: 44, }), }, headerButton: { alignItems: 'center', aspectRatio: 1, justifyContent: 'center', }, headerButtonText: { color: YellowBoxStyle.getTextColor(1), fontSize: 16, includeFontPadding: false, lineHeight: 20, }, headerTitle: { alignItems: 'center', flex: 1, justifyContent: 'center', }, headerTitleText: { color: YellowBoxStyle.getTextColor(1), fontSize: 16, fontWeight: '600', includeFontPadding: false, lineHeight: 20, }, }); module.exports = YellowBoxInspectorHeader;