25 lines
951 B
TypeScript
25 lines
951 B
TypeScript
import type { Contract } from "@deadhead/schema";
|
|
import { useState } from "react";
|
|
import { useLoadedPlayer } from "../state/actions";
|
|
import { Screen, ScreenHeader } from "../ui";
|
|
import { LocationBoards } from "./LocationBoards";
|
|
import { DispatchSheet } from "./DispatchSheet";
|
|
import { TutorialBoard } from "./TutorialBoard";
|
|
|
|
/** Contracts: the tutorial board during the tutorial, location boards afterwards. */
|
|
export function Contracts() {
|
|
const state = useLoadedPlayer();
|
|
const [selected, setSelected] = useState<Contract | null>(null);
|
|
return (
|
|
<Screen className="max-w-4xl">
|
|
<ScreenHeader
|
|
title="Contracts"
|
|
eyebrow={state.tutorial ? "Halvorsen Lunar Freight" : "Freight market"}
|
|
icon="jobs"
|
|
/>
|
|
{state.tutorial ? <TutorialBoard /> : <LocationBoards onSelect={setSelected} />}
|
|
{selected && <DispatchSheet contract={selected} onClose={() => setSelected(null)} />}
|
|
</Screen>
|
|
);
|
|
}
|