From 1fdd5dcc0c058ec2ee618f91a9c492ce114bb8d0 Mon Sep 17 00:00:00 2001 From: developomp Date: Mon, 9 Aug 2021 17:17:02 +0900 Subject: [PATCH] changed input bar size, better query string conversion, and moved search button location --- source/src/pages/Search.tsx | 153 ++++++++++++++++++++++-------------- 1 file changed, 96 insertions(+), 57 deletions(-) diff --git a/source/src/pages/Search.tsx b/source/src/pages/Search.tsx index 62904fe..ecaaa98 100644 --- a/source/src/pages/Search.tsx +++ b/source/src/pages/Search.tsx @@ -54,6 +54,13 @@ const StyledDateRange = styled(DateRange)` } ` +const StyledInput = styled.input` + width: 100%; + height: 2rem; + + background-color: ${theming.dark.color0}; +` + function isDateInRange( dateToCompare: string, from: string, @@ -72,16 +79,16 @@ function isDateInRange( return Date.parse(from) < compareDate && compareDate < Date.parse(to) } -// todo: find ways to get rid of wrapper component +// Search doesn't work on url change if component is not wrapped +// todo: find ways to get rid of wrapper component and use class component export default function Search() { return <_Search /> } -// have to be in a separate component for tags to update when the urls change -// todo: check if using keys will allow me to use class components function _Search() { const [index, setIndex] = useState({} as elasticlunr.Index) + // load search index only once useEffect(() => setIndex(elasticlunr.Index.load(searchIndex as never)), []) const _history = useHistory() @@ -94,11 +101,12 @@ function _Search() { from: _query.from ? _query.from?.toString() : "", to: _query.to ? _query.to?.toString() : "", tags: _query.tags ? _query.tags.toString().split(",") : [], + query: _query.query ? _query.query.toString() : "", } const [dateRange, setDateRange] = useState([ { - startDate: new Date(0), + startDate: new Date(0), // default date endDate: null, key: "selection", }, @@ -125,8 +133,12 @@ function _Search() { ranges={dateRange} onChange={(item) => { const historyToPush = { - from: query.from, - to: query.to, + ...(query.from && { + from: query.from, + }), + ...(query.to && { + to: query.to, + }), tags: query.tags.join(","), } @@ -151,12 +163,68 @@ function _Search() { /> - setSearchInput(event.target.value) } /> +

@@ -176,8 +244,12 @@ function _Search() { _history.push({ pathname: "/search", search: queryString.stringify({ - from: query.from, - to: query.to, + ...(query.from && { + from: query.from, + }), + ...(query.to && { + to: query.to, + }), tags: "include,!exclude", }), }) @@ -191,8 +263,12 @@ function _Search() { _history.push({ pathname: "/search", search: queryString.stringify({ - from: query.from, - to: query.to, + ...(query.from && { + from: query.from, + }), + ...(query.to && { + to: query.to, + }), tags: "include2,!exclude2", }), }) @@ -203,57 +279,20 @@ function _Search() {

-