mirror of
https://github.com/Unleash/unleash.git
synced 2025-06-04 01:18:20 +02:00
fix: make args optiona
This commit is contained in:
parent
e31cb875dc
commit
5416afa630
@ -107,7 +107,7 @@ const AccordionSummarySubtitle = styled(Typography)(({ theme }) => ({
|
||||
}));
|
||||
|
||||
const EventTimelinePanel = () => {
|
||||
const { toggleSectionState, expandTimeline } = useDashboardState([], []);
|
||||
const { toggleSectionState, expandTimeline } = useDashboardState();
|
||||
const { trackEvent } = usePlausibleTracker();
|
||||
|
||||
const signalsLink = '/integrations/signals';
|
||||
@ -163,7 +163,7 @@ const FlagPanel = () => {
|
||||
const projects = personalDashboard?.projects || [];
|
||||
|
||||
const { activeFlag, setActiveFlag, toggleSectionState, expandFlags } =
|
||||
useDashboardState(projects, personalDashboard?.flags ?? []);
|
||||
useDashboardState({ flags: personalDashboard?.flags ?? [] });
|
||||
|
||||
return (
|
||||
<SectionAccordion
|
||||
@ -214,7 +214,7 @@ const ProjectPanel = () => {
|
||||
setActiveProject,
|
||||
toggleSectionState,
|
||||
expandProjects,
|
||||
} = useDashboardState(projects, personalDashboard?.flags ?? []);
|
||||
} = useDashboardState({ projects });
|
||||
|
||||
const personalDashboardProjectDetails =
|
||||
fromPersonalDashboardProjectDetailsOutput(
|
||||
|
@ -5,10 +5,11 @@ import type {
|
||||
} from 'openapi';
|
||||
import { useEffect } from 'react';
|
||||
|
||||
export const useDashboardState = (
|
||||
projects: PersonalDashboardSchemaProjectsItem[],
|
||||
flags: PersonalDashboardSchemaFlagsItem[],
|
||||
) => {
|
||||
type StateProps = {
|
||||
projects?: PersonalDashboardSchemaProjectsItem[];
|
||||
flags?: PersonalDashboardSchemaFlagsItem[];
|
||||
};
|
||||
export const useDashboardState = (props?: StateProps) => {
|
||||
type State = {
|
||||
activeProject: string | undefined;
|
||||
activeFlag: PersonalDashboardSchemaFlagsItem | undefined;
|
||||
@ -35,34 +36,31 @@ export const useDashboardState = (
|
||||
|
||||
useEffect(() => {
|
||||
const updates: Partial<State> = {};
|
||||
const setDefaultFlag =
|
||||
flags.length &&
|
||||
(!state.activeFlag ||
|
||||
!flags.some((flag) => flag.name === state.activeFlag?.name));
|
||||
|
||||
if (setDefaultFlag) {
|
||||
updates.activeFlag = flags[0];
|
||||
if (
|
||||
props?.flags?.length &&
|
||||
(!state.activeFlag ||
|
||||
!props.flags.some(
|
||||
(flag) => flag.name === state.activeFlag?.name,
|
||||
))
|
||||
) {
|
||||
updates.activeFlag = props.flags[0];
|
||||
}
|
||||
|
||||
const setDefaultProject =
|
||||
projects.length &&
|
||||
if (
|
||||
props?.projects?.length &&
|
||||
(!state.activeProject ||
|
||||
!projects.some(
|
||||
!props.projects.some(
|
||||
(project) => project.id === state.activeProject,
|
||||
));
|
||||
|
||||
if (setDefaultProject) {
|
||||
updates.activeProject = projects[0].id;
|
||||
))
|
||||
) {
|
||||
updates.activeProject = props.projects[0].id;
|
||||
}
|
||||
|
||||
if (Object.keys(updates).length) {
|
||||
updateState(updates);
|
||||
}
|
||||
}, [
|
||||
JSON.stringify(projects),
|
||||
JSON.stringify(flags),
|
||||
JSON.stringify(state),
|
||||
]);
|
||||
}, [JSON.stringify(props), JSON.stringify(state)]);
|
||||
|
||||
const { activeFlag, activeProject } = state;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user