@@ -20,16 +20,16 @@ import {
20
20
import AIAvatar from "@cocalc/frontend/components/ai-avatar" ;
21
21
import { IS_MOBILE , IS_TOUCH } from "@cocalc/frontend/feature" ;
22
22
import LLMSelector from "@cocalc/frontend/frame-editors/llm/llm-selector" ;
23
- import { NewFilenameFamilies } from "@cocalc/frontend/project/utils" ;
24
- import track from "@cocalc/frontend/user-tracking" ;
25
- import { webapp_client } from "@cocalc/frontend/webapp-client" ;
26
- import { DEFAULT_NEW_FILENAMES , NEW_FILENAMES } from "@cocalc/util/db-schema" ;
27
23
import {
28
24
VBAR_EXPLANATION ,
29
25
VBAR_KEY ,
30
26
VBAR_OPTIONS ,
31
27
getValidVBAROption ,
32
- } from "../project/page/vbar" ;
28
+ } from "@cocalc/frontend/project/page/vbar" ;
29
+ import { NewFilenameFamilies } from "@cocalc/frontend/project/utils" ;
30
+ import track from "@cocalc/frontend/user-tracking" ;
31
+ import { webapp_client } from "@cocalc/frontend/webapp-client" ;
32
+ import { DEFAULT_NEW_FILENAMES , NEW_FILENAMES } from "@cocalc/util/db-schema" ;
33
33
import { dark_mode_mins , get_dark_mode_config } from "./dark-mode" ;
34
34
import Tours from "./tours" ;
35
35
import { useLanguageModelSetting } from "./useLanguageModelSetting" ;
@@ -44,6 +44,7 @@ interface Props {
44
44
export function OtherSettings ( props : Readonly < Props > ) : JSX . Element {
45
45
const isCoCalcCom = useTypedRedux ( "customize" , "is_cocalc_com" ) ;
46
46
const user_defined_llm = useTypedRedux ( "customize" , "user_defined_llm" ) ;
47
+
47
48
const [ model , setModel ] = useLanguageModelSetting ( ) ;
48
49
49
50
function on_change ( name : string , value : any ) : void {
@@ -398,24 +399,33 @@ export function OtherSettings(props: Readonly<Props>): JSX.Element {
398
399
return < UserDefinedLLMComponent on_change = { on_change } /> ;
399
400
}
400
401
402
+ function render_llm_settings ( ) {
403
+ // we hide this panel, if all servers and user defined LLms are disabled
404
+ const customize = redux . getStore ( "customize" ) ;
405
+ const enabledLLMs = customize . getEnabledLLMs ( ) ;
406
+ const anyLLMenabled = Object . values ( enabledLLMs ) . some ( ( v ) => v ) ;
407
+ if ( ! anyLLMenabled ) return ;
408
+ return (
409
+ < Panel
410
+ header = {
411
+ < >
412
+ < AIAvatar size = { 22 } /> AI Settings
413
+ </ >
414
+ }
415
+ >
416
+ { render_disable_all_llm ( ) }
417
+ { render_language_model ( ) }
418
+ { render_custom_llm ( ) }
419
+ </ Panel >
420
+ ) ;
421
+ }
422
+
401
423
if ( props . other_settings == null ) {
402
424
return < Loading /> ;
403
425
}
404
426
return (
405
427
< >
406
- { redux . getStore ( "customize" ) . get ( "openai_enabled" ) ? (
407
- < Panel
408
- header = {
409
- < >
410
- < AIAvatar size = { 22 } /> AI Settings
411
- </ >
412
- }
413
- >
414
- { render_disable_all_llm ( ) }
415
- { render_language_model ( ) }
416
- { render_custom_llm ( ) }
417
- </ Panel >
418
- ) : undefined }
428
+ { render_llm_settings ( ) }
419
429
420
430
< Panel
421
431
header = {
0 commit comments