import { ShoppingBag, TruckFast } from "@medusajs/icons" import { Container, Heading } from "@medusajs/ui" import { useTranslation } from "react-i18next" import { useStockLocations } from "../../../hooks/api/stock-locations" import { LOCATION_LIST_FIELDS } from "./constants" import { useLocationListTableColumns } from "./use-location-list-table-columns" import { useLocationListTableQuery } from "./use-location-list-table-query" import { DataTable } from "../../../components/data-table" import { SidebarLink } from "../../../components/common/sidebar-link/sidebar-link" import { TwoColumnPage } from "../../../components/layout/pages" import { useExtension } from "../../../providers/extension-provider" import { keepPreviousData } from "@tanstack/react-query" const PAGE_SIZE = 20 const PREFIX = "loc" export function LocationList() { const { t } = useTranslation() const searchParams = useLocationListTableQuery({ pageSize: PAGE_SIZE, prefix: PREFIX, }) const { stock_locations: stockLocations = [], count, isError, error, isLoading, } = useStockLocations( { fields: LOCATION_LIST_FIELDS, ...searchParams, }, { placeholderData: keepPreviousData, } ) const columns = useLocationListTableColumns() const { getWidgets } = useExtension() if (isError) { throw error } return ( row.id} heading={t("stockLocations.domain")} subHeading={t("stockLocations.list.description")} emptyState={{ empty: { heading: t("stockLocations.list.noRecordsMessage"), description: t("stockLocations.list.noRecordsMessageEmpty"), }, filtered: { heading: t("stockLocations.list.noRecordsMessage"), description: t("stockLocations.list.noRecordsMessageFiltered"), }, }} actions={[ { label: t("actions.create"), to: "create", }, ]} isLoading={isLoading} rowHref={(row) => `/settings/locations/${row.id}`} enableSearch={true} prefix={PREFIX} layout="fill" /> ) } const LinksSection = () => { const { t } = useTranslation() return (
{t("stockLocations.sidebar.header")}
} /> } />
) }