Skip to content

Commit 4a251b4

Browse files
committed
Add toggle for new "events" section on SPA.
1 parent fd32694 commit 4a251b4

File tree

4 files changed

+91
-19
lines changed

4 files changed

+91
-19
lines changed

internal/dev_server/ui/src/App.tsx

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { Heading, Text } from '@launchpad-ui/components';
99
import { FlagVariation } from './api.ts';
1010
import { apiRoute, sortFlags } from './util.ts';
1111
import { ProjectEditor } from './ProjectEditor';
12+
import EventsButton from './EventsButton.tsx';
13+
import FlagsButton from './FlagsButton.tsx';
1214

1315
interface Environment {
1416
key: string;
@@ -30,6 +32,7 @@ function App() {
3032
>({});
3133
const [flags, setFlags] = useState<LDFlagSet | null>(null);
3234
const [showBanner, setShowBanner] = useState(false);
35+
const [showEvents, setShowEvents] = useState(false);
3336
const [context, setContext] = useState<string>('{}');
3437

3538
const fetchDevFlags = useCallback(async () => {
@@ -187,29 +190,35 @@ function App() {
187190
updateProjectSettings={updateProjectSettings}
188191
/>
189192
)}
190-
<SyncButton
191-
selectedProject={selectedProject}
192-
setFlags={setFlags}
193-
setAvailableVariations={setAvailableVariations}
194-
/>
193+
<Box display="flex" alignItems="center" gap="1rem">
194+
<FlagsButton onPress={() => { setShowEvents(false); }} />
195+
<EventsButton onPress={() => { setShowEvents(true); }} />
196+
<SyncButton
197+
selectedProject={selectedProject}
198+
setFlags={setFlags}
199+
setAvailableVariations={setAvailableVariations}
200+
/>
201+
</Box>
195202
</Box>
196203
)}
197204
{selectedProject && (
198205
<Box width="100%">
199-
<Flags
200-
availableVariations={availableVariations}
201-
selectedProject={selectedProject}
202-
flags={flags}
203-
overrides={overrides}
204-
setOverrides={(
205-
newOverrides: Record<
206-
string,
207-
{ value: LDFlagValue; version: number }
208-
>,
209-
) => {
210-
setOverrides(newOverrides);
211-
}}
212-
/>
206+
{!showEvents && (
207+
<Flags
208+
availableVariations={availableVariations}
209+
selectedProject={selectedProject}
210+
flags={flags}
211+
overrides={overrides}
212+
setOverrides={(
213+
newOverrides: Record<
214+
string,
215+
{ value: LDFlagValue; version: number }
216+
>,
217+
) => {
218+
setOverrides(newOverrides);
219+
}}
220+
/>
221+
)}
213222
</Box>
214223
)}
215224
</Box>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const Events = () => {
2+
return <span>events go here</span>;
3+
};
4+
5+
export default Events;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import {
2+
Button,
3+
Tooltip,
4+
TooltipTrigger,
5+
} from '@launchpad-ui/components';
6+
import { Icon } from '@launchpad-ui/icons';
7+
import { Inline } from '@launchpad-ui/core';
8+
9+
type Props = {
10+
onPress: () => void;
11+
};
12+
13+
const EventsButton = ({ onPress }: Props) => {
14+
return (
15+
<TooltipTrigger>
16+
<Button onPress={onPress}>
17+
<div>
18+
<Inline gap="1">
19+
<Icon name="play" size="small" />
20+
<span>Events</span>
21+
</Inline>
22+
</div>
23+
</Button>
24+
<Tooltip>View events</Tooltip>
25+
</TooltipTrigger>
26+
);
27+
};
28+
29+
export default EventsButton;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import {
2+
Button,
3+
Tooltip,
4+
TooltipTrigger,
5+
} from '@launchpad-ui/components';
6+
import { Icon } from '@launchpad-ui/icons';
7+
import { Inline } from '@launchpad-ui/core';
8+
9+
type Props = {
10+
onPress: () => void;
11+
};
12+
13+
const FlagsButton = ({ onPress }: Props) => {
14+
return (
15+
<TooltipTrigger>
16+
<Button onPress={onPress}>
17+
<div>
18+
<Inline gap="1">
19+
<Icon name="flag" size="small" />
20+
<span>Flags</span>
21+
</Inline>
22+
</div>
23+
</Button>
24+
<Tooltip>View flags</Tooltip>
25+
</TooltipTrigger>
26+
);
27+
};
28+
29+
export default FlagsButton;

0 commit comments

Comments
 (0)