mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 17:08:53 +00:00
Fleet UI: Welcome to Fleet and Learn Fleet render conditionally for roles (#6958)
This commit is contained in:
parent
4631e4eeaa
commit
c8367eaf32
2 changed files with 44 additions and 13 deletions
1
changes/issue-6956-welcome-to-fleet-card
Normal file
1
changes/issue-6956-welcome-to-fleet-card
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Welcome to Fleet and Learn Fleet card only shows on All teams for users that have permission to enroll hosts
|
||||
|
|
@ -137,6 +137,24 @@ const Homepage = (): JSX.Element => {
|
|||
}
|
||||
);
|
||||
|
||||
const {
|
||||
isLoading: isTeamSecretsLoading,
|
||||
data: teamSecrets,
|
||||
refetch: refetchTeamSecrets,
|
||||
} = useQuery<IEnrollSecretsResponse, Error, IEnrollSecret[]>(
|
||||
["team secrets", currentTeam],
|
||||
() => {
|
||||
if (currentTeam) {
|
||||
return enrollSecretsAPI.getTeamEnrollSecrets(currentTeam.id);
|
||||
}
|
||||
return { secrets: [] };
|
||||
},
|
||||
{
|
||||
enabled: !!currentTeam?.id && !!canEnrollHosts,
|
||||
select: (data: IEnrollSecretsResponse) => data.secrets,
|
||||
}
|
||||
);
|
||||
|
||||
const handleTeamSelect = (teamId: number) => {
|
||||
const selectedTeam = find(teams, ["id", teamId]);
|
||||
setCurrentTeam(selectedTeam);
|
||||
|
|
@ -292,18 +310,22 @@ const Homepage = (): JSX.Element => {
|
|||
),
|
||||
});
|
||||
|
||||
const allLayout = () => (
|
||||
<div className={`${baseClass}__section`}>
|
||||
{hostSummaryData && hostSummaryData?.totals_hosts_count < 2 && (
|
||||
<>
|
||||
{WelcomeHostCard}
|
||||
{LearnFleetCard}
|
||||
</>
|
||||
)}
|
||||
{SoftwareCard}
|
||||
{!currentTeam && isOnGlobalTeam && <>{ActivityFeedCard}</>}
|
||||
</div>
|
||||
);
|
||||
const allLayout = () => {
|
||||
return (
|
||||
<div className={`${baseClass}__section`}>
|
||||
{canEnrollHosts &&
|
||||
hostSummaryData &&
|
||||
hostSummaryData?.totals_hosts_count < 2 && (
|
||||
<>
|
||||
{WelcomeHostCard}
|
||||
{LearnFleetCard}
|
||||
</>
|
||||
)}
|
||||
{SoftwareCard}
|
||||
{!currentTeam && isOnGlobalTeam && <>{ActivityFeedCard}</>}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const macOSLayout = () => (
|
||||
<div className={`${baseClass}__section`}>
|
||||
|
|
@ -330,7 +352,15 @@ const Homepage = (): JSX.Element => {
|
|||
};
|
||||
|
||||
const renderAddHostsModal = () => {
|
||||
const enrollSecret = globalSecrets?.[0].secret;
|
||||
const enrollSecret =
|
||||
// TODO: Currently, prepacked installers in Fleet Sandbox use the global enroll secret,
|
||||
// and Fleet Sandbox runs Fleet Free so the isSandboxMode check here is an
|
||||
// additional precaution/reminder to revisit this in connection with future changes.
|
||||
// See https://github.com/fleetdm/fleet/issues/4970#issuecomment-1187679407.
|
||||
currentTeam && !isSandboxMode
|
||||
? teamSecrets?.[0].secret
|
||||
: globalSecrets?.[0].secret;
|
||||
|
||||
return (
|
||||
<AddHostsModal
|
||||
currentTeam={currentTeam}
|
||||
|
|
|
|||
Loading…
Reference in a new issue