Spaces:
Runtime error
Runtime error
import { FC, MutableRefObject } from 'react'; | |
import { Prompt } from '@/types/prompt'; | |
interface Props { | |
prompts: Prompt[]; | |
activePromptIndex: number; | |
onSelect: () => void; | |
onMouseOver: (index: number) => void; | |
promptListRef: MutableRefObject<HTMLUListElement | null>; | |
} | |
export const PromptList: FC<Props> = ({ | |
prompts, | |
activePromptIndex, | |
onSelect, | |
onMouseOver, | |
promptListRef, | |
}) => { | |
return ( | |
<ul | |
ref={promptListRef} | |
className="z-10 max-h-52 w-full overflow-scroll rounded border border-black/10 bg-white shadow-[0_0_10px_rgba(0,0,0,0.10)] dark:border-neutral-500 dark:bg-[#343541] dark:text-white dark:shadow-[0_0_15px_rgba(0,0,0,0.10)]" | |
> | |
{prompts.map((prompt, index) => ( | |
<li | |
key={prompt.id} | |
className={`${ | |
index === activePromptIndex | |
? 'bg-gray-200 dark:bg-[#202123] dark:text-black' | |
: '' | |
} cursor-pointer px-3 py-2 text-sm text-black dark:text-white`} | |
onClick={(e) => { | |
e.preventDefault(); | |
e.stopPropagation(); | |
onSelect(); | |
}} | |
onMouseEnter={() => onMouseOver(index)} | |
> | |
{prompt.name} | |
</li> | |
))} | |
</ul> | |
); | |
}; | |