import { useCallback } from 'react'; import { Group, Image, Text, Title } from '@mantine/core'; import { useInfo, useSend, useShowImage } from '/@/remote/store'; import { RemoteButton } from '/@/remote/components/buttons/remote-button'; import formatDuration from 'format-duration'; import debounce from 'lodash/debounce'; import { RiHeartLine, RiPauseFill, RiPlayFill, RiRepeat2Line, RiRepeatOneLine, RiShuffleFill, RiSkipBackFill, RiSkipForwardFill, RiVolumeUpFill, } from 'react-icons/ri'; import { PlayerRepeat, PlayerStatus } from '/@/renderer/types'; import { WrapperSlider } from '/@/remote/components/wrapped-slider'; import { Tooltip } from '/@/renderer/components/tooltip'; import { Rating } from '/@/renderer/components'; export const RemoteContainer = () => { const { repeat, shuffle, song, status, volume } = useInfo(); const send = useSend(); const showImage = useShowImage(); const id = song?.id; const setRating = useCallback( (rating: number) => { send({ event: 'rating', id: id!, rating }); }, [send, id], ); const debouncedSetRating = debounce(setRating, 400); return ( <> {song && ( <>