1
0
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:
Nuno Góis 2025-08-29 10:43:54 +01:00
parent 17b3fa44ea
commit fe2ef2ac8f
No known key found for this signature in database
GPG Key ID: 71ECC689F1091765

View File

@ -6,6 +6,8 @@ import type { UnknownFlag } from './hooks/useUnknownFlags.js';
import { Link } from 'react-router-dom';
import useProjects from 'hooks/api/getters/useProjects/useProjects.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)(() => ({
display: 'flex',
@ -20,18 +22,27 @@ export const UnknownFlagsActionsCell = ({
unknownFlag,
}: IUnknownFlagsActionsCellProps) => {
const { projects } = useProjects();
const { hasAccess } = useContext(AccessContext);
const project = projects.find(({ id }) => id === DEFAULT_PROJECT_ID)
? DEFAULT_PROJECT_ID
: projects[0]?.id || DEFAULT_PROJECT_ID;
let project =
projects.find(({ id }) => id === DEFAULT_PROJECT_ID) || projects[0];
if (!hasAccess(CREATE_FEATURE, project?.id)) {
for (const proj of projects) {
if (hasAccess(CREATE_FEATURE, proj.id)) {
project = proj;
break;
}
}
}
return (
<StyledBox>
<PermissionIconButton
component={Link}
data-loading
to={`/projects/${project}?create=true&name=${unknownFlag.name}`}
to={`/projects/${project?.id}?create=true&name=${unknownFlag.name}`}
permission={CREATE_FEATURE}
projectId={project?.id}
tooltipProps={{
title: 'Create feature flag',
}}