From 832f1002bcf00224843eb653422d25a45de56cea Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 14 Dec 2022 22:07:14 -0800 Subject: [PATCH 1/5] add default downloads tab based on user OS --- src/components/UI/downloads/DownloadsTable.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/UI/downloads/DownloadsTable.tsx b/src/components/UI/downloads/DownloadsTable.tsx index b8a45207c6..055188bc4d 100644 --- a/src/components/UI/downloads/DownloadsTable.tsx +++ b/src/components/UI/downloads/DownloadsTable.tsx @@ -1,5 +1,5 @@ import { Stack, Tabs, TabList, Tab, Text, TabPanel, TabPanels } from '@chakra-ui/react'; -import { FC } from 'react'; +import { FC, useMemo } from 'react'; import { DataTable } from '../../UI'; @@ -37,6 +37,15 @@ export const DownloadsTable: FC = ({ const LAST_2_LINUX_RELEASES = amountOfReleasesToShow + 12; + const getDefaultIndex = useMemo(() => { + const OS: string = typeof window !== 'undefined' ? window.navigator.platform : ''; + if (OS.includes('Mac')) return 1; + if (OS.includes('Win')) return 2; + if (OS.includes('iPhone')) return 3; + if (OS.includes('Android')) return 4; + return 0; + }, []) + return ( = ({ : 'none' } > - setTotalReleases(totalReleases[idx])}> + setTotalReleases(totalReleases[idx])} defaultIndex={getDefaultIndex}> {DOWNLOADS_TABLE_TABS.map((tab, idx) => { return ( From 22e75c7012f29e30dba8ffa3070bb861a394767b Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 15 Dec 2022 14:16:07 -0800 Subject: [PATCH 2/5] check for SamsungBrowser for Android --- src/components/UI/downloads/DownloadsTable.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/UI/downloads/DownloadsTable.tsx b/src/components/UI/downloads/DownloadsTable.tsx index 055188bc4d..685eca268a 100644 --- a/src/components/UI/downloads/DownloadsTable.tsx +++ b/src/components/UI/downloads/DownloadsTable.tsx @@ -39,10 +39,11 @@ export const DownloadsTable: FC = ({ const getDefaultIndex = useMemo(() => { const OS: string = typeof window !== 'undefined' ? window.navigator.platform : ''; + const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : ''; if (OS.includes('Mac')) return 1; if (OS.includes('Win')) return 2; if (OS.includes('iPhone')) return 3; - if (OS.includes('Android')) return 4; + if (OS.includes('Android') || userAgent.includes("SamsungBrowser")) return 4; return 0; }, []) From 7100b079b99acd77f5060c6f442ff2b1a93b463e Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 15 Dec 2022 14:40:18 -0800 Subject: [PATCH 3/5] debug android OS selector --- src/components/UI/downloads/DownloadsTable.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/UI/downloads/DownloadsTable.tsx b/src/components/UI/downloads/DownloadsTable.tsx index 685eca268a..4e95b11a57 100644 --- a/src/components/UI/downloads/DownloadsTable.tsx +++ b/src/components/UI/downloads/DownloadsTable.tsx @@ -43,7 +43,7 @@ export const DownloadsTable: FC = ({ if (OS.includes('Mac')) return 1; if (OS.includes('Win')) return 2; if (OS.includes('iPhone')) return 3; - if (OS.includes('Android') || userAgent.includes("SamsungBrowser")) return 4; + if (/Android/i.test(OS) || /Android|SamsungBrowser/i.test(userAgent)) return 4; return 0; }, []) From c92ee08367be21a4c71b223a762685e451f13d00 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 15 Dec 2022 14:46:06 -0800 Subject: [PATCH 4/5] debug using only re.test(string) --- src/components/UI/downloads/DownloadsTable.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/components/UI/downloads/DownloadsTable.tsx b/src/components/UI/downloads/DownloadsTable.tsx index 4e95b11a57..ce9523a3ee 100644 --- a/src/components/UI/downloads/DownloadsTable.tsx +++ b/src/components/UI/downloads/DownloadsTable.tsx @@ -39,11 +39,10 @@ export const DownloadsTable: FC = ({ const getDefaultIndex = useMemo(() => { const OS: string = typeof window !== 'undefined' ? window.navigator.platform : ''; - const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : ''; - if (OS.includes('Mac')) return 1; - if (OS.includes('Win')) return 2; - if (OS.includes('iPhone')) return 3; - if (/Android/i.test(OS) || /Android|SamsungBrowser/i.test(userAgent)) return 4; + if (/Mac/i.test(OS)) return 1; + if (/Win/i.test(OS)) return 2; + if (/iPhone/i.test(OS)) return 3; + if (/Android/i.test(OS)) return 4; return 0; }, []) From b323ea21c96c2b8a534e671e00fdb86206ba61d5 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 15 Dec 2022 14:49:52 -0800 Subject: [PATCH 5/5] add back Android user agent check --- src/components/UI/downloads/DownloadsTable.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/UI/downloads/DownloadsTable.tsx b/src/components/UI/downloads/DownloadsTable.tsx index ce9523a3ee..feb14bc9c4 100644 --- a/src/components/UI/downloads/DownloadsTable.tsx +++ b/src/components/UI/downloads/DownloadsTable.tsx @@ -39,10 +39,11 @@ export const DownloadsTable: FC = ({ const getDefaultIndex = useMemo(() => { const OS: string = typeof window !== 'undefined' ? window.navigator.platform : ''; + const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : ''; if (/Mac/i.test(OS)) return 1; if (/Win/i.test(OS)) return 2; if (/iPhone/i.test(OS)) return 3; - if (/Android/i.test(OS)) return 4; + if (/Android/i.test(userAgent)) return 4; return 0; }, [])