feat: hoverable dropdowns

This commit is contained in:
DuroCodes
2025-04-21 18:21:58 -04:00
parent 60c44e8ab4
commit 462eb4b224
3 changed files with 6 additions and 2 deletions

View File

@@ -33,6 +33,7 @@ export function Header() {
placeholder="language"
value={language}
onValueChange={setLanguage}
onPreview={setLanguage}
className="w-full sm:w-40"
/>
<SearchableSelect
@@ -43,6 +44,7 @@ export function Header() {
placeholder="theme"
value={theme}
onValueChange={setTheme}
onPreview={setTheme}
className="w-full sm:w-52"
/>
</div>

View File

@@ -41,8 +41,7 @@ export function MonacoEditor() {
tsx: "react",
});
// TODO: find a better way to do this
setTimeout(() => setIsLoading(false), 100);
setIsLoading(false);
} catch (error) {
console.error("Failed to initialize editor:", error);
setIsLoading(false);

View File

@@ -24,6 +24,7 @@ interface SearchableSelectProps {
emptyMessage?: string;
value?: string;
onValueChange?: (value: string) => void;
onPreview?: (value: string) => void;
disabled?: boolean;
className?: string;
}
@@ -35,6 +36,7 @@ export function SearchableSelect({
emptyMessage = "no results found",
value,
onValueChange,
onPreview,
disabled = false,
className,
}: SearchableSelectProps) {
@@ -103,6 +105,7 @@ export function SearchableSelect({
"bg-accent text-accent-foreground",
)}
onClick={() => handleSelect(option.value)}
onMouseEnter={() => onPreview?.(option.value)}
>
{option.label}
</div>