# extendify/3.0.6/src/HelpCenter/hooks/useSearchArticles.js

Extendify, version 3.0.6. 22 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.0.6/code/src/HelpCenter/hooks/useSearchArticles.js
- Raw: https://pluginprobe.com/plugins/extendify/3.0.6/raw/src/HelpCenter/hooks/useSearchArticles.js
- Modified: 2024-12-19T17:43:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.0.6/code/src/HelpCenter/hooks/useSearchArticles.js#L10-L20`.

```javascript
import { KB_HOST } from '@constants';
import useSWRImmutable from 'swr/immutable';

export const fetcher = async (search) => {
	if (search.length < 3) return null;
	const urlParams = new URLSearchParams({
		lang: window.extSharedData.wpLanguage || null,
		search,
	});
	return await fetch(`${KB_HOST}/api/posts?${urlParams.toString()}`, {
		method: 'POST',
	}).then((res) => {
		if (!res.ok) throw new Error(res.statusText);
		return res.json();
	});
};

export const useSearchArticles = (search) => {
	const { data, error } = useSWRImmutable(search || null, fetcher);
	return { data, error, loading: !data && !error };
};

```
