feat: Added search bar to navigation panel for searching tags and smart views (#2815)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { Action } from '@standardnotes/snjs'
|
||||
import { FunctionComponent, useRef } from 'react'
|
||||
import { FunctionComponent, useState } from 'react'
|
||||
import { useListKeyboardNavigation } from '@/Hooks/useListKeyboardNavigation'
|
||||
import HistoryListItem from './HistoryListItem'
|
||||
import { NoteHistoryController } from '@/Controllers/NoteHistory/NoteHistoryController'
|
||||
@@ -13,16 +13,16 @@ type Props = {
|
||||
const LegacyHistoryList: FunctionComponent<Props> = ({ legacyHistory, noteHistoryController, onSelectRevision }) => {
|
||||
const { selectLegacyRevision, selectedEntry } = noteHistoryController
|
||||
|
||||
const legacyHistoryListRef = useRef<HTMLDivElement>(null)
|
||||
const [listElement, setListElement] = useState<HTMLDivElement | null>(null)
|
||||
|
||||
useListKeyboardNavigation(legacyHistoryListRef)
|
||||
useListKeyboardNavigation(listElement)
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`flex h-full w-full flex-col focus:shadow-none ${
|
||||
!legacyHistory?.length ? 'items-center justify-center' : ''
|
||||
}`}
|
||||
ref={legacyHistoryListRef}
|
||||
ref={setListElement}
|
||||
>
|
||||
{legacyHistory?.map((entry) => {
|
||||
const selectedEntryUrl = (selectedEntry as Action)?.subactions?.[0].url
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { observer } from 'mobx-react-lite'
|
||||
import { Fragment, FunctionComponent, useMemo, useRef } from 'react'
|
||||
import { Fragment, FunctionComponent, useMemo, useState } from 'react'
|
||||
import Icon from '@/Components/Icon/Icon'
|
||||
import { useListKeyboardNavigation } from '@/Hooks/useListKeyboardNavigation'
|
||||
import HistoryListItem from './HistoryListItem'
|
||||
@@ -22,9 +22,9 @@ const RemoteHistoryList: FunctionComponent<RemoteHistoryListProps> = ({
|
||||
}) => {
|
||||
const { remoteHistory, isFetchingRemoteHistory, selectRemoteRevision, selectedEntry } = noteHistoryController
|
||||
|
||||
const remoteHistoryListRef = useRef<HTMLDivElement>(null)
|
||||
const [listElement, setListElement] = useState<HTMLDivElement | null>(null)
|
||||
|
||||
useListKeyboardNavigation(remoteHistoryListRef)
|
||||
useListKeyboardNavigation(listElement)
|
||||
|
||||
const remoteHistoryLength = useMemo(() => remoteHistory?.map((group) => group.entries).flat().length, [remoteHistory])
|
||||
|
||||
@@ -33,7 +33,7 @@ const RemoteHistoryList: FunctionComponent<RemoteHistoryListProps> = ({
|
||||
className={`flex h-full w-full flex-col focus:shadow-none ${
|
||||
isFetchingRemoteHistory || !remoteHistoryLength ? 'items-center justify-center' : ''
|
||||
}`}
|
||||
ref={remoteHistoryListRef}
|
||||
ref={setListElement}
|
||||
>
|
||||
{isFetchingRemoteHistory && <Spinner className="h-5 w-5" />}
|
||||
{remoteHistory?.map((group) => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Fragment, FunctionComponent, useMemo, useRef } from 'react'
|
||||
import { Fragment, FunctionComponent, useMemo, useState } from 'react'
|
||||
import { useListKeyboardNavigation } from '@/Hooks/useListKeyboardNavigation'
|
||||
import HistoryListItem from './HistoryListItem'
|
||||
import { observer } from 'mobx-react-lite'
|
||||
@@ -12,9 +12,9 @@ type Props = {
|
||||
const SessionHistoryList: FunctionComponent<Props> = ({ noteHistoryController, onSelectRevision }) => {
|
||||
const { sessionHistory, selectedRevision, selectSessionRevision } = noteHistoryController
|
||||
|
||||
const sessionHistoryListRef = useRef<HTMLDivElement>(null)
|
||||
const [listElement, setListElement] = useState<HTMLDivElement | null>(null)
|
||||
|
||||
useListKeyboardNavigation(sessionHistoryListRef)
|
||||
useListKeyboardNavigation(listElement)
|
||||
|
||||
const sessionHistoryLength = useMemo(
|
||||
() => sessionHistory?.map((group) => group.entries).flat().length,
|
||||
@@ -26,7 +26,7 @@ const SessionHistoryList: FunctionComponent<Props> = ({ noteHistoryController, o
|
||||
className={`flex h-full w-full flex-col focus:shadow-none ${
|
||||
!sessionHistoryLength ? 'items-center justify-center' : ''
|
||||
}`}
|
||||
ref={sessionHistoryListRef}
|
||||
ref={setListElement}
|
||||
>
|
||||
{sessionHistory?.map((group) => {
|
||||
if (group.entries && group.entries.length) {
|
||||
|
||||
Reference in New Issue
Block a user