diff --git a/src/Faction/ui/FactionInvitationManager.tsx b/src/Faction/ui/FactionInvitationManager.tsx index 19bfd9841..d37d1af0a 100644 --- a/src/Faction/ui/FactionInvitationManager.tsx +++ b/src/Faction/ui/FactionInvitationManager.tsx @@ -44,7 +44,7 @@ export function FactionInvitationManager({ hidden }: { hidden: boolean }): React function close(): void { setFactions((currentFactions) => { - return currentFactions.slice(1); + return currentFactions.slice(1).filter((name) => !Factions[name].isBanned); }); } @@ -52,7 +52,7 @@ export function FactionInvitationManager({ hidden }: { hidden: boolean }): React const enemies = faction?.getInfo().enemies ?? []; function join(): void { - if (faction === null || !faction.alreadyInvited) { + if (faction === null || !faction.alreadyInvited || faction.isBanned) { return; } joinFaction(faction); diff --git a/src/Faction/ui/FactionsRoot.tsx b/src/Faction/ui/FactionsRoot.tsx index 512a7d036..7c74bb3ea 100644 --- a/src/Faction/ui/FactionsRoot.tsx +++ b/src/Faction/ui/FactionsRoot.tsx @@ -85,9 +85,11 @@ const FactionElement = (props: FactionElementProps): React.ReactElement => { Router.toPage(Page.FactionAugmentations, { faction }); } - function acceptInvitation(event: React.MouseEvent, faction: FactionName): void { - if (!event.isTrusted) return; - joinFaction(Factions[faction]); + function acceptInvitation(event: React.MouseEvent, factionName: FactionName): void { + if (!event.isTrusted || !Factions[factionName].alreadyInvited || Factions[factionName].isBanned) { + return; + } + joinFaction(Factions[factionName]); props.rerender(); }