Hide global search "pinned" source filter without pinned sources
closes #1095
This commit is contained in:
@@ -25,6 +25,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|||||||
- (**Theme**) Change "pure black mode" paper background color to true black
|
- (**Theme**) Change "pure black mode" paper background color to true black
|
||||||
- (**Library**) Improve library manga sorting
|
- (**Library**) Improve library manga sorting
|
||||||
- (**Browse**) Merge languages filter of the sources and extensions into one
|
- (**Browse**) Merge languages filter of the sources and extensions into one
|
||||||
|
- (**Search**) Hide "pinned" sources button in global search in case no sources are pinned
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -253,7 +253,6 @@ export const SearchAll = ({
|
|||||||
const { pathname, state } = useLocation<{ mangaTitle?: string; shouldShowOnlyPinnedSources?: boolean }>();
|
const { pathname, state } = useLocation<{ mangaTitle?: string; shouldShowOnlyPinnedSources?: boolean }>();
|
||||||
const { ref: filterHeaderRef, height: filterHeaderHeight } = useElementSize();
|
const { ref: filterHeaderRef, height: filterHeaderHeight } = useElementSize();
|
||||||
|
|
||||||
const shouldShowOnlyPinnedSources = state?.shouldShowOnlyPinnedSources ?? true;
|
|
||||||
const isMigrateMode = pathname.startsWith('/migrate/source') || pathname.startsWith('/migrate/manual-search');
|
const isMigrateMode = pathname.startsWith('/migrate/source') || pathname.startsWith('/migrate/manual-search');
|
||||||
|
|
||||||
const { mangaId } = useParams<{ mangaId?: string }>() ?? STABLE_EMPTY_OBJECT;
|
const { mangaId } = useParams<{ mangaId?: string }>() ?? STABLE_EMPTY_OBJECT;
|
||||||
@@ -280,6 +279,9 @@ export const SearchAll = ({
|
|||||||
|
|
||||||
const sourceLanguages = useMemo(() => Sources.getLanguages(sources), [sources]);
|
const sourceLanguages = useMemo(() => Sources.getLanguages(sources), [sources]);
|
||||||
|
|
||||||
|
const hasPinnedSources = useMemo(() => !!Sources.filter(sources, { pinned: true }).length, [sources]);
|
||||||
|
const shouldShowOnlyPinnedSources = state?.shouldShowOnlyPinnedSources ?? hasPinnedSources;
|
||||||
|
|
||||||
const filteredSources = useMemo(
|
const filteredSources = useMemo(
|
||||||
() =>
|
() =>
|
||||||
Sources.filter(sources, {
|
Sources.filter(sources, {
|
||||||
@@ -358,7 +360,9 @@ export const SearchAll = ({
|
|||||||
background: (theme) => theme.palette.background.default,
|
background: (theme) => theme.palette.background.default,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Stack sx={{ flexDirection: 'row', gap: 1 }}>
|
{hasPinnedSources && (
|
||||||
|
<>
|
||||||
|
(
|
||||||
<Button
|
<Button
|
||||||
startIcon={<PushPinIcon />}
|
startIcon={<PushPinIcon />}
|
||||||
variant={shouldShowOnlyPinnedSources ? 'contained' : 'outlined'}
|
variant={shouldShowOnlyPinnedSources ? 'contained' : 'outlined'}
|
||||||
@@ -395,7 +399,9 @@ export const SearchAll = ({
|
|||||||
>
|
>
|
||||||
{t`All`}
|
{t`All`}
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
)
|
||||||
|
</>
|
||||||
|
)}
|
||||||
<Button
|
<Button
|
||||||
startIcon={<FilterListIcon />}
|
startIcon={<FilterListIcon />}
|
||||||
variant={shouldShowOnlySourcesWithResults ? 'contained' : 'outlined'}
|
variant={shouldShowOnlySourcesWithResults ? 'contained' : 'outlined'}
|
||||||
|
|||||||
Reference in New Issue
Block a user