import React from 'react';
import { numberWithCommas } from 'App/utils';
import withPermissions from 'HOCs/withPermissions';
import FFlagsListHeader from 'Components/FFlags/FFlagsListHeader';
import AnimatedSVG, { ICONS } from 'Shared/AnimatedSVG/AnimatedSVG';
import { Loader, NoContent, Pagination } from 'UI';
import { useStore } from 'App/mstore';
import { observer } from 'mobx-react-lite';
import Select from 'Shared/Select';
import usePageTitle from '@/hooks/usePageTitle';
import FFlagItem from './FFlagItem';
import { useTranslation } from 'react-i18next';
function FFlagsList({ siteId }: { siteId: string }) {
const { t } = useTranslation();
usePageTitle('Feature Flags - OpenReplay');
const { featureFlagsStore, userStore } = useStore();
React.useEffect(() => {
void featureFlagsStore.fetchFlags();
void userStore.fetchUsers();
}, []);
return (
{t('Status:')}
{featureFlagsStore.sort.query === ''
? t("You haven't created any feature flags yet")
: t('No matching results')}
}
subtext={
featureFlagsStore.sort.query === '' ? (
{t(
'Use feature flags to deploy and rollback new functionality with ease.',
)}
) : null
}
>
{t('Key')}
{t('Last modified')}
{t('By')}
{t('Status')}
{featureFlagsStore.flags.map((flag) => (
))}
{t('Showing')}{' '}
{(featureFlagsStore.page - 1) * featureFlagsStore.pageSize +
1}
{' '}
{t('to')}{' '}
{(featureFlagsStore.page - 1) * featureFlagsStore.pageSize +
featureFlagsStore.flags.length}
{' '}
{t('of')}{' '}
{numberWithCommas(featureFlagsStore.total)}
{' '}
{t('Feature Flags.')}
featureFlagsStore.setPage(page)}
limit={featureFlagsStore.pageSize}
debounceRequest={100}
/>
);
}
export default withPermissions(['FEATURE_FLAGS'])(observer(FFlagsList));