feat(focus): update size & icon

This commit is contained in:
ItzCrazyKns
2025-10-18 18:48:52 +05:30
parent f28ea8cee2
commit 53a1b3bc56

View File

@@ -22,13 +22,13 @@ const focusModes = [
key: 'webSearch', key: 'webSearch',
title: 'All', title: 'All',
description: 'Searches across all of the internet', description: 'Searches across all of the internet',
icon: <Globe size={20} />, icon: <Globe size={16} />,
}, },
{ {
key: 'academicSearch', key: 'academicSearch',
title: 'Academic', title: 'Academic',
description: 'Search in published academic papers', description: 'Search in published academic papers',
icon: <SwatchBook size={20} />, icon: <SwatchBook size={16} />,
}, },
{ {
key: 'writingAssistant', key: 'writingAssistant',
@@ -40,19 +40,19 @@ const focusModes = [
key: 'wolframAlphaSearch', key: 'wolframAlphaSearch',
title: 'Wolfram Alpha', title: 'Wolfram Alpha',
description: 'Computational knowledge engine', description: 'Computational knowledge engine',
icon: <BadgePercent size={20} />, icon: <BadgePercent size={16} />,
}, },
{ {
key: 'youtubeSearch', key: 'youtubeSearch',
title: 'Youtube', title: 'Youtube',
description: 'Search and watch videos', description: 'Search and watch videos',
icon: <SiYoutube className="h-5 w-auto mr-0.5" />, icon: <SiYoutube className="h-[16px] w-auto mr-0.5" />,
}, },
{ {
key: 'redditSearch', key: 'redditSearch',
title: 'Reddit', title: 'Reddit',
description: 'Search for discussions and opinions', description: 'Search for discussions and opinions',
icon: <SiReddit className="h-5 w-auto mr-0.5" />, icon: <SiReddit className="h-[16px] w-auto mr-0.5" />,
}, },
]; ];
@@ -60,23 +60,18 @@ const Focus = () => {
const { focusMode, setFocusMode } = useChat(); const { focusMode, setFocusMode } = useChat();
return ( return (
<Popover className="relative w-full max-w-[15rem] md:max-w-md lg:max-w-lg mt-[6.5px]"> <Popover className="relative w-full max-w-[15rem] md:max-w-md lg:max-w-lg">
<PopoverButton <PopoverButton
type="button" type="button"
className="active:border-none headless-open:text-black dark:headless-open:text-white text-black/50 dark:text-white/50 rounded-xl hover:bg-light-secondary dark:hover:bg-dark-secondary active:scale-95 transition duration-200 hover:text-black dark:hover:text-white" className="active:border-none hover:bg-light-200 hover:dark:bg-dark-200 p-2 rounded-lg focus:outline-none headless-open:text-black dark:headless-open:text-white text-black/50 dark:text-white/50 active:scale-95 transition duration-200 hover:text-black dark:hover:text-white"
> >
{focusMode !== 'webSearch' ? ( {focusMode !== 'webSearch' ? (
<div className="flex flex-row items-center space-x-1"> <div className="flex flex-row items-center space-x-1">
{focusModes.find((mode) => mode.key === focusMode)?.icon} {focusModes.find((mode) => mode.key === focusMode)?.icon}
<p className="text-xs font-medium hidden lg:block">
{focusModes.find((mode) => mode.key === focusMode)?.title}
</p>
<ChevronDown size={20} className="-translate-x-1" />
</div> </div>
) : ( ) : (
<div className="flex flex-row items-center space-x-1"> <div className="flex flex-row items-center space-x-1">
<ScanEye size={20} /> <Globe size={16} />
<p className="text-xs font-medium hidden lg:block">Focus</p>
</div> </div>
)} )}
</PopoverButton> </PopoverButton>
@@ -89,14 +84,14 @@ const Focus = () => {
leaveFrom="opacity-100 translate-y-0" leaveFrom="opacity-100 translate-y-0"
leaveTo="opacity-0 translate-y-1" leaveTo="opacity-0 translate-y-1"
> >
<PopoverPanel className="absolute z-10 w-64 md:w-[500px] left-0"> <PopoverPanel className="absolute z-10 w-64 md:w-[500px] -right-4">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2 bg-light-primary dark:bg-dark-primary border rounded-lg border-light-200 dark:border-dark-200 w-full p-4 max-h-[200px] md:max-h-none overflow-y-auto"> <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2 bg-light-primary dark:bg-dark-primary border rounded-lg border-light-200 dark:border-dark-200 w-full p-4 max-h-[200px] md:max-h-none overflow-y-auto">
{focusModes.map((mode, i) => ( {focusModes.map((mode, i) => (
<PopoverButton <PopoverButton
onClick={() => setFocusMode(mode.key)} onClick={() => setFocusMode(mode.key)}
key={i} key={i}
className={cn( className={cn(
'p-2 rounded-lg flex flex-col items-start justify-start text-start space-y-2 duration-200 cursor-pointer transition', 'p-2 rounded-lg flex flex-col items-start justify-start text-start space-y-2 duration-200 cursor-pointer transition focus:outline-none',
focusMode === mode.key focusMode === mode.key
? 'bg-light-secondary dark:bg-dark-secondary' ? 'bg-light-secondary dark:bg-dark-secondary'
: 'hover:bg-light-secondary dark:hover:bg-dark-secondary', : 'hover:bg-light-secondary dark:hover:bg-dark-secondary',