diff --git a/packages/app/src/components/search/SearchPage.tsx b/packages/app/src/components/search/SearchPage.tsx index 3955ec1a2a..221d4a44c4 100644 --- a/packages/app/src/components/search/SearchPage.tsx +++ b/packages/app/src/components/search/SearchPage.tsx @@ -15,67 +15,88 @@ */ import React from 'react'; -import { Content, Header, Lifecycle, Page } from '@backstage/core'; -import { Grid, List, Card, CardContent } from '@material-ui/core'; -import { - SearchBarNext, - SearchResultNext, - DefaultResultListItem, - SearchFilterNext, -} from '@backstage/plugin-search'; -import { CatalogResultListItem } from '@backstage/plugin-catalog'; +import { makeStyles, Theme, Grid, List, Paper } from '@material-ui/core'; -export const searchPage = ( - -
} /> - - - - - - - - - ({ + bar: { + padding: theme.spacing(1, 0), + }, + filters: { + padding: theme.spacing(2), + }, + filter: { + '& + &': { + marginTop: theme.spacing(2.5), + }, + }, +})); + +const SearchPage = () => { + const classes = useStyles(); + + return ( + +
} /> + + + + + + + + + + - - - - - + + + + + {({ results }) => ( + + {results.map(({ type, document }) => { + switch (type) { + case 'software-catalog': + return ( + + ); + default: + return ( + + ); + } + })} + + )} + + - - - {({ results }) => ( - - {results.map(result => { - switch (result.type) { - case 'software-catalog': - return ( - - ); - default: - return ( - - ); - } - })} - - )} - - - - - -); + + + ); +}; + +export const searchPage = ; diff --git a/plugins/search/src/components/SearchBarNext/SearchBarNext.tsx b/plugins/search/src/components/SearchBarNext/SearchBarNext.tsx index b223e6c2cd..76bc9bf4f9 100644 --- a/plugins/search/src/components/SearchBarNext/SearchBarNext.tsx +++ b/plugins/search/src/components/SearchBarNext/SearchBarNext.tsx @@ -16,64 +16,52 @@ import React, { ChangeEvent, useState } from 'react'; import { useDebounce } from 'react-use'; -import { - Theme, - Paper, - InputBase, - InputAdornment, - IconButton, - makeStyles, -} from '@material-ui/core'; +import { InputBase, InputAdornment, IconButton } from '@material-ui/core'; import SearchIcon from '@material-ui/icons/Search'; import ClearButton from '@material-ui/icons/Clear'; import { useSearch } from '../SearchContext'; -const useStyles = makeStyles((theme: Theme) => ({ - root: { - display: 'flex', - alignItems: 'center', - padding: theme.spacing(0, 0, 0, 1.5), - }, - input: { - flex: 1, - }, -})); - type Props = { + className?: string; debounceTime?: number; }; -export const SearchBarNext = ({ debounceTime = 0 }: Props) => { - const classes = useStyles(); +export const SearchBarNext = ({ className, debounceTime = 0 }: Props) => { const { term, setTerm } = useSearch(); const [value, setValue] = useState(term); useDebounce(() => setTerm(value), debounceTime, [value]); - const handleSearch = (e: ChangeEvent) => { + const handleQuery = (e: ChangeEvent) => { setValue(e.target.value); }; const handleClear = () => setValue(''); return ( - - + + - - } - /> - - - - + + + } + endAdornment={ + + + + + + } + /> ); }; diff --git a/plugins/search/src/components/SearchFilterNext/SearchFilterNext.tsx b/plugins/search/src/components/SearchFilterNext/SearchFilterNext.tsx index 0c13fbc008..239707e5ab 100644 --- a/plugins/search/src/components/SearchFilterNext/SearchFilterNext.tsx +++ b/plugins/search/src/components/SearchFilterNext/SearchFilterNext.tsx @@ -35,6 +35,7 @@ const useStyles = makeStyles({ }); export type Component = { + className?: string; name: string; values?: string[]; defaultValue?: string[] | string | null; @@ -45,7 +46,12 @@ export type Props = Component & { debug?: boolean; }; -const CheckboxFilter = ({ name, defaultValue, values = [] }: Component) => { +const CheckboxFilter = ({ + className, + name, + defaultValue, + values = [], +}: Component) => { const classes = useStyles(); const { filters, setFilters } = useSearch(); @@ -72,7 +78,11 @@ const CheckboxFilter = ({ name, defaultValue, values = [] }: Component) => { }; return ( - + {name} {values.map((value: string) => ( { ); }; -const SelectFilter = ({ name, defaultValue, values = [] }: Component) => { +const SelectFilter = ({ + className, + name, + defaultValue, + values = [], +}: Component) => { const classes = useStyles(); const { filters, setFilters } = useSearch(); @@ -120,7 +135,12 @@ const SelectFilter = ({ name, defaultValue, values = [] }: Component) => { }; return ( - + {name}