aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/lib/hooks
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-13 21:43:44 +0000
committerMohamed Bassem <me@mbassem.com>2024-03-14 16:40:45 +0000
commit04572a8e5081b1e4871e273cde9dbaaa44c52fe0 (patch)
tree8e993acb732a50d1306d4d6953df96c165c57f57 /packages/web/lib/hooks
parent2df08ed08c065e8b91bc8df0266bd4bcbb062be4 (diff)
downloadkarakeep-04572a8e5081b1e4871e273cde9dbaaa44c52fe0.tar.zst
structure: Create apps dir and copy tooling dir from t3-turbo repo
Diffstat (limited to 'packages/web/lib/hooks')
-rw-r--r--packages/web/lib/hooks/bookmark-search.ts73
1 files changed, 0 insertions, 73 deletions
diff --git a/packages/web/lib/hooks/bookmark-search.ts b/packages/web/lib/hooks/bookmark-search.ts
deleted file mode 100644
index 738e1bd8..00000000
--- a/packages/web/lib/hooks/bookmark-search.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { useEffect, useState } from "react";
-import { api } from "@/lib/trpc";
-import { useRouter, useSearchParams } from "next/navigation";
-import { keepPreviousData } from "@tanstack/react-query";
-
-function useSearchQuery() {
- const searchParams = useSearchParams();
- const searchQuery = searchParams.get("q") || "";
- return { searchQuery };
-}
-
-export function useDoBookmarkSearch() {
- const router = useRouter();
- const { searchQuery } = useSearchQuery();
- const [timeoutId, setTimeoutId] = useState<NodeJS.Timeout | undefined>();
-
- useEffect(() => {
- return () => {
- if (!timeoutId) {
- return;
- }
- clearTimeout(timeoutId);
- };
- }, [timeoutId]);
-
- const doSearch = (val: string) => {
- setTimeoutId(undefined);
- router.replace(`/dashboard/search?q=${val}`);
- };
-
- const debounceSearch = (val: string) => {
- if (timeoutId) {
- clearTimeout(timeoutId);
- }
- const id = setTimeout(() => {
- doSearch(val);
- }, 200);
- setTimeoutId(id);
- };
-
- return {
- doSearch,
- debounceSearch,
- searchQuery,
- };
-}
-
-export function useBookmarkSearch() {
- const { searchQuery } = useSearchQuery();
-
- const { data, isPending, isPlaceholderData, error } =
- api.bookmarks.searchBookmarks.useQuery(
- {
- text: searchQuery,
- },
- {
- placeholderData: keepPreviousData,
- gcTime: 0,
- },
- );
-
- if (error) {
- throw error;
- }
-
- return {
- searchQuery,
- error,
- data,
- isPending,
- isPlaceholderData,
- };
-}