From cf0abbb9d2f6cfbf6be21ed1369b3e946fa5ebb1 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns Date: Fri, 31 May 2024 11:02:37 +0530 Subject: [PATCH] feat(message-actions): move to separate components --- ui/components/EmptyChatMessageInput.tsx | 3 +- ui/components/MessageInput.tsx | 3 +- ui/components/MessageInputActions/Attach.tsx | 14 +++++ ui/components/MessageInputActions/Copilot.tsx | 43 +++++++++++++++ .../Focus.tsx} | 55 +------------------ 5 files changed, 64 insertions(+), 54 deletions(-) create mode 100644 ui/components/MessageInputActions/Attach.tsx create mode 100644 ui/components/MessageInputActions/Copilot.tsx rename ui/components/{MessageInputActions.tsx => MessageInputActions/Focus.tsx} (70%) diff --git a/ui/components/EmptyChatMessageInput.tsx b/ui/components/EmptyChatMessageInput.tsx index 736026a..37ecc8f 100644 --- a/ui/components/EmptyChatMessageInput.tsx +++ b/ui/components/EmptyChatMessageInput.tsx @@ -1,7 +1,8 @@ import { ArrowRight } from 'lucide-react'; import { useState } from 'react'; import TextareaAutosize from 'react-textarea-autosize'; -import { CopilotToggle, Focus } from './MessageInputActions'; +import CopilotToggle from './MessageInputActions/Copilot'; +import Focus from './MessageInputActions/Focus'; const EmptyChatMessageInput = ({ sendMessage, diff --git a/ui/components/MessageInput.tsx b/ui/components/MessageInput.tsx index 5c96916..7b54ea5 100644 --- a/ui/components/MessageInput.tsx +++ b/ui/components/MessageInput.tsx @@ -2,7 +2,8 @@ import { cn } from '@/lib/utils'; import { ArrowUp } from 'lucide-react'; import { useEffect, useState } from 'react'; import TextareaAutosize from 'react-textarea-autosize'; -import { Attach, CopilotToggle } from './MessageInputActions'; +import Attach from './MessageInputActions/Attach'; +import CopilotToggle from './MessageInputActions/Copilot'; const MessageInput = ({ sendMessage, diff --git a/ui/components/MessageInputActions/Attach.tsx b/ui/components/MessageInputActions/Attach.tsx new file mode 100644 index 0000000..6d8ffcf --- /dev/null +++ b/ui/components/MessageInputActions/Attach.tsx @@ -0,0 +1,14 @@ +import { CopyPlus } from 'lucide-react'; + +const Attach = () => { + return ( + + ); +}; + +export default Attach; diff --git a/ui/components/MessageInputActions/Copilot.tsx b/ui/components/MessageInputActions/Copilot.tsx new file mode 100644 index 0000000..5a3e476 --- /dev/null +++ b/ui/components/MessageInputActions/Copilot.tsx @@ -0,0 +1,43 @@ +import { cn } from '@/lib/utils'; +import { Switch } from '@headlessui/react'; + +const CopilotToggle = ({ + copilotEnabled, + setCopilotEnabled, +}: { + copilotEnabled: boolean; + setCopilotEnabled: (enabled: boolean) => void; +}) => { + return ( +
+ + Copilot + + +

setCopilotEnabled(!copilotEnabled)} + className={cn( + 'text-xs font-medium transition-colors duration-150 ease-in-out', + copilotEnabled + ? 'text-[#24A0ED]' + : 'text-black/50 dark:text-white/50 group-hover:text-black dark:group-hover:text-white', + )} + > + Copilot +

+
+ ); +}; + +export default CopilotToggle; diff --git a/ui/components/MessageInputActions.tsx b/ui/components/MessageInputActions/Focus.tsx similarity index 70% rename from ui/components/MessageInputActions.tsx rename to ui/components/MessageInputActions/Focus.tsx index 3e5b594..86fca44 100644 --- a/ui/components/MessageInputActions.tsx +++ b/ui/components/MessageInputActions/Focus.tsx @@ -1,28 +1,16 @@ import { BadgePercent, ChevronDown, - CopyPlus, Globe, Pencil, ScanEye, SwatchBook, } from 'lucide-react'; import { cn } from '@/lib/utils'; -import { Popover, Switch, Transition } from '@headlessui/react'; +import { Popover, Transition } from '@headlessui/react'; import { SiReddit, SiYoutube } from '@icons-pack/react-simple-icons'; import { Fragment } from 'react'; -export const Attach = () => { - return ( - - ); -}; - const focusModes = [ { key: 'webSearch', @@ -74,7 +62,7 @@ const focusModes = [ }, ]; -export const Focus = ({ +const Focus = ({ focusMode, setFocusMode, }: { @@ -144,41 +132,4 @@ export const Focus = ({ ); }; -export const CopilotToggle = ({ - copilotEnabled, - setCopilotEnabled, -}: { - copilotEnabled: boolean; - setCopilotEnabled: (enabled: boolean) => void; -}) => { - return ( -
- - Copilot - - -

setCopilotEnabled(!copilotEnabled)} - className={cn( - 'text-xs font-medium transition-colors duration-150 ease-in-out', - copilotEnabled - ? 'text-[#24A0ED]' - : 'text-black/50 dark:text-white/50 group-hover:text-black dark:group-hover:text-white', - )} - > - Copilot -

-
- ); -}; +export default Focus;