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 EventTimelinePanel = () => {
|
||||||
const { toggleSectionState, expandTimeline } = useDashboardState([], []);
|
const { toggleSectionState, expandTimeline } = useDashboardState();
|
||||||
const { trackEvent } = usePlausibleTracker();
|
const { trackEvent } = usePlausibleTracker();
|
||||||
|
|
||||||
const signalsLink = '/integrations/signals';
|
const signalsLink = '/integrations/signals';
|
||||||
@ -163,7 +163,7 @@ const FlagPanel = () => {
|
|||||||
const projects = personalDashboard?.projects || [];
|
const projects = personalDashboard?.projects || [];
|
||||||
|
|
||||||
const { activeFlag, setActiveFlag, toggleSectionState, expandFlags } =
|
const { activeFlag, setActiveFlag, toggleSectionState, expandFlags } =
|
||||||
useDashboardState(projects, personalDashboard?.flags ?? []);
|
useDashboardState({ flags: personalDashboard?.flags ?? [] });
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionAccordion
|
<SectionAccordion
|
||||||
@ -214,7 +214,7 @@ const ProjectPanel = () => {
|
|||||||
setActiveProject,
|
setActiveProject,
|
||||||
toggleSectionState,
|
toggleSectionState,
|
||||||
expandProjects,
|
expandProjects,
|
||||||
} = useDashboardState(projects, personalDashboard?.flags ?? []);
|
} = useDashboardState({ projects });
|
||||||
|
|
||||||
const personalDashboardProjectDetails =
|
const personalDashboardProjectDetails =
|
||||||
fromPersonalDashboardProjectDetailsOutput(
|
fromPersonalDashboardProjectDetailsOutput(
|
||||||
|
@ -5,10 +5,11 @@ import type {
|
|||||||
} from 'openapi';
|
} from 'openapi';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
|
|
||||||
export const useDashboardState = (
|
type StateProps = {
|
||||||
projects: PersonalDashboardSchemaProjectsItem[],
|
projects?: PersonalDashboardSchemaProjectsItem[];
|
||||||
flags: PersonalDashboardSchemaFlagsItem[],
|
flags?: PersonalDashboardSchemaFlagsItem[];
|
||||||
) => {
|
};
|
||||||
|
export const useDashboardState = (props?: StateProps) => {
|
||||||
type State = {
|
type State = {
|
||||||
activeProject: string | undefined;
|
activeProject: string | undefined;
|
||||||
activeFlag: PersonalDashboardSchemaFlagsItem | undefined;
|
activeFlag: PersonalDashboardSchemaFlagsItem | undefined;
|
||||||
@ -35,34 +36,31 @@ export const useDashboardState = (
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const updates: Partial<State> = {};
|
const updates: Partial<State> = {};
|
||||||
const setDefaultFlag =
|
|
||||||
flags.length &&
|
|
||||||
(!state.activeFlag ||
|
|
||||||
!flags.some((flag) => flag.name === state.activeFlag?.name));
|
|
||||||
|
|
||||||
if (setDefaultFlag) {
|
if (
|
||||||
updates.activeFlag = flags[0];
|
props?.flags?.length &&
|
||||||
|
(!state.activeFlag ||
|
||||||
|
!props.flags.some(
|
||||||
|
(flag) => flag.name === state.activeFlag?.name,
|
||||||
|
))
|
||||||
|
) {
|
||||||
|
updates.activeFlag = props.flags[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
const setDefaultProject =
|
if (
|
||||||
projects.length &&
|
props?.projects?.length &&
|
||||||
(!state.activeProject ||
|
(!state.activeProject ||
|
||||||
!projects.some(
|
!props.projects.some(
|
||||||
(project) => project.id === state.activeProject,
|
(project) => project.id === state.activeProject,
|
||||||
));
|
))
|
||||||
|
) {
|
||||||
if (setDefaultProject) {
|
updates.activeProject = props.projects[0].id;
|
||||||
updates.activeProject = projects[0].id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(updates).length) {
|
if (Object.keys(updates).length) {
|
||||||
updateState(updates);
|
updateState(updates);
|
||||||
}
|
}
|
||||||
}, [
|
}, [JSON.stringify(props), JSON.stringify(state)]);
|
||||||
JSON.stringify(projects),
|
|
||||||
JSON.stringify(flags),
|
|
||||||
JSON.stringify(state),
|
|
||||||
]);
|
|
||||||
|
|
||||||
const { activeFlag, activeProject } = state;
|
const { activeFlag, activeProject } = state;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user