import { Box, Center, Group, Select, SelectItem } from '@mantine/core'; import isElectron from 'is-electron'; import { useTranslation } from 'react-i18next'; import { RiAddFill, RiSubtractFill } from 'react-icons/ri'; import { LyricsOverride } from '/@/renderer/api/types'; import { Button, NumberInput, Tooltip } from '/@/renderer/components'; import { openLyricSearchModal } from '/@/renderer/features/lyrics/components/lyrics-search-form'; import { useCurrentSong, useLyricsSettings, useSettingsStore, useSettingsStoreActions, } from '/@/renderer/store'; interface LyricsActionsProps { index: number; languages: SelectItem[]; onRemoveLyric: () => void; onResetLyric: () => void; onSearchOverride: (params: LyricsOverride) => void; setIndex: (idx: number) => void; } export const LyricsActions = ({ index, languages, onRemoveLyric, onResetLyric, onSearchOverride, setIndex, }: LyricsActionsProps) => { const { t } = useTranslation(); const currentSong = useCurrentSong(); const { setSettings } = useSettingsStoreActions(); const { delayMs, sources } = useLyricsSettings(); const handleLyricOffset = (e: number) => { setSettings({ lyrics: { ...useSettingsStore.getState().lyrics, delayMs: e, }, }); }; const isActionsDisabled = !currentSong; const isDesktop = isElectron(); return ( {languages.length > 1 && (