xref: /MusicFree/src/components/mediaItem/sheetItem.tsx (revision ceb900cd812eb1b086ac040a306ddf325339e920)
1*ceb900cdS猫头猫import React from 'react';
2*ceb900cdS猫头猫import {StyleSheet, View} from 'react-native';
3*ceb900cdS猫头猫import rpx from '@/utils/rpx';
4*ceb900cdS猫头猫import {ROUTE_PATH, useNavigate} from '@/entry/router';
5*ceb900cdS猫头猫import ImageBtn from '../base/imageBtn';
6*ceb900cdS猫头猫
7*ceb900cdS猫头猫interface ISheetItemProps {
8*ceb900cdS猫头猫    pluginHash: string;
9*ceb900cdS猫头猫    sheetInfo: IMusic.IMusicSheetItemBase;
10*ceb900cdS猫头猫}
11*ceb900cdS猫头猫
12*ceb900cdS猫头猫const marginBottom = rpx(16);
13*ceb900cdS猫头猫
14*ceb900cdS猫头猫export default function SheetItem(props: ISheetItemProps) {
15*ceb900cdS猫头猫    const {sheetInfo, pluginHash} = props ?? {};
16*ceb900cdS猫头猫    const navigate = useNavigate();
17*ceb900cdS猫头猫    return (
18*ceb900cdS猫头猫        <View style={style.imageWrapper}>
19*ceb900cdS猫头猫            <ImageBtn
20*ceb900cdS猫头猫                style={{
21*ceb900cdS猫头猫                    marginBottom,
22*ceb900cdS猫头猫                }}
23*ceb900cdS猫头猫                uri={sheetInfo.artwork}
24*ceb900cdS猫头猫                title={sheetInfo.title}
25*ceb900cdS猫头猫                onPress={() => {
26*ceb900cdS猫头猫                    navigate(ROUTE_PATH.PLUGIN_SHEET_DETAIL, {
27*ceb900cdS猫头猫                        pluginHash,
28*ceb900cdS猫头猫                        sheetInfo,
29*ceb900cdS猫头猫                    });
30*ceb900cdS猫头猫                }}
31*ceb900cdS猫头猫            />
32*ceb900cdS猫头猫        </View>
33*ceb900cdS猫头猫    );
34*ceb900cdS猫头猫}
35*ceb900cdS猫头猫const style = StyleSheet.create({
36*ceb900cdS猫头猫    imageWrapper: {
37*ceb900cdS猫头猫        width: '100%',
38*ceb900cdS猫头猫        justifyContent: 'center',
39*ceb900cdS猫头猫        alignItems: 'center',
40*ceb900cdS猫头猫    },
41*ceb900cdS猫头猫});
42