diff --git a/apps/yaak-client/components/CommandPaletteDialog.tsx b/apps/yaak-client/components/CommandPaletteDialog.tsx index 94b79ebb..70aa5d75 100644 --- a/apps/yaak-client/components/CommandPaletteDialog.tsx +++ b/apps/yaak-client/components/CommandPaletteDialog.tsx @@ -21,7 +21,7 @@ import { useActiveRequest } from '../hooks/useActiveRequest'; import { activeWorkspaceIdAtom } from '../hooks/useActiveWorkspace'; import { useAllRequests } from '../hooks/useAllRequests'; import { useCreateWorkspace } from '../hooks/useCreateWorkspace'; -import { useDebouncedState } from '../hooks/useDebouncedState'; +import { useDebouncedState } from '@yaakapp-internal/ui'; import { useEnvironmentsBreakdown } from '../hooks/useEnvironmentsBreakdown'; import { useGrpcRequestActions } from '../hooks/useGrpcRequestActions'; import type { HotkeyAction } from '../hooks/useHotKey'; diff --git a/apps/yaak-client/components/Settings/SettingsPlugins.tsx b/apps/yaak-client/components/Settings/SettingsPlugins.tsx index cfa61018..cbba80e1 100644 --- a/apps/yaak-client/components/Settings/SettingsPlugins.tsx +++ b/apps/yaak-client/components/Settings/SettingsPlugins.tsx @@ -12,7 +12,7 @@ import { import classNames from 'classnames'; import { useAtomValue } from 'jotai'; import { useState } from 'react'; -import { useDebouncedValue } from '../../hooks/useDebouncedValue'; +import { useDebouncedValue } from '@yaakapp-internal/ui'; import { useInstallPlugin } from '../../hooks/useInstallPlugin'; import { usePluginInfo } from '../../hooks/usePluginInfo'; import { usePluginsKey, useRefreshPlugins } from '../../hooks/usePlugins'; diff --git a/apps/yaak-client/components/TemplateFunctionDialog.tsx b/apps/yaak-client/components/TemplateFunctionDialog.tsx index 364a0c9b..f5726ca4 100644 --- a/apps/yaak-client/components/TemplateFunctionDialog.tsx +++ b/apps/yaak-client/components/TemplateFunctionDialog.tsx @@ -12,7 +12,7 @@ import { parseTemplate } from '@yaakapp-internal/templates'; import classNames from 'classnames'; import { useEffect, useMemo, useState } from 'react'; import { activeWorkspaceAtom } from '../hooks/useActiveWorkspace'; -import { useDebouncedValue } from '../hooks/useDebouncedValue'; +import { useDebouncedValue } from '@yaakapp-internal/ui'; import { useRenderTemplate } from '../hooks/useRenderTemplate'; import { useTemplateFunctionConfig } from '../hooks/useTemplateFunctionConfig'; import { diff --git a/apps/yaak-client/components/graphql/GraphQLDocsExplorer.tsx b/apps/yaak-client/components/graphql/GraphQLDocsExplorer.tsx index 6c0e95df..ce7e421b 100644 --- a/apps/yaak-client/components/graphql/GraphQLDocsExplorer.tsx +++ b/apps/yaak-client/components/graphql/GraphQLDocsExplorer.tsx @@ -25,7 +25,7 @@ import type { CSSProperties, HTMLAttributes, KeyboardEvent, ReactNode } from 're import { Fragment, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useClickOutside } from '../../hooks/useClickOutside'; import { useContainerSize } from '../../hooks/useContainerQuery'; -import { useDebouncedValue } from '../../hooks/useDebouncedValue'; +import { useDebouncedValue } from '@yaakapp-internal/ui'; import { useStateWithDeps } from '../../hooks/useStateWithDeps'; import { jotaiStore } from '../../lib/jotai'; import { Banner } from '../core/Banner'; diff --git a/apps/yaak-client/components/responseViewers/TextViewer.tsx b/apps/yaak-client/components/responseViewers/TextViewer.tsx index c03bc7e6..e8646ec5 100644 --- a/apps/yaak-client/components/responseViewers/TextViewer.tsx +++ b/apps/yaak-client/components/responseViewers/TextViewer.tsx @@ -2,7 +2,7 @@ import classNames from 'classnames'; import type { ReactNode } from 'react'; import { useCallback, useMemo } from 'react'; import { createGlobalState } from 'react-use'; -import { useDebouncedValue } from '../../hooks/useDebouncedValue'; +import { useDebouncedValue } from '@yaakapp-internal/ui'; import { useFormatText } from '../../hooks/useFormatText'; import type { EditorProps } from '../core/Editor/Editor'; import { hyperlink } from '../core/Editor/hyperlink/extension'; diff --git a/apps/yaak-client/hooks/useDebouncedState.ts b/apps/yaak-client/hooks/useDebouncedState.ts deleted file mode 100644 index f82e3d2d..00000000 --- a/apps/yaak-client/hooks/useDebouncedState.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { debounce } from '@yaakapp-internal/lib'; -import type { Dispatch, SetStateAction } from 'react'; -import { useMemo, useState } from 'react'; - -export function useDebouncedState( - defaultValue: T, - delay = 500, -): [T, Dispatch>, Dispatch>] { - const [state, setState] = useState(defaultValue); - const debouncedSetState = useMemo(() => debounce(setState, delay), [delay]); - return [state, debouncedSetState, setState]; -} diff --git a/apps/yaak-client/hooks/useDebouncedValue.ts b/apps/yaak-client/hooks/useDebouncedValue.ts deleted file mode 100644 index c6639aa7..00000000 --- a/apps/yaak-client/hooks/useDebouncedValue.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { useEffect } from 'react'; -import { useDebouncedState } from './useDebouncedState'; - -export function useDebouncedValue(value: T, delay = 500) { - const [state, setState] = useDebouncedState(value, delay); - useEffect(() => setState(value), [setState, value]); - return state; -} diff --git a/apps/yaak-client/hooks/useGrpc.ts b/apps/yaak-client/hooks/useGrpc.ts index 67bd33cb..ef89fb00 100644 --- a/apps/yaak-client/hooks/useGrpc.ts +++ b/apps/yaak-client/hooks/useGrpc.ts @@ -5,7 +5,7 @@ import { jotaiStore } from '../lib/jotai'; import { minPromiseMillis } from '../lib/minPromiseMillis'; import { invokeCmd } from '../lib/tauri'; import { activeEnvironmentIdAtom, useActiveEnvironment } from './useActiveEnvironment'; -import { useDebouncedValue } from './useDebouncedValue'; +import { useDebouncedValue } from '@yaakapp-internal/ui'; export interface ReflectResponseService { name: string; diff --git a/apps/yaak-client/hooks/useIntrospectGraphQL.ts b/apps/yaak-client/hooks/useIntrospectGraphQL.ts index 34f6d4bd..d23764d3 100644 --- a/apps/yaak-client/hooks/useIntrospectGraphQL.ts +++ b/apps/yaak-client/hooks/useIntrospectGraphQL.ts @@ -8,7 +8,7 @@ import { minPromiseMillis } from '../lib/minPromiseMillis'; import { getResponseBodyText } from '../lib/responseBody'; import { sendEphemeralRequest } from '../lib/sendEphemeralRequest'; import { useActiveEnvironment } from './useActiveEnvironment'; -import { useDebouncedValue } from './useDebouncedValue'; +import { useDebouncedValue } from '@yaakapp-internal/ui'; const introspectionRequestBody = JSON.stringify({ query: getIntrospectionQuery(), diff --git a/apps/yaak-client/hooks/usePlugins.ts b/apps/yaak-client/hooks/usePlugins.ts index 7aa5ef4b..fb9bc43f 100644 --- a/apps/yaak-client/hooks/usePlugins.ts +++ b/apps/yaak-client/hooks/usePlugins.ts @@ -5,7 +5,7 @@ import { jotaiStore } from '../lib/jotai'; import { minPromiseMillis } from '../lib/minPromiseMillis'; import { invokeCmd } from '../lib/tauri'; import { activeWorkspaceIdAtom } from './useActiveWorkspace'; -import { useDebouncedValue } from './useDebouncedValue'; +import { useDebouncedValue } from '@yaakapp-internal/ui'; import { invalidateAllPluginInfo } from './usePluginInfo'; export function usePluginsKey() { diff --git a/apps/yaak-proxy/main.tsx b/apps/yaak-proxy/main.tsx index 3868a02c..bd3679fd 100644 --- a/apps/yaak-proxy/main.tsx +++ b/apps/yaak-proxy/main.tsx @@ -3,6 +3,7 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { invoke } from "@tauri-apps/api/core"; import { type } from "@tauri-apps/plugin-os"; import { Button, HeaderSize } from "@yaakapp-internal/ui"; +import classNames from "classnames"; import { StrictMode } from "react"; import { useState } from "react"; import { createRoot } from "react-dom/client"; @@ -51,7 +52,7 @@ function App() { } return ( -
+