@@ -14,7 +14,7 @@ import { Description, Field, FieldGroup, Label } from '../catalyst/fieldset';
14
14
import { Input } from '../catalyst/input' ;
15
15
import { Select } from '../catalyst/select' ;
16
16
import { Spinner } from '../Spinner' ;
17
- import { ProviderKeysHint } from './ProviderKeys' ;
17
+ import { ProviderKeysHint , providerNames } from './ProviderKeys' ;
18
18
import { Recommended , recommendedForProvider } from './Recommended' ;
19
19
20
20
export function Settings ( { close } : { close : ( ) => void } ) {
@@ -106,14 +106,57 @@ export function Settings({ close }: { close: () => void }) {
106
106
>
107
107
{ providers . map ( ( prov ) => (
108
108
< option key = { prov } value = { prov } >
109
- { prov }
109
+ { prov == 'local' ? 'local' : providerNames [ prov ] }
110
110
</ option >
111
111
) ) }
112
112
</ Select >
113
113
< Recommended />
114
114
</ div >
115
115
</ Field >
116
116
117
+ { config . provider === 'ollama' && (
118
+ < Field >
119
+ < Label > Ollama URL</ Label >
120
+ < Input
121
+ type = "text"
122
+ placeholder = "http://localhost:11434"
123
+ value = { config . llmKey }
124
+ onChange = { ( e ) =>
125
+ setConfig ( ( c ) => ( {
126
+ ...c ,
127
+ llmKey : e . target . value ,
128
+ } ) )
129
+ }
130
+ />
131
+ < Description className = "mt-4 mx-1 !text-xs" >
132
+ Please note that your Ollama instance must have CORS enabled for
133
+ LitLytics to work correctly in browser environment.
134
+ </ Description >
135
+ </ Field >
136
+ ) }
137
+
138
+ { config . provider !== 'local' && config . provider !== 'ollama' && (
139
+ < Field >
140
+ < Label > API Key</ Label >
141
+ < Input
142
+ type = "password"
143
+ value = { config . llmKey }
144
+ onChange = { ( e ) =>
145
+ setConfig ( ( c ) => ( {
146
+ ...c ,
147
+ llmKey : e . target . value ,
148
+ } ) )
149
+ }
150
+ />
151
+ { Boolean ( config . llmKey ?. length ) && (
152
+ < Description >
153
+ Your key is stored only in your browser and passed directly to
154
+ API provider.
155
+ </ Description >
156
+ ) }
157
+ </ Field >
158
+ ) }
159
+
117
160
< Field >
118
161
< Label > Model</ Label >
119
162
{ config . provider === 'ollama' && (
@@ -161,49 +204,6 @@ export function Settings({ close }: { close: () => void }) {
161
204
) }
162
205
</ Field >
163
206
164
- { config . provider === 'ollama' && (
165
- < Field >
166
- < Label > Ollama URL</ Label >
167
- < Input
168
- type = "text"
169
- placeholder = "http://localhost:11434"
170
- value = { config . llmKey }
171
- onChange = { ( e ) =>
172
- setConfig ( ( c ) => ( {
173
- ...c ,
174
- llmKey : e . target . value ,
175
- } ) )
176
- }
177
- />
178
- < Description className = "mt-4 mx-1 !text-xs" >
179
- Please note that your Ollama instance must have CORS enabled for
180
- LitLytics to work correctly in browser environment.
181
- </ Description >
182
- </ Field >
183
- ) }
184
-
185
- { config . provider !== 'local' && config . provider !== 'ollama' && (
186
- < Field >
187
- < Label > API Key</ Label >
188
- < Input
189
- type = "password"
190
- value = { config . llmKey }
191
- onChange = { ( e ) =>
192
- setConfig ( ( c ) => ( {
193
- ...c ,
194
- llmKey : e . target . value ,
195
- } ) )
196
- }
197
- />
198
- { Boolean ( config . llmKey ?. length ) && (
199
- < Description >
200
- Your key is stored only in your browser and passed directly to
201
- API provider.
202
- </ Description >
203
- ) }
204
- </ Field >
205
- ) }
206
-
207
207
{ config . provider === 'local' && (
208
208
< Field className = "flex flex-col" >
209
209
< div className = "flex items-center gap-2" >
0 commit comments