@@ -10,6 +10,9 @@ struct CodeiumView: View {
1010 @Published var installationStatus : CodeiumInstallationManager . InstallationStatus
1111 @Published var installationStep : CodeiumInstallationManager . InstallationStep ?
1212 @AppStorage ( \. codeiumVerboseLog) var codeiumVerboseLog
13+ @AppStorage ( \. codeiumEnterpriseMode) var codeiumEnterpriseMode
14+ @AppStorage ( \. codeiumPortalUrl) var codeiumPortalUrl
15+ @AppStorage ( \. codeiumApiUrl) var codeiumApiUrl
1316
1417 init ( ) {
1518 isSignedIn = codeiumAuthService. isSignedIn
@@ -28,6 +31,13 @@ struct CodeiumView: View {
2831 }
2932
3033 func generateAuthURL( ) -> URL {
34+ if codeiumEnterpriseMode && ( codeiumPortalUrl != " " ) {
35+ return URL (
36+ string: codeiumPortalUrl +
37+ " /profile?response_type=token&redirect_uri=show-auth-token&state= \( UUID ( ) . uuidString) &scope=openid%20profile%20email&redirect_parameters_type=query "
38+ ) !
39+ }
40+
3141 return URL (
3242 string: " https://www.codeium.com/profile?response_type=token&redirect_uri=show-auth-token&state= \( UUID ( ) . uuidString) &scope=openid%20profile%20email&redirect_parameters_type=query "
3343 ) !
@@ -149,10 +159,10 @@ struct CodeiumView: View {
149159 updateButton
150160 }
151161 }
152-
162+
153163 if viewModel. isSignedIn {
154164 Text ( " Status: Signed In " )
155-
165+
156166 Button ( action: {
157167 Task {
158168 do {
@@ -166,7 +176,7 @@ struct CodeiumView: View {
166176 }
167177 } else {
168178 Text ( " Status: Not Signed In " )
169-
179+
170180 Button ( action: {
171181 isSignInPanelPresented = true
172182 } ) {
@@ -197,9 +207,23 @@ struct CodeiumView: View {
197207 }
198208 }
199209 }
200-
210+
211+ Divider ( )
212+
213+ Form {
214+ Toggle ( " Codeium Enterprise Mode " , isOn: $viewModel. codeiumEnterpriseMode)
215+ TextField ( " Codeium Portal URL " , text: $viewModel. codeiumPortalUrl)
216+ TextField ( " Codeium API URL " , text: $viewModel. codeiumApiUrl)
217+ }
218+ . padding ( 8 )
219+ . frame ( maxWidth: . infinity, alignment: . leading)
220+ . overlay {
221+ RoundedRectangle ( cornerRadius: 8 )
222+ . stroke ( Color ( nsColor: . separatorColor) , style: . init( lineWidth: 1 ) )
223+ }
224+
201225 Divider ( )
202-
226+
203227 Form {
204228 Toggle ( " Verbose Log " , isOn: $viewModel. codeiumVerboseLog)
205229 }
@@ -233,13 +257,13 @@ struct CodeiumSignInView: View {
233257
234258 HStack {
235259 Spacer ( )
236-
260+
237261 Button ( action: {
238262 isPresented = false
239263 } ) {
240264 Text ( " Cancel " )
241265 }
242-
266+
243267 Button ( action: {
244268 isGeneratingKey = true
245269 Task {
0 commit comments