FPSMS-frontend
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

35 řádky
1.1 KiB

  1. "use client";
  2. import { useState, useEffect } from "react";
  3. import EquipmentSearch from "./EquipmentSearch";
  4. import EquipmentSearchLoading from "./EquipmentSearchLoading";
  5. import EquipmentTabs from "@/app/(main)/settings/equipment/EquipmentTabs";
  6. import { useSearchParams } from "next/navigation";
  7. interface SubComponents {
  8. Loading: typeof EquipmentSearchLoading;
  9. }
  10. const EquipmentSearchWrapper: React.FC & SubComponents = () => {
  11. const searchParams = useSearchParams();
  12. const tabFromUrl = searchParams.get("tab");
  13. const initialTabIndex = tabFromUrl ? parseInt(tabFromUrl, 10) : 0;
  14. const [tabIndex, setTabIndex] = useState(initialTabIndex);
  15. useEffect(() => {
  16. const tabFromUrl = searchParams.get("tab");
  17. const newTabIndex = tabFromUrl ? parseInt(tabFromUrl, 10) : 0;
  18. setTabIndex(newTabIndex);
  19. }, [searchParams]);
  20. return (
  21. <>
  22. <EquipmentTabs onTabChange={setTabIndex} />
  23. <EquipmentSearch equipments={[]} tabIndex={tabIndex} />
  24. </>
  25. );
  26. };
  27. EquipmentSearchWrapper.Loading = EquipmentSearchLoading;
  28. export default EquipmentSearchWrapper;