diff --git a/lib/API.ts b/lib/API.ts index 5f9c10eb..2e11d86e 100644 --- a/lib/API.ts +++ b/lib/API.ts @@ -215,7 +215,7 @@ export namespace API { let obj = await db.findObject(collection, query); if (!obj) { - obj = {}; + obj = false; } res.status(200).send(obj); diff --git a/pages/createTeam.tsx b/pages/createTeam.tsx index 97a84ce1..1b18c856 100644 --- a/pages/createTeam.tsx +++ b/pages/createTeam.tsx @@ -22,6 +22,11 @@ export default function CreateTeam() { const [ftcAutoData, setFtcAutoData] = useState(); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); + const [allianceNumber,setAllianceNumber] = useState(); + const [allianceName, setAllianceName] = useState(); + const [creatingTeam, setCreatingTeam] = useState(); + const [settingState, setSettingState] = useState(true) + const searchTeam = async () => { if (!teamNumber) { @@ -50,6 +55,7 @@ export default function CreateTeam() { }; const createTeam = async (league: League) => { + setError("") if (!autoData || !session?.user) { return; } @@ -82,6 +88,47 @@ export default function CreateTeam() { win.location = `/${newTeam.slug}`; }; + async function createAlliance(league: League){ + setError("") + console.log("Beginning Alliance Creation") + if (!session?.user) { + return; + } + + + if ( + await api.findTeamByNumberAndLeague(Number(allianceNumber), league) + ) { + console.log(allianceNumber) + console.log(league) + setError("This Team Already Exists"); + return; + } + + if (allianceNumber?.toString().length!=7){ + setError("Alliances must have a seven digit number") + return + } + + if(!allianceName) { + setError("Your alliance must have a name") + return + } + console.log("Made part 2") + + + const newTeam = await api.createTeam( + allianceName, + allianceNumber!, + session.user._id, + "none", + league + ); + console.log("Created") + const win: Window = window; + win.location = `/${newTeam.slug}`; + } + useEffect(() => { searchTeam(); }, [teamNumber]); @@ -94,11 +141,27 @@ export default function CreateTeam() { mode="col" className="md:h-full items-center md:justify-center max-sm:py-10" > - + {settingState ? + +
+
{ + setSettingState(false) + setCreatingTeam(false) + }}>Create an Alliance
+
+
{ + setSettingState(false) + setCreatingTeam(true) + }}>Create a team
+
+ : + + creatingTeam?

Search our database with your teams number

{error}

+
setSettingState(true)}>Go Back
createTeam(League.FRC)}> + } { ftcAutoData?.name &&
createTeam(League.FTC)}> @@ -130,7 +194,38 @@ export default function CreateTeam() { )}
)} -
+
+ + : + + +

+ Create your Scouting Alliance +

+

{error}

+
setSettingState(true)}>Go Back
+
+ { + setAllianceNumber(Number(e.target.value)); + }} + > + { + setAllianceName(e.target.value); + }} + > +
+
createAlliance(League.FRC)}>Create Alliance
+
} );