import { jsxs, jsx } from "react/jsx-runtime"; import { B as Button } from "./button-CdJZJLGw.js"; import { D as DropdownMenu, a as DropdownMenuTrigger, b as DropdownMenuContent, c as DropdownMenuItem } from "./dropdown-menu-msun3TP8.js"; import { S as ScrollArea } from "./scroll-area-CDdrLubh.js"; import { g as getQueryParams } from "./route-DlE7FdTW.js"; import { usePage, router } from "@inertiajs/react"; import "react"; import "@radix-ui/react-slot"; import "class-variance-authority"; import "./utils-DLCPGU0v.js"; import "clsx"; import "tailwind-merge"; import "@radix-ui/react-dropdown-menu"; import "lucide-react"; import "@radix-ui/react-scroll-area"; const TableFooter = (props) => { const { props: pageProps } = usePage(); const { translate } = pageProps; const { frontend, common } = translate; const { current_page, last_page, first_page_url, last_page_url, next_page_url, prev_page_url } = props.paginationInfo; const page = usePage(); const urlParams = getQueryParams(page.url); const dropdownList = []; if (last_page > 0) { for (let i = 1; i <= last_page; i++) { dropdownList.push({ key: `${i}`, value: i }); } } else { dropdownList.push({ key: "1", value: 1 }); } const gotoPage = (pageNumber) => { router.get( route(props.routeName, { ...props.routeParams || {}, ...urlParams, page: pageNumber }) ); }; const gotoRoute = (path) => { var _a, _b; const pathParams = getQueryParams(path); router.get( route(props.routeName, { category: (_a = page.props.category) == null ? void 0 : _a.id, category_child: (_b = page.props.categoryChild) == null ? void 0 : _b.id, ...props.routeParams || {}, ...urlParams, ...pathParams }) ); }; const menuItem = (e) => { return `text-center py-1 ${current_page === e && "bg-primary-50"}`; }; return /* @__PURE__ */ jsxs("div", { className: `${props.className}`, children: [ /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center justify-center md:hidden", children: [ /* @__PURE__ */ jsx("span", { className: "mr-1", children: /* @__PURE__ */ jsxs("strong", { children: [ current_page, " ", common.of, " ", last_page ] }) }), /* @__PURE__ */ jsxs("span", { className: "mr-3", children: [ "| ", frontend.go_to_page_colon ] }), /* @__PURE__ */ jsxs(DropdownMenu, { children: [ /* @__PURE__ */ jsx(DropdownMenuTrigger, { children: /* @__PURE__ */ jsx(Button, { variant: "secondary", className: "hover:border-primary h-8 w-[60px] rounded-md border border-gray-200 text-gray-700", children: current_page }) }), /* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", className: "min-w-[60px]", children: /* @__PURE__ */ jsx(ScrollArea, { className: "", children: dropdownList.map((item) => /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: () => gotoPage(item.value), className: menuItem(item.value), children: item.value }, item.key)) }) }) ] }) ] }), /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center", children: [ /* @__PURE__ */ jsx(Button, { color: "white", disabled: !prev_page_url, onClick: () => gotoRoute(first_page_url), className: "h-8 px-2 text-xs sm:px-3", children: "< gotoRoute(prev_page_url), className: "mx-3 h-8 px-2 text-xs sm:px-3", children: frontend.prev } ), /* @__PURE__ */ jsxs("div", { className: "hidden items-center md:flex", children: [ /* @__PURE__ */ jsxs("span", { className: "mr-1", children: [ common.page, " ", /* @__PURE__ */ jsxs("strong", { children: [ current_page, " ", common.of, " ", last_page ] }) ] }), /* @__PURE__ */ jsxs("span", { className: "mr-3", children: [ "| ", frontend.go_to_page_colon ] }), /* @__PURE__ */ jsxs(DropdownMenu, { children: [ /* @__PURE__ */ jsx(DropdownMenuTrigger, { children: /* @__PURE__ */ jsx(Button, { variant: "secondary", className: "hover:border-primary h-8 w-[60px] rounded-md border border-gray-200 text-gray-700", children: current_page }) }), /* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", className: "min-w-[60px]", children: /* @__PURE__ */ jsx(ScrollArea, { className: "", children: dropdownList.map((item) => /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: () => gotoPage(item.value), className: menuItem(item.value), children: item.value }, item.key)) }) }) ] }) ] }), /* @__PURE__ */ jsx( Button, { color: "white", disabled: !next_page_url, onClick: () => gotoRoute(next_page_url), className: "mx-3 h-8 px-2 text-xs sm:px-3", children: frontend.next } ), /* @__PURE__ */ jsx(Button, { color: "white", disabled: !next_page_url, onClick: () => gotoRoute(last_page_url), className: "h-8 px-2 text-xs sm:px-3", children: "Last>>" }) ] }) ] }); }; export { TableFooter as default };