import { Button } from "@saleor/components/Button"; import { makeStyles } from "@saleor/macaw-ui"; import { SearchPageProps, TabPageProps } from "@saleor/types"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import FilterTabs, { FilterTab } from "../TableFilter"; import SearchInput from "./SearchInput"; export interface SearchBarProps extends SearchPageProps, TabPageProps { allTabLabel: string; searchPlaceholder: string; } const useStyles = makeStyles( theme => ({ root: { borderBottom: `1px solid ${theme.palette.divider}`, display: "flex", flexWrap: "wrap", padding: theme.spacing(1, 4) }, tabActionButton: { marginLeft: theme.spacing(2), paddingLeft: theme.spacing(3), paddingRight: theme.spacing(3) } }), { name: "SearchBar" } ); const SearchBar: React.FC = props => { const { allTabLabel, currentTab, initialSearch, onSearchChange, searchPlaceholder, tabs, onAll, onTabChange, onTabDelete, onTabSave } = props; const classes = useStyles(props); const intl = useIntl(); const isCustom = currentTab === tabs.length + 1; const displayTabAction = isCustom ? "save" : currentTab === 0 ? null : "delete"; return ( <> {tabs.map((tab, tabIndex) => ( onTabChange(tabIndex + 1)} label={tab} key={tabIndex} /> ))} {isCustom && ( undefined} label={intl.formatMessage({ id: "qIgdO6", defaultMessage: "Custom Filter" })} /> )}
{displayTabAction && (displayTabAction === "save" ? ( ) : ( displayTabAction === "delete" && ( ) ))}
); }; SearchBar.displayName = "SearchBar"; export default SearchBar;