feat(ui): add clanURI to ClanContext

This commit is contained in:
Brian McGee
2025-08-21 15:04:20 +01:00
parent db4e6c0be5
commit 73f5f887f3

View File

@@ -37,6 +37,7 @@ import { Sidebar } from "@/src/components/Sidebar/Sidebar";
import { UseQueryResult } from "@tanstack/solid-query"; import { UseQueryResult } from "@tanstack/solid-query";
export const ClanContext = createContext<{ export const ClanContext = createContext<{
clanURI: string;
machinesQuery: MachinesQueryResult; machinesQuery: MachinesQueryResult;
activeClanQuery: UseQueryResult<ClanDetailsWithURI>; activeClanQuery: UseQueryResult<ClanDetailsWithURI>;
otherClanQueries: UseQueryResult<ClanDetailsWithURI>[]; otherClanQueries: UseQueryResult<ClanDetailsWithURI>[];
@@ -55,6 +56,7 @@ export const Clan: Component<RouteSectionProps> = (props) => {
return ( return (
<ClanContext.Provider <ClanContext.Provider
value={{ value={{
clanURI,
machinesQuery, machinesQuery,
activeClanQuery, activeClanQuery,
otherClanQueries, otherClanQueries,
@@ -118,14 +120,14 @@ const MockCreateMachine = (props: MockProps) => {
}; };
const ClanSceneController = (props: RouteSectionProps) => { const ClanSceneController = (props: RouteSectionProps) => {
const clanURI = useClanURI();
const navigate = useNavigate();
const ctx = useContext(ClanContext); const ctx = useContext(ClanContext);
if (!ctx) { if (!ctx) {
throw new Error("ClanContext not found"); throw new Error("ClanContext not found");
} }
const navigate = useNavigate();
const { clanURI } = ctx;
const [dialogHandlers, setDialogHandlers] = createSignal<{ const [dialogHandlers, setDialogHandlers] = createSignal<{
resolve: ({ id }: { id: string }) => void; resolve: ({ id }: { id: string }) => void;
reject: (err: unknown) => void; reject: (err: unknown) => void;
@@ -261,10 +263,7 @@ const ClanSceneController = (props: RouteSectionProps) => {
isLoading={isLoading()} isLoading={isLoading()}
cubesQuery={ctx.machinesQuery} cubesQuery={ctx.machinesQuery}
onCreate={onCreate} onCreate={onCreate}
sceneStore={() => { sceneStore={() => store.sceneData?.[ctx.clanURI]}
const clanURI = useClanURI();
return store.sceneData?.[clanURI];
}}
setMachinePos={(machineId: string, pos: [number, number]) => { setMachinePos={(machineId: string, pos: [number, number]) => {
console.log("calling setStore", machineId, pos); console.log("calling setStore", machineId, pos);
setStore( setStore(