fix: selection issues on workflow page
This commit is contained in:
		
							parent
							
								
									b81fcae6fb
								
							
						
					
					
						commit
						774fd566d1
					
				@ -124,14 +124,48 @@ export function MachineSelect({
 | 
				
			|||||||
  );
 | 
					  );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SelectedMachineStore = {
 | 
				
			||||||
 | 
					  selectedMachine: string | undefined;
 | 
				
			||||||
 | 
					  setSelectedMachine: (machine: string) => void;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const selectedMachineStore = create<SelectedMachineStore>((set) => ({
 | 
				
			||||||
 | 
					  selectedMachine: undefined,
 | 
				
			||||||
 | 
					  setSelectedMachine: (machine) => set(() => ({ selectedMachine: machine })),
 | 
				
			||||||
 | 
					}));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function useSelectedMachine(
 | 
					export function useSelectedMachine(
 | 
				
			||||||
  machines: Awaited<ReturnType<typeof getMachines>>,
 | 
					  machines: Awaited<ReturnType<typeof getMachines>>,
 | 
				
			||||||
) {
 | 
					): [string, (v: string) => void] {
 | 
				
			||||||
  const a = useQueryState("machine", {
 | 
					  const { selectedMachine, setSelectedMachine } = selectedMachineStore();
 | 
				
			||||||
    defaultValue: machines?.[0]?.id ?? "",
 | 
					  return [selectedMachine ?? machines?.[0]?.id ?? "", setSelectedMachine];
 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return a;
 | 
					  // const searchParams = useSearchParams();
 | 
				
			||||||
 | 
					  // const pathname = usePathname();
 | 
				
			||||||
 | 
					  // const router = useRouter();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // const createQueryString = useCallback(
 | 
				
			||||||
 | 
					  //   (name: string, value: string) => {
 | 
				
			||||||
 | 
					  //     const params = new URLSearchParams(searchParams.toString());
 | 
				
			||||||
 | 
					  //     params.set(name, value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //     return params.toString();
 | 
				
			||||||
 | 
					  //   },
 | 
				
			||||||
 | 
					  //   [searchParams],
 | 
				
			||||||
 | 
					  // );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // return [
 | 
				
			||||||
 | 
					  //   searchParams.get("machine") ?? machines?.[0]?.id ?? "",
 | 
				
			||||||
 | 
					  //   (v: string) => {
 | 
				
			||||||
 | 
					  //     // window.history.pushState(
 | 
				
			||||||
 | 
					  //     //   "new url",
 | 
				
			||||||
 | 
					  //     //   "",
 | 
				
			||||||
 | 
					  //     //   pathname + "?" + createQueryString("machine", v),
 | 
				
			||||||
 | 
					  //     // );
 | 
				
			||||||
 | 
					  //     // router.push(pathname + "?" + createQueryString("machine", v));
 | 
				
			||||||
 | 
					  //     router.replace(pathname + "?" + createQueryString("machine", v));
 | 
				
			||||||
 | 
					  //   },
 | 
				
			||||||
 | 
					  // ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type PublicRunStore = {
 | 
					type PublicRunStore = {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user