From 0be4a9b41654bdad34603a6aba704b459683fb5f Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 10 Feb 2024 12:47:02 +0000 Subject: [PATCH 1/2] Render correct OS names globally. --- src/components/hooks/useFormat.ts | 22 ++++++++++++++-------- src/components/metrics/OSTable.tsx | 10 +++------- src/lib/constants.ts | 8 ++++++++ 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/components/hooks/useFormat.ts b/src/components/hooks/useFormat.ts index 06585e49..2b4d0200 100644 --- a/src/components/hooks/useFormat.ts +++ b/src/components/hooks/useFormat.ts @@ -1,5 +1,5 @@ import useMessages from './useMessages'; -import { BROWSERS } from 'lib/constants'; +import { BROWSERS, OS_NAMES } from 'lib/constants'; import useLocale from './useLocale'; import useCountryNames from './useCountryNames'; import regions from 'public/iso-3166-2.json'; @@ -9,10 +9,18 @@ export function useFormat() { const { locale } = useLocale(); const countryNames = useCountryNames(locale); + const formatOS = (value: string): string => { + return OS_NAMES[value] || value; + }; + const formatBrowser = (value: string): string => { return BROWSERS[value] || value; }; + const formatDevice = (value: string): string => { + return formatMessage(labels[value] || labels.unknown); + }; + const formatCountry = (value: string): string => { return countryNames[value] || value; }; @@ -26,28 +34,26 @@ export function useFormat() { return `${value}, ${countryNames[country]}`; }; - const formatDevice = (value: string): string => { - return formatMessage(labels[value] || labels.unknown); - }; - const formatValue = (value: string, type: string, data?: { [key: string]: any }): string => { switch (type) { + case 'os': + return formatOS(value); case 'browser': return formatBrowser(value); + case 'device': + return formatDevice(value); case 'country': return formatCountry(value); case 'region': return formatRegion(value); case 'city': return formatCity(value, data?.country); - case 'device': - return formatDevice(value); default: return value; } }; - return { formatBrowser, formatCountry, formatRegion, formatDevice, formatValue }; + return { formatOS, formatBrowser, formatDevice, formatCountry, formatRegion, formatValue }; } export default useFormat; diff --git a/src/components/metrics/OSTable.tsx b/src/components/metrics/OSTable.tsx index 102bafd3..d262c36a 100644 --- a/src/components/metrics/OSTable.tsx +++ b/src/components/metrics/OSTable.tsx @@ -1,19 +1,15 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; import FilterLink from 'components/common/FilterLink'; import useMessages from 'components/hooks/useMessages'; - -const names = { - 'Mac OS': 'macOS', - 'Chrome OS': 'ChromeOS', - 'Sun OS': 'SunOS', -}; +import useFormat from 'components/hooks/useFormat'; export function OSTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); + const { formatOS } = useFormat(); function renderLink({ x: os }) { return ( - + Date: Thu, 15 Feb 2024 10:46:54 -0800 Subject: [PATCH 2/2] fix usemodified for team websites --- src/components/hooks/queries/useTeamWebsites.ts | 2 +- yarn.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/hooks/queries/useTeamWebsites.ts b/src/components/hooks/queries/useTeamWebsites.ts index 06e12a82..7679d767 100644 --- a/src/components/hooks/queries/useTeamWebsites.ts +++ b/src/components/hooks/queries/useTeamWebsites.ts @@ -4,7 +4,7 @@ import useModified from '../useModified'; export function useTeamWebsites(teamId: string) { const { get } = useApi(); - const { modified } = useModified(`teams:websites`); + const { modified } = useModified(`websites`); return useFilterQuery({ queryKey: ['teams:websites', { teamId, modified }], diff --git a/yarn.lock b/yarn.lock index a22b41a4..d8a9ce34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1740,7 +1740,7 @@ resolved "https://registry.yarnpkg.com/@netlify/node-cookies/-/node-cookies-0.1.0.tgz#dda912ba618527695cf519fafa221c5e6777c612" integrity sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== -"@netlify/plugin-nextjs@^4.27.3": +"@netlify/plugin-nextjs@^4.41.3": version "4.41.3" resolved "https://registry.yarnpkg.com/@netlify/plugin-nextjs/-/plugin-nextjs-4.41.3.tgz#f8274526147f652438cc6790b6819ca15d441dd3" integrity sha512-l8TB61u7A1ZF22QpoyZtresSUsHOJGP9DatECnqlNab3lG8id1kz9Pso+nZVOznWOm98o7w51k2+TIf52x+DBQ==