setBaseUrl(e.target.value)}
- placeholder={t('customBaseURLPlaceholder', language)}
- className="w-full px-4 py-3 rounded-xl"
- style={{ background: '#0B0E11', border: '1px solid #2B3139', color: '#EAECEF' }}
- />
-
- {t('leaveBlankForDefault', language)}
+ {/* Custom Base URL (hidden for BlockRun) */}
+ {!selectedModel.provider?.startsWith('blockrun') && (
+
+
+
setBaseUrl(e.target.value)}
+ placeholder={t('customBaseURLPlaceholder', language)}
+ className="w-full px-4 py-3 rounded-xl"
+ style={{ background: '#0B0E11', border: '1px solid #2B3139', color: '#EAECEF' }}
+ />
+
+ {t('leaveBlankForDefault', language)}
+
-
-
-
setModelName(e.target.value)}
- placeholder={t('customModelNamePlaceholder', language)}
- className="w-full px-4 py-3 rounded-xl"
- style={{ background: '#0B0E11', border: '1px solid #2B3139', color: '#EAECEF' }}
- />
-
- {t('leaveBlankForDefaultModel', language)}
+ {/* Custom Model Name (hidden for BlockRun) */}
+ {!selectedModel.provider?.startsWith('blockrun') && (
+
+
+
setModelName(e.target.value)}
+ placeholder={t('customModelNamePlaceholder', language)}
+ className="w-full px-4 py-3 rounded-xl"
+ style={{ background: '#0B0E11', border: '1px solid #2B3139', color: '#EAECEF' }}
+ />
+
+ {t('leaveBlankForDefaultModel', language)}
+
-
+ )}
+
+ {/* BlockRun Model Selector */}
+ {selectedModel.provider?.startsWith('blockrun') && (
+
+
+
+ {BLOCKRUN_MODELS.map((m) => {
+ const isSelected = (modelName || BLOCKRUN_MODELS[0].id) === m.id
+ return (
+
+ )
+ })}
+
+
+ )}
{/* Info Box */}
diff --git a/web/src/components/ModelIcons.tsx b/web/src/components/ModelIcons.tsx
index b3cab90f..42721810 100644
--- a/web/src/components/ModelIcons.tsx
+++ b/web/src/components/ModelIcons.tsx
@@ -14,6 +14,8 @@ const MODEL_COLORS: Record = {
grok: '#000000',
openai: '#10A37F',
minimax: '#E45735',
+ 'blockrun-base': '#2563EB',
+ 'blockrun-sol': '#9945FF',
}
// ่ทๅAIๆจกๅๅพๆ ็ๅฝๆฐ
@@ -48,6 +50,10 @@ export const getModelIcon = (modelType: string, props: IconProps = {}) => {
case 'minimax':
iconPath = '/icons/minimax.svg'
break
+ case 'blockrun-base':
+ case 'blockrun-sol':
+ iconPath = '/icons/blockrun.svg'
+ break
default:
return null
}