w-aura/src/components/CompatibilityV2/pages/Camera/index.tsx
2025-04-09 07:46:07 +00:00

37 lines
1.1 KiB
TypeScript

import { useEffect, useMemo } from "react";
import metricService, { EGoals, EMetrics } from "@/services/metric/metricService";
import AndroidCamera from "./android";
import IphoneCamera from "./iphone";
function Camera() {
const isIphoneSafari = useMemo((): boolean => {
const userAgent = navigator.userAgent;
const isIOS = /iPhone/i.test(userAgent);
const isSafari = /Safari/i.test(userAgent) &&
!/CriOS/i.test(userAgent) && // не Chrome
!/FxiOS/i.test(userAgent) && // не Firefox
!/EdgiOS/i.test(userAgent) && // не Edge
!/OPiOS/i.test(userAgent); // не Opera
return isIOS && isSafari;
}, []);
useEffect(() => {
metricService.reachGoal(EGoals.CAMERA_OPEN, [EMetrics.YANDEX, EMetrics.KLAVIYO]);
}, []);
// useEffect(() => {
// if (toastVisible === EToastVisible.try_again) {
// metricService.reachGoal(EGoals.CAMERA_ERROR, [EMetrics.YANDEX, EMetrics.KLAVIYO]);
// }
// }, [toastVisible]);
return (
<>
{isIphoneSafari ? <IphoneCamera /> : <AndroidCamera />}
</>
);
}
export default Camera;