@@ -4,7 +4,7 @@ import {useOpenAI} from "../hooks/useOpenAI"
44import { Alerts } from "./Alerts"
55import { SwitchOpenAi } from "./SwitchOpenAi"
66
7- export const OpenAICard = ( { organization} ) => {
7+ export const OpenAICard = ( { organization, isAdmin } ) => {
88
99 const { loading, changeOpenAIStatus,
1010 error, saveOpenAIKey, hasOpenAIKEY, hasKey, deleteOpenAIKEY} = useOpenAI ( )
@@ -25,8 +25,11 @@ export const OpenAICard=({organization})=>{
2525 }
2626 }
2727
28- function deleteKey ( ) {
29- deleteOpenAIKEY ( organization )
28+ async function deleteKey ( ) {
29+ const done = await deleteOpenAIKEY ( organization )
30+ if ( done && openAIKEY . current ) {
31+ openAIKEY . current . value = ""
32+ }
3033 }
3134
3235 function changeStatus ( isActive ) {
@@ -36,7 +39,7 @@ export const OpenAICard=({organization})=>{
3639
3740 const title = hasKey === false ? "Add your secret OpenAI API key" : "Your OpenAI API key has been set"
3841 const subTitle = getLabel ( )
39-
42+
4043 function getLabel ( ) {
4144 if ( hasKey === false ) {
4245 return < label className = "description text-muted fw-bold" >
@@ -45,62 +48,64 @@ export const OpenAICard=({organization})=>{
4548 }
4649 const label = hasKey === "active" ? "After every change request merge we'll index your documents" : "You have set an OpenAI API key. Please activate this option inorder to index your data"
4750 return label
48- return < Stack direction = "horizontal" gap = { 4 } >
49- < label className = "description text-muted fw-bold mr-auto " >
50- { label }
51- </ label >
52- </ Stack >
53-
51+ }
52+ const KeyInputComponentInstance = KeyInputComponent ( )
53+ function KeyInputComponent ( ) {
54+ if ( ! isAdmin ) return < div className = "form-group" >
55+ < div className = "input-group mt-2 mb-2" >
56+ < input className = "form-control"
57+ value = { "xxxxxxxx" }
58+ type = "password"
59+ />
60+ </ div >
61+ </ div >
62+ if ( hasKey ) return < div className = "form-group" >
63+ < div className = "input-group mt-2 mb-2" >
64+ < input className = "form-control"
65+ value = { "xxxxxxxx" }
66+ type = "password"
67+ />
68+ < div className = "input-group-append" >
69+ { ! loading && < Button variant = "danger" id = "delete_openai_key" onClick = { deleteKey } > Delete OpenAIKey</ Button > }
70+ { loading && < button className = "btn-lg disabled" > < i className = "fas fa-spinner fa-spin" > </ i >
71+ < span style = { { marginLeft :"10px" } } > Loading</ span > </ button > }
72+ </ div >
73+ </ div >
74+ </ div >
75+ if ( hasKey === false ) return < div className = "form-group" >
76+ < div className = "input-group mt-2 mb-2" >
77+ < input className = "form-control"
78+ id = "openAIKEY"
79+ ref = { openAIKEY }
80+ type = "password"
81+ placeholder = "Add your openAI key"
82+ />
83+ < div className = "input-group-append" >
84+ { ! loading && < Button variant = "info" id = "generate_new_token" onClick = { saveOpenAIKeyHandler } > Save OpenAIKey</ Button > }
85+ { loading && < button className = "btn-lg disabled" > < i className = "fas fa-spinner fa-spin" > </ i >
86+ < span style = { { marginLeft :"10px" } } > Loading</ span > </ button > }
87+ </ div >
88+
89+ </ div >
90+ </ div >
5491 }
5592
5693 return ( < React . Fragment >
5794 < Card className = "p-5 mb-5" >
58- < h4 className = "mt-4 text-success" > < strong > { title } </ strong > </ h4 >
95+ < h4 className = "mt-4 text-success" > < strong > { title } </ strong > </ h4 >
5996 < Stack direction = "horizontal" gap = { 2 } >
6097
6198 < div >
6299 { hasKey !== false && < SwitchOpenAi status = { hasKey }
63100 changeOpenAIStatus = { changeStatus }
64- title = { subTitle } /> }
101+ title = { subTitle } isAdmin = { isAdmin } /> }
65102 </ div >
66103 </ Stack >
67104 < Row >
68- < Col >
69- { hasKey &&
70- < div className = "form-group" >
71- < div className = "input-group mt-2 mb-2" >
72- < input className = "form-control"
73- value = { "xxxxxxxx" }
74- type = "password"
75- />
76- < div className = "input-group-append" >
77- { ! loading && < Button variant = "danger" id = "delete_openai_key" onClick = { deleteKey } > Delete OpenAIKey</ Button > }
78- { loading && < button className = "btn-lg disabled" > < i className = "fas fa-spinner fa-spin" > </ i >
79- < span style = { { marginLeft :"10px" } } > Loading</ span > </ button > }
80- </ div >
81- </ div >
82- </ div >
83- }
84- { hasKey === false &&
85- < div className = "form-group" >
86- < div className = "input-group mt-2 mb-2" >
87- < input className = "form-control"
88- id = "openAIKEY"
89- ref = { openAIKEY }
90- type = "password"
91- placeholder = "Add your openAI key"
92- />
93- < div className = "input-group-append" >
94- { ! loading && < Button variant = "info" id = "generate_new_token" onClick = { saveOpenAIKeyHandler } > Save OpenAIKey</ Button > }
95- { loading && < button className = "btn-lg disabled" > < i className = "fas fa-spinner fa-spin" > </ i >
96- < span style = { { marginLeft :"10px" } } > Loading</ span > </ button > }
97- </ div >
98-
99- </ div >
100- </ div > }
101- </ Col >
105+ < Col > { KeyInputComponentInstance } </ Col >
102106 </ Row >
103- </ Card >
107+ </ Card >
104108 </ React . Fragment >
105109 )
106- }
110+ }
111+
0 commit comments