~bigbes/lethe

ref: 20e5301a02603e4b525a946a0b077aab86f94f99 lethe/web/src/routes/search.tsx -rw-r--r-- 822 bytes
20e5301a — Eugene Blikh docs: plan lethe collector implementation 24 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { createFileRoute } from '@tanstack/react-router'
import React from 'react'
import { EmptyState, Tag } from '../primitives'
import { SubBar } from '../shell/SubBar'

type SearchParams = {
  q?: string
}

export const Route = createFileRoute('/search')({
  validateSearch: (search: Record<string, unknown>): SearchParams => ({
    q: typeof search['q'] === 'string' ? search['q'] : undefined,
  }),
  component: SearchRoute,
})

function SearchRoute(): React.JSX.Element {
  const { q } = Route.useSearch()
  return (
    <>
      <SubBar>
        <Tag kind="neutral">search</Tag>
        {q != null && q !== '' && (
          <Tag kind="neutral">"{q}"</Tag>
        )}
      </SubBar>
      <div className="body body-pad">
        <EmptyState glyph="∅" copy="coming in a later task" />
      </div>
    </>
  )
}