diff --git a/client/package-lock.json b/client/package-lock.json index 275498fe7b..c6e98e5742 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -22,6 +22,7 @@ "@types/node": "^18.15.10", "@types/react": "^18.0.30", "@types/react-dom": "^18.0.11", + "@zattoo/use-double-click": "1.2.0", "axios": "^1.3.4", "class-variance-authority": "^0.4.0", "clsx": "^1.2.1", @@ -4137,6 +4138,14 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/@zattoo/use-double-click": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@zattoo/use-double-click/-/use-double-click-1.2.0.tgz", + "integrity": "sha512-ArRw8SDCgYFvxc4Vpm2JIk1TuWBSUm0cYFqUfgRokz9lgW9m39NZAoeKMu3n3Mp3eKaBMXBrZhTWHUt+vYD87w==", + "dependencies": { + "react": ">=16.8.0" + } + }, "node_modules/abab": { "version": "2.0.6", "dev": true, @@ -16257,6 +16266,14 @@ "version": "4.2.2", "dev": true }, + "@zattoo/use-double-click": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@zattoo/use-double-click/-/use-double-click-1.2.0.tgz", + "integrity": "sha512-ArRw8SDCgYFvxc4Vpm2JIk1TuWBSUm0cYFqUfgRokz9lgW9m39NZAoeKMu3n3Mp3eKaBMXBrZhTWHUt+vYD87w==", + "requires": { + "react": ">=16.8.0" + } + }, "abab": { "version": "2.0.6", "dev": true diff --git a/client/package.json b/client/package.json index 5d88f68b5e..f0f477baca 100644 --- a/client/package.json +++ b/client/package.json @@ -34,6 +34,7 @@ "@types/node": "^18.15.10", "@types/react": "^18.0.30", "@types/react-dom": "^18.0.11", + "@zattoo/use-double-click": "1.2.0", "axios": "^1.3.4", "class-variance-authority": "^0.4.0", "clsx": "^1.2.1", diff --git a/client/src/components/Endpoints/OpenAI/Settings.jsx b/client/src/components/Endpoints/OpenAI/Settings.jsx index eb4c8d2dc8..3443c11c93 100644 --- a/client/src/components/Endpoints/OpenAI/Settings.jsx +++ b/client/src/components/Endpoints/OpenAI/Settings.jsx @@ -148,6 +148,7 @@ function Settings(props) { disabled={readonly} value={[temperature]} onValueChange={value => setTemperature(value[0])} + doubleClickHandler={() => setTemperature(1)} max={2} min={0} step={0.01} @@ -227,6 +228,7 @@ function Settings(props) { disabled={readonly} value={[topP]} onValueChange={value => setTopP(value[0])} + doubleClickHandler={() => setTopP(1)} max={1} min={0} step={0.01} @@ -270,6 +272,7 @@ function Settings(props) { disabled={readonly} value={[freqP]} onValueChange={value => setFreqP(value[0])} + doubleClickHandler={() => setFreqP(0)} max={2} min={-2} step={0.01} @@ -313,6 +316,7 @@ function Settings(props) { disabled={readonly} value={[presP]} onValueChange={value => setPresP(value[0])} + doubleClickHandler={() => setPresP(0)} max={2} min={-2} step={0.01} diff --git a/client/src/components/ui/Slider.tsx b/client/src/components/ui/Slider.tsx index 64d196e4ab..0897f251a2 100644 --- a/client/src/components/ui/Slider.tsx +++ b/client/src/components/ui/Slider.tsx @@ -2,13 +2,19 @@ import * as React from "react" import * as SliderPrimitive from "@radix-ui/react-slider" - +import { useDoubleClick } from "@zattoo/use-double-click" import { cn } from "../../utils" +type clickEvent = (event: React.MouseEvent) => void; + +interface SliderProps extends React.ComponentPropsWithoutRef { + doubleClickHandler?: clickEvent; +} + const Slider = React.forwardRef< React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( + SliderProps +>(({ className, doubleClickHandler, ...props }, ref) => ( - + {})} className="block h-4 w-4 rounded-full border-2 border-gray-400 bg-white transition-colors focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:border-gray-100 dark:bg-gray-400 dark:focus:ring-gray-400 dark:focus:ring-offset-gray-900" /> )) Slider.displayName = SliderPrimitive.Root.displayName