From 127ff548a0f618b86dac86162558fd5f3aca495b Mon Sep 17 00:00:00 2001 From: Alessandro Kreslin Date: Thu, 30 Apr 2026 09:03:22 -0400 Subject: [PATCH] gtfs feature tracker feature flag Co-authored-by: Copilot --- .../[locale]/feeds/components/FeedsScreen.tsx | 5 +- src/app/components/Footer.tsx | 8 +-- src/app/components/Header.tsx | 48 +++++++++-------- src/app/components/HeaderMobileDrawer.tsx | 54 ++++++++++--------- src/app/interface/RemoteConfig.ts | 2 + 5 files changed, 66 insertions(+), 51 deletions(-) diff --git a/src/app/[locale]/feeds/components/FeedsScreen.tsx b/src/app/[locale]/feeds/components/FeedsScreen.tsx index aa71c9e..b5533bb 100644 --- a/src/app/[locale]/feeds/components/FeedsScreen.tsx +++ b/src/app/[locale]/feeds/components/FeedsScreen.tsx @@ -40,11 +40,13 @@ import { buildSearchUrl, } from '../lib/useFeedsSearch'; import { toFeatureAnchor } from '../../../utils/featureAnchor'; +import { useRemoteConfig } from '../../../context/RemoteConfigProvider'; export default function FeedsScreen(): React.ReactElement { const theme = useTheme(); const t = useTranslations('feeds'); const tCommon = useTranslations('common'); + const { config } = useRemoteConfig(); const searchParams = useSearchParams(); const router = useRouter(); const pathname = usePathname(); @@ -570,7 +572,8 @@ export default function FeedsScreen(): React.ReactElement { > {getSearchResultNumbers()} - {selectedFeatures.length > 0 && + {config.gtfsFeatureTracker && + selectedFeatures.length > 0 && areFeatureFiltersEnabled && ( )} - {/* Analytics sub-section */} - - {t('analytics')} - - + {config.gtfsFeatureTracker && ( + <> + {/* Analytics sub-section */} + + {t('analytics')} + + + + )} {metricsOptionsEnabled && ( diff --git a/src/app/interface/RemoteConfig.ts b/src/app/interface/RemoteConfig.ts index 620f42a..a9b8631 100644 --- a/src/app/interface/RemoteConfig.ts +++ b/src/app/interface/RemoteConfig.ts @@ -27,6 +27,7 @@ export interface RemoteConfigValues { // 2- use bounding box view for GBFS instead of full covered area map enableDetailedCoveredArea: boolean; gbfsValidator: boolean; + gtfsFeatureTracker: boolean; } const gbfsVersionsDefault: GbfsVersionConfig = []; @@ -46,6 +47,7 @@ export const defaultRemoteConfigValues: RemoteConfigValues = { visualizationMapPreviewDataLimit: 3, enableDetailedCoveredArea: false, gbfsValidator: false, + gtfsFeatureTracker: false, }; /**