From 56878f647ea0f1066fa3e222d7aa0d83057f496d Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Mon, 13 Nov 2023 17:45:59 +0100
Subject: 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)
---
 src/components/organisms/layout/no-results.tsx | 55 --------------------------
 1 file changed, 55 deletions(-)
 delete mode 100644 src/components/organisms/layout/no-results.tsx

(limited to 'src/components/organisms/layout/no-results.tsx')

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} />
-    </>
-  );
-};
-- 
cgit v1.2.3

