{pendingImages.length > 0 && (
{pendingImages.map((img, i) => (
))}
)}
{
const file = e.target.files?.[0];
if (file) {
onImagesChange([
...pendingImages,
{ file, previewUrl: URL.createObjectURL(file) },
]);
e.target.value = "";
}
}}
style={{ display: "none" }}
/>
You can also paste images or drag & drop
)}
{!hideDependencies && (
<>
{/* Dependencies */}
{onPriorityChange && (
)}
{onExecutionModeChange && executionMode !== undefined && (
)}
{modelsLoading ? (
Loading models…
) : availableModels.length === 0 ? (
No models available. Configure authentication in Settings.
) : (
<>
{presetMode === "preset" && selectedPreset ? (
Using preset: {selectedPreset.name}
) : null}
{presetMode === "preset" ? (
) : null}
{
onPresetModeChange("custom");
onSelectedPresetIdChange("");
onExecutorModelChange(value);
}}
models={availableModels}
disabled={disabled || presetMode === "preset"}
favoriteProviders={favoriteProviders}
onToggleFavorite={handleToggleFavorite}
favoriteModels={favoriteModels}
onToggleModelFavorite={handleToggleModelFavorite}
/>
{
onPresetModeChange("custom");
onSelectedPresetIdChange("");
onValidatorModelChange(value);
}}
models={availableModels}
disabled={disabled || presetMode === "preset"}
favoriteProviders={favoriteProviders}
onToggleFavorite={handleToggleFavorite}
favoriteModels={favoriteModels}
onToggleModelFavorite={handleToggleModelFavorite}
/>
{onPlanningModelChange && (
{
onPresetModeChange("custom");
onSelectedPresetIdChange("");
onPlanningModelChange(value);
}}
models={availableModels}
disabled={disabled || presetMode === "preset"}
favoriteProviders={favoriteProviders}
onToggleFavorite={handleToggleFavorite}
favoriteModels={favoriteModels}
onToggleModelFavorite={handleToggleModelFavorite}
/>
)}
{onThinkingLevelChange && (
)}
{onReviewLevelChange && (
)}
>
)}
{(onGithubTrackingEnabledChange || onGithubRepoOverrideChange) && (