src/azurechat/features/chat/chat-ui/chat-empty-state/chat-style-selector.tsx (43 lines of code) (raw):

import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Brush, CircleDot, Scale } from "lucide-react"; import { FC } from "react"; import { ConversationStyle } from "../../chat-services/models"; import { useChatContext } from "../chat-context"; interface Prop { disable: boolean; } export const ChatStyleSelector: FC<Prop> = (props) => { const { onConversationStyleChange, chatBody } = useChatContext(); return ( <Tabs defaultValue={chatBody.conversationStyle} onValueChange={(value) => onConversationStyleChange(value as ConversationStyle) } > <TabsList className="grid w-full grid-cols-3 h-12 items-stretch"> <TabsTrigger value="creative" className="flex gap-2" disabled={props.disable} > <Brush size={20} /> Creative </TabsTrigger> <TabsTrigger value="balanced" className="flex gap-2" disabled={props.disable} > <Scale size={20} /> Balanced </TabsTrigger> <TabsTrigger value="precise" className="flex gap-2" disabled={props.disable} > <CircleDot size={20} /> Precise </TabsTrigger> </TabsList> </Tabs> ); };