"use client";
import { useState, ReactNode, useEffect } from "react";
import { Box, Tabs, Tab } from "@mui/material";
import { useTranslation } from "react-i18next";
import { useSearchParams, useRouter } from "next/navigation";
interface WarehouseTabsProps {
tab0Content: ReactNode;
tab1Content: ReactNode;
}
function TabPanel({
children,
value,
index,
}: {
children?: ReactNode;
value: number;
index: number;
}) {
return (
{value === index && {children}}
);
}
export default function WarehouseTabs({ tab0Content, tab1Content }: WarehouseTabsProps) {
const { t } = useTranslation("warehouse");
const searchParams = useSearchParams();
const router = useRouter();
const [currentTab, setCurrentTab] = useState(() => {
const tab = searchParams.get("tab");
return tab === "1" ? 1 : 0;
});
useEffect(() => {
const tab = searchParams.get("tab");
setCurrentTab(tab === "1" ? 1 : 0);
}, [searchParams]);
const handleTabChange = (_e: React.SyntheticEvent, newValue: number) => {
setCurrentTab(newValue);
const params = new URLSearchParams(searchParams.toString());
if (newValue === 0) params.delete("tab");
else params.set("tab", String(newValue));
router.push(`?${params.toString()}`, { scroll: false });
};
return (
{tab0Content}
{tab1Content}
);
}