aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/layout/no-results.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-11-13 17:45:59 +0100
committerArmand Philippot <git@armandphilippot.com>2023-11-13 17:45:59 +0100
commit56878f647ea0f1066fa3e222d7aa0d83057f496d (patch)
tree26f673a062741414bfa7db5d37990936ce115f49 /src/components/organisms/layout/no-results.tsx
parent599b70cd2390d08ce26ee44174b3f39c6587110c (diff)
refactor(components): rewrite PostsList component
* remove NoResults component and move logic to Search page * add a usePostsList hook * remove Pagination from PostsList (it is only used if javascript is disabled and not on every posts list) * replace `byYear` prop with `sortByYear` * replace `loadMore` prop with `onLoadMore` * remove `showLoadMoreBtn` (we can use `loadMore` prop instead to determine if we need to display the button) * replace `titleLevel` prop with `headingLvl` * add `firstNewResult` prop to handle focus on the new results when loading more article (we should not focus a useless span but the item directly)
Diffstat (limited to 'src/components/organisms/layout/no-results.tsx')
-rw-r--r--src/components/organisms/layout/no-results.tsx55
1 files changed, 0 insertions, 55 deletions
diff --git a/src/components/organisms/layout/no-results.tsx b/src/components/organisms/layout/no-results.tsx
deleted file mode 100644
index f760616..0000000
--- a/src/components/organisms/layout/no-results.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import { useRouter } from 'next/router';
-import { type FC, useCallback } from 'react';
-import { useIntl } from 'react-intl';
-import { ROUTES } from '../../../utils/constants';
-import { SearchForm, type SearchFormSubmit } from '../forms';
-
-/**
- * NoResults component
- *
- * Renders a no results text with a search form.
- */
-export const NoResults: FC = () => {
- const intl = useIntl();
- const router = useRouter();
- const searchSubmitHandler: SearchFormSubmit = useCallback(
- ({ query }) => {
- if (!query)
- return {
- messages: {
- error: intl.formatMessage({
- defaultMessage: 'Query must be longer than one character.',
- description: 'NoResults: invalid query message',
- id: 'VkfO7t',
- }),
- },
- validator: (value) => value.query.length > 1,
- };
-
- router.push({ pathname: ROUTES.SEARCH, query: { s: query } });
-
- return undefined;
- },
- [intl, router]
- );
-
- return (
- <>
- <p>
- {intl.formatMessage({
- defaultMessage: 'No results found.',
- description: 'NoResults: no results',
- id: '5O2vpy',
- })}
- </p>
- <p>
- {intl.formatMessage({
- defaultMessage: 'Would you like to try a new search?',
- description: 'NoResults: try a new search message',
- id: 'DVBwfu',
- })}
- </p>
- <SearchForm isLabelHidden onSubmit={searchSubmitHandler} />
- </>
- );
-};