172dabe5bS猫头猫import React from 'react'; 2*1131451eS猫头猫import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'; 372dabe5bS猫头猫import rpx from '@/utils/rpx'; 472dabe5bS猫头猫import {TouchableOpacity} from 'react-native-gesture-handler'; 572dabe5bS猫头猫import ThemeText from '@/components/base/themeText'; 672dabe5bS猫头猫import Divider from '@/components/base/divider'; 772dabe5bS猫头猫 872dabe5bS猫头猫interface IPanelHeaderProps { 972dabe5bS猫头猫 title: string; 1072dabe5bS猫头猫 cancelText?: string; 1172dabe5bS猫头猫 okText?: string; 1272dabe5bS猫头猫 onCancel?: () => void; 1372dabe5bS猫头猫 onOk?: () => void; 1472dabe5bS猫头猫 hideButtons?: boolean; 1572dabe5bS猫头猫 hideDivider?: boolean; 16*1131451eS猫头猫 style?: StyleProp<ViewStyle>; 1772dabe5bS猫头猫} 1872dabe5bS猫头猫export default function PanelHeader(props: IPanelHeaderProps) { 1972dabe5bS猫头猫 const { 2072dabe5bS猫头猫 title, 2172dabe5bS猫头猫 cancelText, 2272dabe5bS猫头猫 okText, 2372dabe5bS猫头猫 onOk, 2472dabe5bS猫头猫 onCancel, 2572dabe5bS猫头猫 hideButtons, 2672dabe5bS猫头猫 hideDivider, 27*1131451eS猫头猫 style, 2872dabe5bS猫头猫 } = props; 2972dabe5bS猫头猫 3072dabe5bS猫头猫 return ( 3172dabe5bS猫头猫 <> 32*1131451eS猫头猫 <View style={[styles.header, style]}> 3372dabe5bS猫头猫 {hideButtons ? null : ( 3472dabe5bS猫头猫 <TouchableOpacity style={styles.button} onPress={onCancel}> 3572dabe5bS猫头猫 <ThemeText fontWeight="medium"> 3672dabe5bS猫头猫 {cancelText || '取消'} 3772dabe5bS猫头猫 </ThemeText> 3872dabe5bS猫头猫 </TouchableOpacity> 3972dabe5bS猫头猫 )} 4072dabe5bS猫头猫 <ThemeText 4172dabe5bS猫头猫 style={styles.title} 4272dabe5bS猫头猫 fontWeight="bold" 4372dabe5bS猫头猫 fontSize="title" 4472dabe5bS猫头猫 numberOfLines={1}> 4572dabe5bS猫头猫 {title} 4672dabe5bS猫头猫 </ThemeText> 4772dabe5bS猫头猫 {hideButtons ? null : ( 4872dabe5bS猫头猫 <TouchableOpacity 4972dabe5bS猫头猫 style={[styles.button, styles.rightButton]} 5072dabe5bS猫头猫 onPress={onOk}> 5172dabe5bS猫头猫 <ThemeText fontWeight="medium" fontColor="primary"> 5272dabe5bS猫头猫 {okText || '确认'} 5372dabe5bS猫头猫 </ThemeText> 5472dabe5bS猫头猫 </TouchableOpacity> 5572dabe5bS猫头猫 )} 5672dabe5bS猫头猫 </View> 5772dabe5bS猫头猫 {hideDivider ? null : <Divider />} 5872dabe5bS猫头猫 </> 5972dabe5bS猫头猫 ); 6072dabe5bS猫头猫} 6172dabe5bS猫头猫 6272dabe5bS猫头猫const styles = StyleSheet.create({ 6372dabe5bS猫头猫 header: { 6472dabe5bS猫头猫 width: '100%', 6572dabe5bS猫头猫 flexDirection: 'row', 6672dabe5bS猫头猫 alignItems: 'center', 6772dabe5bS猫头猫 paddingHorizontal: rpx(24), 6872dabe5bS猫头猫 height: rpx(100), 6972dabe5bS猫头猫 }, 7072dabe5bS猫头猫 button: { 7172dabe5bS猫头猫 width: rpx(120), 7272dabe5bS猫头猫 height: '100%', 7372dabe5bS猫头猫 justifyContent: 'center', 7472dabe5bS猫头猫 }, 7572dabe5bS猫头猫 rightButton: { 7672dabe5bS猫头猫 alignItems: 'flex-end', 7772dabe5bS猫头猫 }, 7872dabe5bS猫头猫 title: { 7972dabe5bS猫头猫 flex: 1, 8072dabe5bS猫头猫 textAlign: 'center', 8172dabe5bS猫头猫 }, 8272dabe5bS猫头猫}); 83