import { t } from "i18next"; import React, { useCallback } from "react"; import { View } from "react-native"; import QRCode from "react-native-qrcode-svg"; import { Text } from "@/components/common/Text"; import { useScaledTVTypography } from "@/constants/TVTypography"; import { useTVBackPress } from "@/hooks/useTVBackPress"; import { scaleSize } from "@/utils/scaleSize"; interface TVQRCodeDisplayProps { code: string; onBack?: () => void; } export const TVQRCodeDisplay: React.FC = ({ code, onBack, }) => { const typography = useScaledTVTypography(); const qrSize = scaleSize(280); const cardPadding = scaleSize(16); const sectionPadding = scaleSize(32); const outerPadding = scaleSize(60); const qrData = JSON.stringify({ action: "streamyfin-pair", code, }); const handleBack = useCallback(() => { if (!onBack) return false; onBack(); return true; }, [onBack]); useTVBackPress(() => handleBack(), [handleBack]); return ( {/* QR Code */} {t("pairing.waiting_for_phone")} {code} {t("pairing.scan_with_phone")} ); };