xref: /MusicFree/src/pages/musicDetail/components/navBar.tsx (revision 4060c00a75883036bbd315fb25c90065209312b3)
1*4060c00aS猫头猫import React from 'react';
2*4060c00aS猫头猫import {StyleSheet, Text, View} from 'react-native';
3bf6e62f2S猫头猫import rpx from '@/utils/rpx';
4bf6e62f2S猫头猫import {IconButton} from 'react-native-paper';
5242960d3S猫头猫import MusicQueue from '@/core/musicQueue';
6bf6e62f2S猫头猫import {useNavigation} from '@react-navigation/native';
719dc08ecS猫头猫import Tag from '@/components/base/tag';
8bf6e62f2S猫头猫import {fontSizeConst, fontWeightConst} from '@/constants/uiConst';
9d1f226e6S猫头猫import useShare from '@/components/share/useShare';
10bf6e62f2S猫头猫
11*4060c00aS猫头猫export default function NavBar() {
12bf6e62f2S猫头猫    const navigation = useNavigation();
13bf6e62f2S猫头猫    const musicItem = MusicQueue.useCurrentMusicItem();
14d1f226e6S猫头猫    const {showShare} = useShare();
15bf6e62f2S猫头猫
16bf6e62f2S猫头猫    return (
17bf6e62f2S猫头猫        <View style={style.wrapper}>
18bf6e62f2S猫头猫            <IconButton
19bf6e62f2S猫头猫                icon="arrow-left"
20bf6e62f2S猫头猫                size={rpx(48)}
21bf6e62f2S猫头猫                color="white"
22bf6e62f2S猫头猫                onPress={() => {
23bf6e62f2S猫头猫                    navigation.goBack();
24*4060c00aS猫头猫                }}
25*4060c00aS猫头猫            />
26bf6e62f2S猫头猫            <View style={style.headerContent}>
27bf6e62f2S猫头猫                <Text numberOfLines={1} style={style.headerTitleText}>
28bf6e62f2S猫头猫                    {musicItem?.title ?? ''}
29bf6e62f2S猫头猫                </Text>
30bf6e62f2S猫头猫                <View style={style.headerDesc}>
31*4060c00aS猫头猫                    <Text style={style.headerArtistText}>
32*4060c00aS猫头猫                        {musicItem?.artist}
33*4060c00aS猫头猫                    </Text>
34*4060c00aS猫头猫                    <Tag tagName={musicItem?.platform ?? ''} />
35bf6e62f2S猫头猫                </View>
36bf6e62f2S猫头猫            </View>
37d1f226e6S猫头猫            <IconButton
38d1f226e6S猫头猫                icon="share"
39d1f226e6S猫头猫                color="white"
40d1f226e6S猫头猫                size={rpx(48)}
41d1f226e6S猫头猫                onPress={() => {
42d1f226e6S猫头猫                    showShare({
43d1f226e6S猫头猫                        content: {
44d1f226e6S猫头猫                            type: 'ShareMusic',
45d1f226e6S猫头猫                            track: {
46d1f226e6S猫头猫                                id: musicItem?.id,
47*4060c00aS猫头猫                                platform: musicItem?.platform,
48d1f226e6S猫头猫                            },
49d1f226e6S猫头猫                        },
50d1f226e6S猫头猫                        title: musicItem?.title,
51d1f226e6S猫头猫                        desc: musicItem?.artist,
52d1f226e6S猫头猫                    });
53*4060c00aS猫头猫                }}
54*4060c00aS猫头猫            />
55bf6e62f2S猫头猫        </View>
56bf6e62f2S猫头猫    );
57bf6e62f2S猫头猫}
58bf6e62f2S猫头猫
59bf6e62f2S猫头猫const style = StyleSheet.create({
60bf6e62f2S猫头猫    wrapper: {
61bf6e62f2S猫头猫        width: rpx(750),
62bf6e62f2S猫头猫        height: rpx(150),
63bf6e62f2S猫头猫        flexDirection: 'row',
64bf6e62f2S猫头猫        alignItems: 'center',
65bf6e62f2S猫头猫        justifyContent: 'space-between',
66bf6e62f2S猫头猫    },
67bf6e62f2S猫头猫    headerContent: {
68bf6e62f2S猫头猫        flex: 1,
69bf6e62f2S猫头猫        height: rpx(150),
70bf6e62f2S猫头猫        justifyContent: 'center',
71bf6e62f2S猫头猫        alignItems: 'center',
72bf6e62f2S猫头猫        maxWidth: rpx(640),
73bf6e62f2S猫头猫    },
74bf6e62f2S猫头猫    headerTitleText: {
75bf6e62f2S猫头猫        color: 'white',
76ec26b768S猫头猫        fontWeight: fontWeightConst.semibold,
77ec26b768S猫头猫        fontSize: fontSizeConst.title,
78bf6e62f2S猫头猫        marginBottom: rpx(12),
79bf6e62f2S猫头猫        includeFontPadding: false,
80bf6e62f2S猫头猫    },
81bf6e62f2S猫头猫    headerDesc: {
82bf6e62f2S猫头猫        height: rpx(32),
83bf6e62f2S猫头猫        flexDirection: 'row',
84bf6e62f2S猫头猫        alignItems: 'center',
85bf6e62f2S猫头猫    },
86bf6e62f2S猫头猫    headerArtistText: {
87bf6e62f2S猫头猫        color: 'white',
88ec26b768S猫头猫        fontSize: fontSizeConst.subTitle,
89bf6e62f2S猫头猫        includeFontPadding: false,
90bf6e62f2S猫头猫    },
91bf6e62f2S猫头猫});
92