xref: /MusicFree/src/pages/musicDetail/components/navBar.tsx (revision 4245d81a9a741421473053d7d0f9fd4c9b4b444e)
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';
93b3d6357S猫头猫import Share from 'react-native-share';
103b3d6357S猫头猫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}>
32*4245d81aS猫头猫                    <Text style={style.headerArtistText} numberOfLines={1}>
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)}
443b3d6357S猫头猫                onPress={async () => {
453b3d6357S猫头猫                    try {
463b3d6357S猫头猫                        await Share.open({
473b3d6357S猫头猫                            type: 'image/jpeg',
483b3d6357S猫头猫                            title: 'MusicFree-一个插件化的免费音乐播放器',
493b3d6357S猫头猫                            message: 'MusicFree-一个插件化的免费音乐播放器',
503b3d6357S猫头猫                            url: B64Asset.share,
513b3d6357S猫头猫                            subject: 'MusicFree分享',
523b3d6357S猫头猫                        });
533b3d6357S猫头猫                    } catch {}
544060c00aS猫头猫                }}
554060c00aS猫头猫            />
56bf6e62f2S猫头猫        </View>
57bf6e62f2S猫头猫    );
58bf6e62f2S猫头猫}
59bf6e62f2S猫头猫
60bf6e62f2S猫头猫const style = StyleSheet.create({
61bf6e62f2S猫头猫    wrapper: {
62*4245d81aS猫头猫        width: '100%',
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猫头猫    },
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',
85*4245d81aS猫头猫        paddingHorizontal: rpx(40),
86bf6e62f2S猫头猫    },
87bf6e62f2S猫头猫    headerArtistText: {
88bf6e62f2S猫头猫        color: 'white',
89ec26b768S猫头猫        fontSize: fontSizeConst.subTitle,
90bf6e62f2S猫头猫        includeFontPadding: false,
91bf6e62f2S猫头猫    },
92bf6e62f2S猫头猫});
93