Skip to content

Commit f7e94f0

Browse files
feat: feature flag for feed status (#892)
1 parent 5e063ae commit f7e94f0

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

web-app/src/app/interface/RemoteConfig.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export interface RemoteConfigValues extends FirebaseDefaultConfig {
3030
featureFlagBypass: string;
3131
enableFeatureFilterSearch: boolean;
3232
enableIsOfficialFilterSearch: boolean;
33+
enableFeedStatusBadge: boolean;
3334
}
3435

3536
const featureByPassDefault: BypassConfig = {
@@ -50,6 +51,7 @@ export const defaultRemoteConfigValues: RemoteConfigValues = {
5051
featureFlagBypass: JSON.stringify(featureByPassDefault),
5152
enableFeatureFilterSearch: false,
5253
enableIsOfficialFilterSearch: false,
54+
enableFeedStatusBadge: false,
5355
};
5456

5557
remoteConfig.defaultConfig = defaultRemoteConfigValues;

web-app/src/app/screens/Feed/DataQualitySummary.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import VerifiedIcon from '@mui/icons-material/Verified';
88
import { useTranslation } from 'react-i18next';
99
import { verificationBadgeStyle } from '../../styles/VerificationBadge.styles';
1010
import { FeedStatusChip } from '../../components/FeedStatus';
11+
import { useRemoteConfig } from '../../context/RemoteConfigProvider';
1112

1213
export interface DataQualitySummaryProps {
1314
feedStatus: components['schemas']['BasicFeed']['status'];
@@ -21,14 +22,17 @@ export default function DataQualitySummary({
2122
latestDataset,
2223
}: DataQualitySummaryProps): React.ReactElement {
2324
const { t } = useTranslation('feeds');
25+
const { config } = useRemoteConfig();
2426
return (
2527
<Box data-testid='data-quality-summary' sx={{ my: 2 }}>
2628
{(latestDataset?.validation_report === undefined ||
2729
latestDataset.validation_report === null) && (
2830
<WarningContentBox>{t('errorLoadingQualityReport')}</WarningContentBox>
2931
)}
3032
<Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}>
31-
<FeedStatusChip status={feedStatus ?? ''}></FeedStatusChip>
33+
{config.enableFeedStatusBadge && (
34+
<FeedStatusChip status={feedStatus ?? ''}></FeedStatusChip>
35+
)}
3236
{isOfficialFeed && (
3337
<Tooltip title={t('officialFeedTooltip')} placement='top'>
3438
<Chip

web-app/src/app/screens/Feed/Feed.spec.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ const mockFeedRT: GTFSRTFeedType = {
8888
feed_references: ['mdb-y'],
8989
};
9090

91+
jest.mock('firebase/compat/app', () => ({
92+
initializeApp: jest.fn(),
93+
remoteConfig: jest.fn(() => ({
94+
settings: { minimumFetchIntervalMillis: 3600000 },
95+
})),
96+
}));
97+
9198
describe('Feed page', () => {
9299
afterEach(cleanup);
93100

0 commit comments

Comments
 (0)