diff --git a/frontend/src/components/Footer.tsx b/frontend/src/components/Footer.tsx index 7ecf59a71..b5afc2cec 100644 --- a/frontend/src/components/Footer.tsx +++ b/frontend/src/components/Footer.tsx @@ -3,16 +3,43 @@ import { useTranslation } from "react-i18next"; //Project resources import { Newsletter } from "./Newsletter"; -import { useContext } from "react"; +import { useContext, useEffect, useState } from "react"; import { AuthContext } from "../providers/AuthProvider"; import useToClipboard from "../util/to-clipboard.hooks"; +enum MobileOS { + ANDROID = "android", + IOS = "ios", + OTHER = "", +} + export default function Footer() { + const AppStore = "https://images.clothingloop.org/x100/app_store_badge.png"; + const GooglePlay = + "https://images.clothingloop.org/x100/google_play_badge.png"; const { t } = useTranslation(); const { authUser } = useContext(AuthContext); const addCopyAttributes = useToClipboard(); const currentYear = new Date().getFullYear(); + const [mobileOS, setMobileOS] = useState(MobileOS.OTHER); + useEffect(() => { + const detectMobileOS = () => { + const userAgent = navigator.userAgent || navigator.vendor; + + if (/android/i.test(userAgent)) { + return MobileOS.ANDROID; + } + + if (/iPad|iPhone|iPod/i.test(userAgent)) { + return MobileOS.IOS; + } + return MobileOS.OTHER; + }; + + const os = detectMobileOS(); + setMobileOS(os); + }, []); return (