Files
standardnotes-app-web/app/assets/javascripts/Components/SearchOptions/SearchOptions.tsx
2022-05-20 23:20:05 +05:30

35 lines
1.1 KiB
TypeScript

import { AppState } from '@/UIModels/AppState'
import { WebApplication } from '@/UIModels/Application'
import { observer } from 'mobx-react-lite'
import Bubble from '@/Components/Bubble/Bubble'
import { useCallback } from 'preact/hooks'
type Props = {
appState: AppState
application: WebApplication
}
export const SearchOptions = observer(({ appState }: Props) => {
const { searchOptions } = appState
const { includeProtectedContents, includeArchived, includeTrashed } = searchOptions
const toggleIncludeProtectedContents = useCallback(async () => {
await searchOptions.toggleIncludeProtectedContents()
}, [searchOptions])
return (
<div role="tablist" className="search-options justify-center" onMouseDown={(e) => e.preventDefault()}>
<Bubble
label="Protected Contents"
selected={includeProtectedContents}
onSelect={toggleIncludeProtectedContents}
/>
<Bubble label="Archived" selected={includeArchived} onSelect={searchOptions.toggleIncludeArchived} />
<Bubble label="Trashed" selected={includeTrashed} onSelect={searchOptions.toggleIncludeTrashed} />
</div>
)
})