xref: /MusicFree/src/pages/musicDetail/components/navBar.tsx (revision 3b3d635780587a33a7dddaf7f5758aac0125f022)
14060c00aS猫头猫import React from 'react';
24060c00aS猫头猫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';
9*3b3d6357S猫头猫import Share from 'react-native-share';
10*3b3d6357S猫头猫import {B64Asset} from '@/constants/assetsConst';
11bf6e62f2S猫头猫
124060c00aS猫头猫export default function NavBar() {
13bf6e62f2S猫头猫    const navigation = useNavigation();
14bf6e62f2S猫头猫    const musicItem = MusicQueue.useCurrentMusicItem();
15b882a19dS猫头猫    // const {showShare} = useShare();
16bf6e62f2S猫头猫
17bf6e62f2S猫头猫    return (
18bf6e62f2S猫头猫        <View style={style.wrapper}>
19bf6e62f2S猫头猫            <IconButton
20bf6e62f2S猫头猫                icon="arrow-left"
21bf6e62f2S猫头猫                size={rpx(48)}
22bf6e62f2S猫头猫                color="white"
23bf6e62f2S猫头猫                onPress={() => {
24bf6e62f2S猫头猫                    navigation.goBack();
254060c00aS猫头猫                }}
264060c00aS猫头猫            />
27bf6e62f2S猫头猫            <View style={style.headerContent}>
28bf6e62f2S猫头猫                <Text numberOfLines={1} style={style.headerTitleText}>
292c595535S猫头猫                    {musicItem?.title ?? '无音乐'}
30bf6e62f2S猫头猫                </Text>
31bf6e62f2S猫头猫                <View style={style.headerDesc}>
324060c00aS猫头猫                    <Text style={style.headerArtistText}>
334060c00aS猫头猫                        {musicItem?.artist}
344060c00aS猫头猫                    </Text>
352c595535S猫头猫                    {musicItem?.platform ? (
362c595535S猫头猫                        <Tag tagName={musicItem.platform} />
372c595535S猫头猫                    ) : null}
38bf6e62f2S猫头猫                </View>
39bf6e62f2S猫头猫            </View>
40d1f226e6S猫头猫            <IconButton
41d1f226e6S猫头猫                icon="share"
42d1f226e6S猫头猫                color="white"
43d1f226e6S猫头猫                size={rpx(48)}
44*3b3d6357S猫头猫                onPress={async () => {
45*3b3d6357S猫头猫                    try {
46*3b3d6357S猫头猫                        await Share.open({
47*3b3d6357S猫头猫                            type: 'image/jpeg',
48*3b3d6357S猫头猫                            title: 'MusicFree-一个插件化的免费音乐播放器',
49*3b3d6357S猫头猫                            message: 'MusicFree-一个插件化的免费音乐播放器',
50*3b3d6357S猫头猫                            url: B64Asset.share,
51*3b3d6357S猫头猫                            subject: 'MusicFree分享',
52*3b3d6357S猫头猫                        });
53*3b3d6357S猫头猫                    } catch {}
544060c00aS猫头猫                }}
554060c00aS猫头猫            />
56bf6e62f2S猫头猫        </View>
57bf6e62f2S猫头猫    );
58bf6e62f2S猫头猫}
59bf6e62f2S猫头猫
60bf6e62f2S猫头猫const style = StyleSheet.create({
61bf6e62f2S猫头猫    wrapper: {
62bf6e62f2S猫头猫        width: rpx(750),
63bf6e62f2S猫头猫        height: rpx(150),
64bf6e62f2S猫头猫        flexDirection: 'row',
65bf6e62f2S猫头猫        alignItems: 'center',
66bf6e62f2S猫头猫        justifyContent: 'space-between',
67bf6e62f2S猫头猫    },
68bf6e62f2S猫头猫    headerContent: {
69bf6e62f2S猫头猫        flex: 1,
70bf6e62f2S猫头猫        height: rpx(150),
71bf6e62f2S猫头猫        justifyContent: 'center',
72bf6e62f2S猫头猫        alignItems: 'center',
73bf6e62f2S猫头猫        maxWidth: rpx(640),
74bf6e62f2S猫头猫    },
75bf6e62f2S猫头猫    headerTitleText: {
76bf6e62f2S猫头猫        color: 'white',
77ec26b768S猫头猫        fontWeight: fontWeightConst.semibold,
78ec26b768S猫头猫        fontSize: fontSizeConst.title,
79bf6e62f2S猫头猫        marginBottom: rpx(12),
80bf6e62f2S猫头猫        includeFontPadding: false,
81bf6e62f2S猫头猫    },
82bf6e62f2S猫头猫    headerDesc: {
83bf6e62f2S猫头猫        height: rpx(32),
84bf6e62f2S猫头猫        flexDirection: 'row',
85bf6e62f2S猫头猫        alignItems: 'center',
86bf6e62f2S猫头猫    },
87bf6e62f2S猫头猫    headerArtistText: {
88bf6e62f2S猫头猫        color: 'white',
89ec26b768S猫头猫        fontSize: fontSizeConst.subTitle,
90bf6e62f2S猫头猫        includeFontPadding: false,
9106cd87b5S猫头猫        maxWidth: rpx(540),
92bf6e62f2S猫头猫    },
93bf6e62f2S猫头猫});
94