172a4e1f4Smaotoumaoimport React from 'react'; 272a4e1f4Smaotoumaoimport {StyleSheet} from 'react-native'; 372a4e1f4Smaotoumaoimport rpx from '@/utils/rpx'; 472a4e1f4Smaotoumaoimport ActionButton from '../ActionButton'; 5*b4c389f4Smaotoumaoimport {ROUTE_PATH, useNavigate} from '@/core/router'; 672a4e1f4Smaotoumaoimport {ScrollView} from 'react-native-gesture-handler'; 772a4e1f4Smaotoumao 872a4e1f4Smaotoumaoexport default function Operations() { 972a4e1f4Smaotoumao const navigate = useNavigate(); 1072a4e1f4Smaotoumao 1172a4e1f4Smaotoumao const actionButtons = [ 1272a4e1f4Smaotoumao { 1372a4e1f4Smaotoumao iconName: 'fire', 1472a4e1f4Smaotoumao title: '推荐歌单', 1572a4e1f4Smaotoumao action() { 1672a4e1f4Smaotoumao navigate(ROUTE_PATH.RECOMMEND_SHEETS); 1772a4e1f4Smaotoumao }, 1872a4e1f4Smaotoumao }, 1972a4e1f4Smaotoumao { 2072a4e1f4Smaotoumao iconName: 'trophy', 2172a4e1f4Smaotoumao title: '榜单', 2272a4e1f4Smaotoumao action() { 2372a4e1f4Smaotoumao navigate(ROUTE_PATH.TOP_LIST); 2472a4e1f4Smaotoumao }, 2572a4e1f4Smaotoumao }, 2672a4e1f4Smaotoumao { 2772a4e1f4Smaotoumao iconName: 'clock-outline', 2872a4e1f4Smaotoumao title: '播放记录', 2972a4e1f4Smaotoumao action() { 3072a4e1f4Smaotoumao navigate(ROUTE_PATH.HISTORY); 3172a4e1f4Smaotoumao }, 3272a4e1f4Smaotoumao }, 3372a4e1f4Smaotoumao { 3472a4e1f4Smaotoumao iconName: 'folder-music-outline', 3572a4e1f4Smaotoumao title: '本地音乐', 3672a4e1f4Smaotoumao action() { 3772a4e1f4Smaotoumao navigate(ROUTE_PATH.LOCAL); 3872a4e1f4Smaotoumao }, 3972a4e1f4Smaotoumao }, 4072a4e1f4Smaotoumao ] as const; 4172a4e1f4Smaotoumao 4272a4e1f4Smaotoumao return ( 4372a4e1f4Smaotoumao <ScrollView style={styles.container}> 4472a4e1f4Smaotoumao {actionButtons.map((action, index) => ( 4572a4e1f4Smaotoumao <ActionButton 4672a4e1f4Smaotoumao style={[ 4772a4e1f4Smaotoumao styles.actionButtonStyle, 4872a4e1f4Smaotoumao index % 4 ? styles.actionMarginLeft : null, 4972a4e1f4Smaotoumao ]} 5072a4e1f4Smaotoumao key={action.title} 5172a4e1f4Smaotoumao {...action} 5272a4e1f4Smaotoumao /> 5372a4e1f4Smaotoumao ))} 5472a4e1f4Smaotoumao </ScrollView> 5572a4e1f4Smaotoumao ); 5672a4e1f4Smaotoumao} 5772a4e1f4Smaotoumao 5872a4e1f4Smaotoumaoconst styles = StyleSheet.create({ 5972a4e1f4Smaotoumao container: { 6072a4e1f4Smaotoumao width: rpx(200), 6172a4e1f4Smaotoumao flexGrow: 0, 6272a4e1f4Smaotoumao flexShrink: 0, 6372a4e1f4Smaotoumao paddingHorizontal: rpx(24), 6472a4e1f4Smaotoumao marginVertical: rpx(32), 6572a4e1f4Smaotoumao flexDirection: 'row', 6672a4e1f4Smaotoumao flexWrap: 'wrap', 6772a4e1f4Smaotoumao }, 6872a4e1f4Smaotoumao actionButtonStyle: { 6972a4e1f4Smaotoumao width: rpx(157.5), 7072a4e1f4Smaotoumao height: rpx(160), 7172a4e1f4Smaotoumao borderRadius: rpx(18), 7272a4e1f4Smaotoumao }, 7372a4e1f4Smaotoumao actionMarginLeft: { 7472a4e1f4Smaotoumao marginTop: rpx(24), 7572a4e1f4Smaotoumao }, 7672a4e1f4Smaotoumao}); 77