Move some more stuff over

This commit is contained in:
Gregory Schier
2026-03-07 07:44:50 -08:00
parent ff6686f982
commit d99898f39b
13 changed files with 12 additions and 43 deletions

View File

@@ -21,7 +21,7 @@ import { useActiveRequest } from '../hooks/useActiveRequest';
import { activeWorkspaceIdAtom } from '../hooks/useActiveWorkspace'; import { activeWorkspaceIdAtom } from '../hooks/useActiveWorkspace';
import { useAllRequests } from '../hooks/useAllRequests'; import { useAllRequests } from '../hooks/useAllRequests';
import { useCreateWorkspace } from '../hooks/useCreateWorkspace'; import { useCreateWorkspace } from '../hooks/useCreateWorkspace';
import { useDebouncedState } from '../hooks/useDebouncedState'; import { useDebouncedState } from '@yaakapp-internal/ui';
import { useEnvironmentsBreakdown } from '../hooks/useEnvironmentsBreakdown'; import { useEnvironmentsBreakdown } from '../hooks/useEnvironmentsBreakdown';
import { useGrpcRequestActions } from '../hooks/useGrpcRequestActions'; import { useGrpcRequestActions } from '../hooks/useGrpcRequestActions';
import type { HotkeyAction } from '../hooks/useHotKey'; import type { HotkeyAction } from '../hooks/useHotKey';

View File

