xref: /MusicFree/src/pages/musicDetail/components/navBar.tsx (revision 3e16969fd66036b01713af59d5042aebb82fd2a6)
14060c00aS猫头猫import React from 'react';
24060c00aS猫头猫import {StyleSheet, Text, View} from 'react-native';
3bf6e62f2S猫头猫import rpx from '@/utils/rpx';
4bf6e62f2S猫头猫import {useNavigation} from '@react-navigation/native';
519dc08ecS猫头猫import Tag from '@/components/base/tag';
6bf6e62f2S猫头猫import {fontSizeConst, fontWeightConst} from '@/constants/uiConst';
73b3d6357S猫头猫import Share from 'react-native-share';
83b3d6357S猫头猫import {B64Asset} from '@/constants/assetsConst';
9e650bfb3S猫头猫import IconButton from '@/components/base/iconButton';
105500cea7S猫头猫import TrackPlayer from '@/core/trackPlayer';
11bf6e62f2S猫头猫
124060c00aS猫头猫export default function NavBar() {
13bf6e62f2S猫头猫    const navigation = useNavigation();
145500cea7S猫头猫    const musicItem = TrackPlayer.useCurrentMusic();
15b882a19dS猫头猫    // const {showShare} = useShare();
16bf6e62f2S猫头猫
17bf6e62f2S猫头猫    return (
18e650bfb3S猫头猫        <View style={styles.container}>
19bf6e62f2S猫头猫            <IconButton
20e650bfb3S猫头猫                name="arrow-left"
21e650bfb3S猫头猫                sizeType={'normal'}
22bf6e62f2S猫头猫                color="white"
23e650bfb3S猫头猫                style={styles.button}
24bf6e62f2S猫头猫                onPress={() => {
25bf6e62f2S猫头猫                    navigation.goBack();
264060c00aS猫头猫                }}
274060c00aS猫头猫            />
28e650bfb3S猫头猫            <View style={styles.headerContent}>
29e650bfb3S猫头猫                <Text numberOfLines={1} style={styles.headerTitleText}>
302c595535S猫头猫                    {musicItem?.title ?? '无音乐'}
31bf6e62f2S猫头猫                </Text>
32e650bfb3S猫头猫                <View style={styles.headerDesc}>
33e650bfb3S猫头猫                    <Text style={styles.headerArtistText} numberOfLines={1}>
344060c00aS猫头猫                        {musicItem?.artist}
354060c00aS猫头猫                    </Text>
362c595535S猫头猫                    {musicItem?.platform ? (
37f973fd13S猫头猫                        <Tag
38f973fd13S猫头猫                            tagName={musicItem.platform}
39f973fd13S猫头猫                            containerStyle={styles.tagBg}
40f973fd13S猫头猫                            style={styles.tagText}
41f973fd13S猫头猫                        />
422c595535S猫头猫                    ) : null}
43bf6e62f2S猫头猫                </View>
44bf6e62f2S猫头猫            </View>
45d1f226e6S猫头猫            <IconButton
46e650bfb3S猫头猫                name="share"
47d1f226e6S猫头猫                color="white"
48*3e16969fS猫头猫                sizeType="normal"
49e650bfb3S猫头猫                style={styles.button}
503b3d6357S猫头猫                onPress={async () => {
513b3d6357S猫头猫                    try {
523b3d6357S猫头猫                        await Share.open({
533b3d6357S猫头猫                            type: 'image/jpeg',
543b3d6357S猫头猫                            title: 'MusicFree-一个插件化的免费音乐播放器',
553b3d6357S猫头猫                            message: 'MusicFree-一个插件化的免费音乐播放器',
563b3d6357S猫头猫                            url: B64Asset.share,
573b3d6357S猫头猫                            subject: 'MusicFree分享',
583b3d6357S猫头猫                        });
593b3d6357S猫头猫                    } catch {}
604060c00aS猫头猫                }}
614060c00aS猫头猫            />
62bf6e62f2S猫头猫        </View>
63bf6e62f2S猫头猫    );
64bf6e62f2S猫头猫}
65bf6e62f2S猫头猫
66e650bfb3S猫头猫const styles = StyleSheet.create({
67e650bfb3S猫头猫    container: {
684245d81aS猫头猫        width: '100%',
69bf6e62f2S猫头猫        height: rpx(150),
70bf6e62f2S猫头猫        flexDirection: 'row',
71bf6e62f2S猫头猫        alignItems: 'center',
72bf6e62f2S猫头猫        justifyContent: 'space-between',
73bf6e62f2S猫头猫    },
74e650bfb3S猫头猫    button: {
75e650bfb3S猫头猫        marginHorizontal: rpx(24),
76e650bfb3S猫头猫    },
77bf6e62f2S猫头猫    headerContent: {
78bf6e62f2S猫头猫        flex: 1,
79bf6e62f2S猫头猫        height: rpx(150),
80bf6e62f2S猫头猫        justifyContent: 'center',
81bf6e62f2S猫头猫        alignItems: 'center',
82bf6e62f2S猫头猫    },
83bf6e62f2S猫头猫    headerTitleText: {
84bf6e62f2S猫头猫        color: 'white',
85ec26b768S猫头猫        fontWeight: fontWeightConst.semibold,
86ec26b768S猫头猫        fontSize: fontSizeConst.title,
87bf6e62f2S猫头猫        marginBottom: rpx(12),
88bf6e62f2S猫头猫        includeFontPadding: false,
89bf6e62f2S猫头猫    },
90bf6e62f2S猫头猫    headerDesc: {
91bf6e62f2S猫头猫        height: rpx(32),
92bf6e62f2S猫头猫        flexDirection: 'row',
93bf6e62f2S猫头猫        alignItems: 'center',
944245d81aS猫头猫        paddingHorizontal: rpx(40),
95bf6e62f2S猫头猫    },
96bf6e62f2S猫头猫    headerArtistText: {
97bf6e62f2S猫头猫        color: 'white',
98ec26b768S猫头猫        fontSize: fontSizeConst.subTitle,
99bf6e62f2S猫头猫        includeFontPadding: false,
100bf6e62f2S猫头猫    },
101f973fd13S猫头猫    tagBg: {
102f973fd13S猫头猫        backgroundColor: 'rgba(255, 255, 255, 0.2)',
103f973fd13S猫头猫    },
104f973fd13S猫头猫    tagText: {
105f973fd13S猫头猫        color: 'white',
106f973fd13S猫头猫    },
107bf6e62f2S猫头猫});
108