mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-24 17:51:14 +02:00
chore: improved project suggestion logic
This commit is contained in:
parent
17b3fa44ea
commit
fe2ef2ac8f
@ -6,6 +6,8 @@ import type { UnknownFlag } from './hooks/useUnknownFlags.js';
|
|||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import useProjects from 'hooks/api/getters/useProjects/useProjects.js';
|
import useProjects from 'hooks/api/getters/useProjects/useProjects.js';
|
||||||
import { DEFAULT_PROJECT_ID } from 'hooks/api/getters/useDefaultProject/useDefaultProjectId.js';
|
import { DEFAULT_PROJECT_ID } from 'hooks/api/getters/useDefaultProject/useDefaultProjectId.js';
|
||||||
|
import AccessContext from 'contexts/AccessContext.js';
|
||||||
|
import { useContext } from 'react';
|
||||||
|
|
||||||
const StyledBox = styled(Box)(() => ({
|
const StyledBox = styled(Box)(() => ({
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
@ -20,18 +22,27 @@ export const UnknownFlagsActionsCell = ({
|
|||||||
unknownFlag,
|
unknownFlag,
|
||||||
}: IUnknownFlagsActionsCellProps) => {
|
}: IUnknownFlagsActionsCellProps) => {
|
||||||
const { projects } = useProjects();
|
const { projects } = useProjects();
|
||||||
|
const { hasAccess } = useContext(AccessContext);
|
||||||
|
|
||||||
const project = projects.find(({ id }) => id === DEFAULT_PROJECT_ID)
|
let project =
|
||||||
? DEFAULT_PROJECT_ID
|
projects.find(({ id }) => id === DEFAULT_PROJECT_ID) || projects[0];
|
||||||
: projects[0]?.id || DEFAULT_PROJECT_ID;
|
if (!hasAccess(CREATE_FEATURE, project?.id)) {
|
||||||
|
for (const proj of projects) {
|
||||||
|
if (hasAccess(CREATE_FEATURE, proj.id)) {
|
||||||
|
project = proj;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<StyledBox>
|
<StyledBox>
|
||||||
<PermissionIconButton
|
<PermissionIconButton
|
||||||
component={Link}
|
component={Link}
|
||||||
data-loading
|
data-loading
|
||||||
to={`/projects/${project}?create=true&name=${unknownFlag.name}`}
|
to={`/projects/${project?.id}?create=true&name=${unknownFlag.name}`}
|
||||||
permission={CREATE_FEATURE}
|
permission={CREATE_FEATURE}
|
||||||
|
projectId={project?.id}
|
||||||
tooltipProps={{
|
tooltipProps={{
|
||||||
title: 'Create feature flag',
|
title: 'Create feature flag',
|
||||||
}}
|
}}
|
||||||
|
Loading…
Reference in New Issue
Block a user