Merge pull request #2757 from omnivore-app/fix/web-rss-search

Better handling of subscription type searches
This commit is contained in:
Jackson Harper
2023-09-12 15:27:59 +08:00
committed by GitHub
2 changed files with 22 additions and 9 deletions

View File

@ -5,6 +5,7 @@ import { Button } from '../../elements/Button'
import { Circle } from 'phosphor-react'
import {
Subscription,
SubscriptionType,
useGetSubscriptionsQuery,
} from '../../../lib/networking/queries/useGetSubscriptionsQuery'
import { useGetLabelsQuery } from '../../../lib/networking/queries/useGetLabelsQuery'
@ -200,14 +201,26 @@ function Subscriptions(
{...props}
/>
{(props.subscriptions ?? []).map((item) => {
return (
<FilterButton
key={item.id}
filterTerm={`subscription:\"${item.name}\"`}
text={item.name}
{...props}
/>
)
switch (item.type) {
case SubscriptionType.NEWSLETTER:
return (
<FilterButton
key={item.id}
filterTerm={`in:inbox subscription:\"${item.name}\"`}
text={item.name}
{...props}
/>
)
case SubscriptionType.RSS:
return (
<FilterButton
key={item.id}
filterTerm={`in:inbox rss:\"${item.url}\"`}
text={item.name}
{...props}
/>
)
}
})}
<EditButton
title="Edit Subscriptions"

View File

@ -237,7 +237,7 @@ export function SearchBox(props: SearchBoxProps): JSX.Element {
const [searchTerm, setSearchTerm] = useState(props.searchTerm ?? '')
const [isAddAction, setIsAddAction] = useState(false)
const IS_URL_REGEX =
/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/
/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$/
useEffect(() => {
setSearchTerm(props.searchTerm ?? '')