@@ -12,7 +12,7 @@ import {
import classNames from 'classnames'; import classNames from 'classnames';
import { useAtomValue } from 'jotai'; import { useAtomValue } from 'jotai';
import { useState } from 'react'; import { useState } from 'react';
import { useDebouncedValue } from '../../hooks/useDebouncedValue'; import { useDebouncedValue } from '@yaakapp-internal/ui';
import { useInstallPlugin } from '../../hooks/useInstallPlugin'; import { useInstallPlugin } from '../../hooks/useInstallPlugin';
import { usePluginInfo } from '../../hooks/usePluginInfo'; import { usePluginInfo } from '../../hooks/usePluginInfo';
import { usePluginsKey, useRefreshPlugins } from '../../hooks/usePlugins'; import { usePluginsKey, useRefreshPlugins } from '../../hooks/usePlugins';

View File

@@ -12,7 +12,7 @@ import { parseTemplate } from '@yaakapp-internal/templates';
import classNames from 'classnames'; import classNames from 'classnames';
import { useEffect, useMemo, useState } from 'react'; import { useEffect, useMemo, useState } from 'react';
import { activeWorkspaceAtom } from '../hooks/useActiveWorkspace'; import { activeWorkspaceAtom } from '../hooks/useActiveWorkspace';
import { useDebouncedValue } from '../hooks/useDebouncedValue'; import { useDebouncedValue } from '@yaakapp-internal/ui';
import { useRenderTemplate } from '../hooks/useRenderTemplate'; import { useRenderTemplate } from '../hooks/useRenderTemplate';
import { useTemplateFunctionConfig } from '../hooks/useTemplateFunctionConfig'; import { useTemplateFunctionConfig } from '../hooks/useTemplateFunctionConfig';
import { import {

View File

@@ -25,7 +25,7 @@ import type { CSSProperties, HTMLAttributes, KeyboardEvent, ReactNode } from 're
import { Fragment, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { Fragment, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { useClickOutside } from '../../hooks/useClickOutside'; import { useClickOutside } from '../../hooks/useClickOutside';
import { useContainerSize } from '../../hooks/useContainerQuery'; import { useContainerSize } from '../../hooks/useContainerQuery';
import { useDebouncedValue } from '../../hooks/useDebouncedValue'; import { useDebouncedValue } from '@yaakapp-internal/ui';
import { useStateWithDeps } from '../../hooks/useStateWithDeps'; import { useStateWithDeps } from '../../hooks/useStateWithDeps';
import { jotaiStore } from '../../lib/jotai'; import { jotaiStore } from '../../lib/jotai';
import { Banner } from '../core/Banner'; import { Banner } from '../core/Banner';

View File

@@ -2,7 +2,7 @@ import classNames from 'classnames';
import type { ReactNode } from 'react'; import type { ReactNode } from 'react';
import { useCallback, useMemo } from 'react'; import { useCallback, useMemo } from 'react';
import { createGlobalState } from 'react-use'; import { createGlobalState } from 'react-use';
import { useDebouncedValue } from '../../hooks/useDebouncedValue'; import { useDebouncedValue } from '@yaakapp-internal/ui';
import { useFormatText } from '../../hooks/useFormatText'; import { useFormatText } from '../../hooks/useFormatText';
import type { EditorProps } from '../core/Editor/Editor'; import type { EditorProps } from '../core/Editor/Editor';
import { hyperlink } from '../core/Editor/hyperlink/extension'; import { hyperlink } from '../core/Editor/hyperlink/extension';

View File

@@ -1,12 +0,0 @@
import { debounce } from '@yaakapp-internal/lib';
import type { Dispatch, SetStateAction } from 'react';
import { useMemo, useState } from 'react';
export function useDebouncedState<T>(
defaultValue: T,
delay = 500,
): [T, Dispatch<SetStateAction<T>>, Dispatch<SetStateAction<T>>] {
const [state, setState] = useState<T>(defaultValue);
const debouncedSetState = useMemo(() => debounce(setState, delay), [delay]);
return [state, debouncedSetState, setState];
}

View File

@@ -1,8 +0,0 @@
import { useEffect } from 'react';
import { useDebouncedState } from './useDebouncedState';
export function useDebouncedValue<T>(value: T, delay = 500) {
const [state, setState] = useDebouncedState<T>(value, delay);
useEffect(() => setState(value), [setState, value]);
return state;
}

View File

@@ -5,7 +5,7 @@ import { jotaiStore } from '../lib/jotai';
import { minPromiseMillis } from '../lib/minPromiseMillis'; import { minPromiseMillis } from '../lib/minPromiseMillis';
import { invokeCmd } from '../lib/tauri'; import { invokeCmd } from '../lib/tauri';
import { activeEnvironmentIdAtom, useActiveEnvironment } from './useActiveEnvironment'; import { activeEnvironmentIdAtom, useActiveEnvironment } from './useActiveEnvironment';
import { useDebouncedValue } from './useDebouncedValue'; import { useDebouncedValue } from '@yaakapp-internal/ui';
export interface ReflectResponseService { export interface ReflectResponseService {
name: string; name: string;

View File

@@ -8,7 +8,7 @@ import { minPromiseMillis } from '../lib/minPromiseMillis';
import { getResponseBodyText } from '../lib/responseBody'; import { getResponseBodyText } from '../lib/responseBody';
import { sendEphemeralRequest } from '../lib/sendEphemeralRequest'; import { sendEphemeralRequest } from '../lib/sendEphemeralRequest';
import { useActiveEnvironment } from './useActiveEnvironment'; import { useActiveEnvironment } from './useActiveEnvironment';
import { useDebouncedValue } from './useDebouncedValue'; import { useDebouncedValue } from '@yaakapp-internal/ui';
const introspectionRequestBody = JSON.stringify({ const introspectionRequestBody = JSON.stringify({
query: getIntrospectionQuery(), query: getIntrospectionQuery(),

View File

@@ -5,7 +5,7 @@ import { jotaiStore } from '../lib/jotai';
import { minPromiseMillis } from '../lib/minPromiseMillis'; import { minPromiseMillis } from '../lib/minPromiseMillis';
import { invokeCmd } from '../lib/tauri'; import { invokeCmd } from '../lib/tauri';
import { activeWorkspaceIdAtom } from './useActiveWorkspace'; import { activeWorkspaceIdAtom } from './useActiveWorkspace';
import { useDebouncedValue } from './useDebouncedValue'; import { useDebouncedValue } from '@yaakapp-internal/ui';
import { invalidateAllPluginInfo } from './usePluginInfo'; import { invalidateAllPluginInfo } from './usePluginInfo';
export function usePluginsKey() { export function usePluginsKey() {

View File

@@ -3,6 +3,7 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { invoke } from "@tauri-apps/api/core"; import { invoke } from "@tauri-apps/api/core";
import { type } from "@tauri-apps/plugin-os"; import { type } from "@tauri-apps/plugin-os";
import { Button, HeaderSize } from "@yaakapp-internal/ui"; import { Button, HeaderSize } from "@yaakapp-internal/ui";
import classNames from "classnames";
import { StrictMode } from "react"; import { StrictMode } from "react";
import { useState } from "react"; import { useState } from "react";
import { createRoot } from "react-dom/client"; import { createRoot } from "react-dom/client";
@@ -51,7 +52,7 @@ function App() {
} }
return ( return (
<div className="h-full w-full grid grid-rows-[auto_1fr]"> <div className={classNames('h-full w-full grid grid-rows-[auto_1fr]', osType === 'linux' && 'border border-border-subtle')}>
<HeaderSize <HeaderSize
size="lg" size="lg"
osType={osType} osType={osType}

View File

@@ -14,6 +14,7 @@
"@tauri-apps/plugin-os": "^2.3.2", "@tauri-apps/plugin-os": "^2.3.2",
"@yaakapp-internal/theme": "^1.0.0", "@yaakapp-internal/theme": "^1.0.0",
"@yaakapp-internal/ui": "^1.0.0", "@yaakapp-internal/ui": "^1.0.0",
"classnames": "^2.5.1",
"react": "^19.1.0", "react": "^19.1.0",
"react-dom": "^19.1.0" "react-dom": "^19.1.0"
}, },

View File

@@ -4,18 +4,5 @@
"version": "1.0.0", "version": "1.0.0",
"type": "module", "type": "module",
"main": "src/index.ts", "main": "src/index.ts",
"types": "src/index.ts", "types": "src/index.ts"
"dependencies": {
"@tanstack/react-query": "^5.90.5",
"@tauri-apps/api": "^2.9.1",
"@yaakapp-internal/lib": "^1.0.0",
"classnames": "^2.5.1",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-use": "^17.6.0"
},
"peerDependencies": {
"react": "^19.1.0",
"react-dom": "^19.1.0"
}
} }