xref: /MusicFree/src/pages/home/components/homeBody/operations.tsx (revision f90698e4f487034964a52e83e0bbca6e7a56aaa5)
1*f90698e4S猫头猫import React from 'react';
2*f90698e4S猫头猫import {StyleSheet, View} from 'react-native';
3*f90698e4S猫头猫import rpx from '@/utils/rpx';
4*f90698e4S猫头猫import ActionButton from '../ActionButton';
5*f90698e4S猫头猫import {ROUTE_PATH, useNavigate} from '@/entry/router';
6*f90698e4S猫头猫
7*f90698e4S猫头猫export default function Operations() {
8*f90698e4S猫头猫    const navigate = useNavigate();
9*f90698e4S猫头猫
10*f90698e4S猫头猫    const actionButtons = [
11*f90698e4S猫头猫        {
12*f90698e4S猫头猫            iconName: 'fire',
13*f90698e4S猫头猫            title: '推荐歌单',
14*f90698e4S猫头猫            action() {
15*f90698e4S猫头猫                navigate(ROUTE_PATH.RECOMMEND_SHEETS);
16*f90698e4S猫头猫            },
17*f90698e4S猫头猫        },
18*f90698e4S猫头猫        {
19*f90698e4S猫头猫            iconName: 'trophy-outline',
20*f90698e4S猫头猫            title: '榜单',
21*f90698e4S猫头猫            action() {
22*f90698e4S猫头猫                navigate(ROUTE_PATH.TOP_LIST);
23*f90698e4S猫头猫            },
24*f90698e4S猫头猫        },
25*f90698e4S猫头猫        {
26*f90698e4S猫头猫            iconName: 'history',
27*f90698e4S猫头猫            title: '播放记录',
28*f90698e4S猫头猫            action() {
29*f90698e4S猫头猫                navigate(ROUTE_PATH.HISTORY);
30*f90698e4S猫头猫            },
31*f90698e4S猫头猫        },
32*f90698e4S猫头猫        {
33*f90698e4S猫头猫            iconName: 'folder-music-outline',
34*f90698e4S猫头猫            title: '本地音乐',
35*f90698e4S猫头猫            action() {
36*f90698e4S猫头猫                navigate(ROUTE_PATH.LOCAL);
37*f90698e4S猫头猫            },
38*f90698e4S猫头猫        },
39*f90698e4S猫头猫    ];
40*f90698e4S猫头猫
41*f90698e4S猫头猫    return (
42*f90698e4S猫头猫        <View style={styles.container}>
43*f90698e4S猫头猫            {actionButtons.map((action, index) => (
44*f90698e4S猫头猫                <ActionButton
45*f90698e4S猫头猫                    style={[
46*f90698e4S猫头猫                        styles.actionButtonStyle,
47*f90698e4S猫头猫                        index % 4 ? styles.actionMarginLeft : null,
48*f90698e4S猫头猫                    ]}
49*f90698e4S猫头猫                    key={action.title}
50*f90698e4S猫头猫                    {...action}
51*f90698e4S猫头猫                />
52*f90698e4S猫头猫            ))}
53*f90698e4S猫头猫        </View>
54*f90698e4S猫头猫    );
55*f90698e4S猫头猫}
56*f90698e4S猫头猫
57*f90698e4S猫头猫const styles = StyleSheet.create({
58*f90698e4S猫头猫    container: {
59*f90698e4S猫头猫        width: rpx(750),
60*f90698e4S猫头猫        paddingHorizontal: rpx(24),
61*f90698e4S猫头猫        marginVertical: rpx(32),
62*f90698e4S猫头猫        flexDirection: 'row',
63*f90698e4S猫头猫        flexWrap: 'wrap',
64*f90698e4S猫头猫    },
65*f90698e4S猫头猫    actionButtonStyle: {
66*f90698e4S猫头猫        width: rpx(157.5),
67*f90698e4S猫头猫        height: rpx(160),
68*f90698e4S猫头猫        borderRadius: rpx(18),
69*f90698e4S猫头猫    },
70*f90698e4S猫头猫    actionMarginLeft: {
71*f90698e4S猫头猫        marginLeft: rpx(24),
72*f90698e4S猫头猫    },
73*f90698e4S猫头猫});
74