From f456795fb17feb96ab32b81ccb9be4ac34ff6056 Mon Sep 17 00:00:00 2001 From: BFlat Date: Fri, 4 Apr 2025 16:35:17 +0700 Subject: [PATCH] reusable toggle button for system prompt (#477) --- .../reusable/ToggleButton/ToggleButton.tsx | 34 ++++++++++++ .../components/reusable/ToggleButton/index.ts | 1 + .../app/components/reusable/Tooltip.tsx | 6 +- .../editor3d/app/components/reusable/index.ts | 1 + .../PageEnigma/comps/PromptBox/PromptBox.tsx | 55 +++++++++++++++---- 5 files changed, 84 insertions(+), 13 deletions(-) create mode 100644 frontend/editor3d/app/components/reusable/ToggleButton/ToggleButton.tsx create mode 100644 frontend/editor3d/app/components/reusable/ToggleButton/index.ts diff --git a/frontend/editor3d/app/components/reusable/ToggleButton/ToggleButton.tsx b/frontend/editor3d/app/components/reusable/ToggleButton/ToggleButton.tsx new file mode 100644 index 0000000000..36c83170e5 --- /dev/null +++ b/frontend/editor3d/app/components/reusable/ToggleButton/ToggleButton.tsx @@ -0,0 +1,34 @@ +import { IconDefinition } from "@fortawesome/fontawesome-svg-core"; +import { Button } from "~/components"; +import { twMerge } from "tailwind-merge"; + +interface ToggleButtonProps { + isActive: boolean; + icon?: IconDefinition; + activeIcon?: IconDefinition; + onClick: () => void; + className?: string; +} + +export const ToggleButton = ({ + isActive, + icon, + activeIcon, + onClick, + className, +}: ToggleButtonProps) => { + return ( + +