import React, { memo, useState, useCallback } from 'react'
import { View, StyleSheet, StatusBar, TouchableOpacity, Text } from 'react-native'
import Icon from '@/components/common/Icon'
import { useGetter, useDispatch } from '@/store'
import { pop } from '@/navigation'
import Popup from '@/components/common/Popup'
import Slider from '@/components/common/Slider'
import { useTranslation } from '@/plugins/i18n'
// import { AppColors } from '@/theme'
const LrcFontSizeStyles = StyleSheet.create({
content: {
flexGrow: 0,
flexShrink: 1,
flexDirection: 'row',
flexWrap: 'nowrap',
alignItems: 'center',
paddingLeft: 15,
paddingRight: 15,
paddingTop: 15,
},
})
const LrcFontSize = () => {
const theme = useGetter('common', 'theme')
const playerLandscapeStyle = useGetter('common', 'playerLandscapeStyle')
const setPlayerLandscapeStyle = useDispatch('common', 'setPlayerLandscapeStyle')
const [sliderSize, setSliderSize] = useState(playerLandscapeStyle.lrcFontSize)
const [isSliding, setSliding] = useState(false)
const handleSlidingStart = useCallback(value => {
setSliding(true)
}, [])
const handleValueChange = useCallback(value => {
setSliderSize(value)
}, [])
const handleSlidingComplete = useCallback(value => {
if (playerLandscapeStyle.lrcFontSize == value) return
setPlayerLandscapeStyle({ ...playerLandscapeStyle, lrcFontSize: value })
setSliding(false)
}, [playerLandscapeStyle, setPlayerLandscapeStyle])
return (
{isSliding ? sliderSize : playerLandscapeStyle.lrcFontSize}
)
}
const Setting = ({ visible, hide }) => {
const { t } = useTranslation()
return (
)
}
export default memo(() => {
const theme = useGetter('common', 'theme')
const playMusicInfo = useGetter('player', 'playMusicInfo')
const componentIds = useGetter('common', 'componentIds')
const [settingVisible, setSettingVisible] = useState(false)
const back = () => {
pop(componentIds.playDetail)
}
const showSetting = () => {
setSettingVisible(true)
}
return (
{playMusicInfo.musicInfo?.name}
{playMusicInfo.musicInfo?.singer}
setSettingVisible(false)} />
)
})
const styles = StyleSheet.create({
header: {
height: 40,
},
container: {
flexDirection: 'row',
// justifyContent: 'center',
height: 40,
},
button: {
width: 40,
justifyContent: 'center',
alignItems: 'center',
flex: 0,
},
titleContent: {
flex: 1,
},
title: {
flex: 1,
// textAlign: 'center',
fontSize: 14,
},
icon: {
paddingLeft: 4,
paddingRight: 4,
},
})