* fix(player): fix initial visual offset jump check * change(ui): add empty feature flags page * change(ui): add empty feature flags page * fix(ui): some more fixes * change(ui): add subrouting for sessions tab * change(ui): more fixes for routing * change(ui): add flag creation page, flags list table, flag store/type * change(tracker): flags in tracker * change(tracker): return all flags * feat(ui): add API and types connector * feat(ui): split components to prevent rerendering * feat(ui): add icon, fix redirect.path crashlooping * feat(ui): add conditions and stuff, add flags class to tracker to handle stuff * feat(ui): add condition state and filters * feat(ui): fix flag creation with api change * feat(ui): fix flag editing (api changes); simplify new/edit flag component * feat(ui): add filters, make table pretty :insert_magic_emoji: * feat(ui): remove rollout percentage from list, remove console logs * feat(ui): multivar toggler * feat(tracker): add more methods to tracker * feat(tracker): more type coverage * feat(tracker): add tests * fix(ui): some fixes for multivar * feat(ui): multivar api support * fix(ui):start adding tests for fflags * fix(ui): rm not working file.. * fix(ui): rm unused packages * fix(ui): remove name field, fix some api and type names * fix(ui): fix crash * fix(tracker/ui): keep flags in sessionStorage, support API errors in feature flags storage * fix(tracker/ui): clear unused things, fix url handling, fix icons rendering etc
36 lines
No EOL
1.2 KiB
TypeScript
36 lines
No EOL
1.2 KiB
TypeScript
import React from 'react'
|
|
import { Button, PageTitle } from 'UI'
|
|
import FFlagsSearch from "Components/FFlags/FFlagsSearch";
|
|
import { useHistory } from "react-router";
|
|
import { newFFlag, withSiteId } from 'App/routes';
|
|
import ReloadButton from "Shared/ReloadButton";
|
|
import { useStore } from 'App/mstore';
|
|
import { observer } from 'mobx-react-lite';
|
|
|
|
function FFlagsListHeader({ siteId }: { siteId: string }) {
|
|
const history = useHistory();
|
|
const { featureFlagsStore } = useStore();
|
|
|
|
const onReload = () => {
|
|
void featureFlagsStore.fetchFlags();
|
|
}
|
|
return (
|
|
<div className="flex items-center justify-between px-6">
|
|
<div className="flex items-center mr-3 gap-2">
|
|
<PageTitle title="Feature Flags" />
|
|
<ReloadButton onClick={onReload} loading={featureFlagsStore.isLoading} />
|
|
</div>
|
|
<div className="ml-auto flex items-center">
|
|
<Button variant="primary" onClick={() => history.push(withSiteId(newFFlag(), siteId))}>
|
|
Create Feature Flag
|
|
</Button>
|
|
<div className="mx-2"></div>
|
|
<div className="w-1/4" style={{ minWidth: 300 }}>
|
|
<FFlagsSearch />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default observer(FFlagsListHeader); |