From b5dd6563e14e1a2fc72a76d08b843ae2f620b5d5 Mon Sep 17 00:00:00 2001 From: Clinton Date: Tue, 6 Jul 2021 12:19:28 -0700 Subject: [PATCH] feat: move search bar into controls area --- src/pages/observability-packs.js | 170 ++++++++++++++++++------------- 1 file changed, 98 insertions(+), 72 deletions(-) diff --git a/src/pages/observability-packs.js b/src/pages/observability-packs.js index 82acc164d..c159ff337 100644 --- a/src/pages/observability-packs.js +++ b/src/pages/observability-packs.js @@ -10,6 +10,8 @@ import { SearchInput, useTessen, useInstrumentedData, + Icon, + Button, } from '@newrelic/gatsby-theme-newrelic'; import { useQueryParam, StringParam } from 'use-query-params'; import { useDebounce } from 'react-use'; @@ -41,6 +43,7 @@ const ObservabilityPacksPage = ({ data, location }) => { const [sortState, setSortState] = useState('Alphabetical'); const [searchTerm, setSearchTerm] = useState(''); const [view, setView] = useState(VIEWS.GRID); + const [searchOpen, setSearchOpen] = useState(false); const [querySearch, setQuerySearch] = useQueryParam('search', StringParam); const [queryFilter, setQueryFilter] = useQueryParam('filter', StringParam); @@ -81,6 +84,7 @@ const ObservabilityPacksPage = ({ data, location }) => { useEffect(() => { if (querySearch) { setSearchTerm(querySearch); + setSearchOpen(true); } if (queryFilter) { setContainingFilterState(queryFilter); @@ -119,8 +123,10 @@ const ObservabilityPacksPage = ({ data, location }) => { if (searchTerm !== '') { setQuerySearch(searchTerm); + setSearchOpen(true); } else { setQuerySearch(undefined); + setSearchOpen(false); } setQueryFilter(containingFilterState); setQuerySort(sortState); @@ -154,20 +160,6 @@ const ObservabilityPacksPage = ({ data, location }) => { return ( <> - setSearchTerm('')} - placeholder="Search for an observability pack" - onChange={(e) => { - setSearchTerm(e.target.value.toLowerCase()); - }} - defaultValue={querySearch} - />
{
* { - margin: 0.5rem 0; - } + align-items: center; + > * { + margin: 0 0.5rem; } `} > - - - - +
+ {searchOpen && ( + setSearchTerm('')} + onChange={(e) => { + setSearchTerm(e.target.value.toLowerCase()); + }} + defaultValue={querySearch} + /> + )} + {!searchOpen && ( + + )} +
+
* { + margin: 0.5rem 0; + } + } + `} + > + + + + - - - - + + + + +
+ { + setView(view); + tessen.track('observabilityPack', `packViewToggle`, { + packViewState: view, + }); + }} + />
- { - setView(view); - tessen.track('observabilityPack', `packViewToggle`, { - packViewState: view, - }); - }} - />