import React, { useState } from "react"; import { IPlayer } from "../../PersonObjects/IPlayer"; import { IEngine } from "../../IEngine"; import { Factions } from "../Factions"; import { displayFactionContent, joinFaction } from "../FactionHelpers"; interface IProps { player: IPlayer; engine: IEngine; } export function FactionList(props: IProps): React.ReactElement { const setRerender = useState(false)[1]; function openFaction(faction: string): void { props.engine.loadFactionContent(); displayFactionContent(faction); } function acceptInvitation( event: React.MouseEvent, faction: string, ): void { if (!event.isTrusted) return; joinFaction(Factions[faction]); setRerender((x) => !x); } return ( <>

Factions

Lists all factions you have joined



Outstanding Faction Invitations

Lists factions you have been invited to. You can accept these faction invitations at any time.

); }