Skip to content

Commit

Permalink
feat: replace deprecated OpenAI model
Browse files Browse the repository at this point in the history
move to "Edit Model" to "Chat Completion Model"

render updated editor content

resolve #24
  • Loading branch information
bsorrentino committed Sep 12, 2023
1 parent 9e736ec commit a3b1690
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 38 deletions.
4 changes: 2 additions & 2 deletions PlantUML/PlantUML+OpenAI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ class LILOFixedSizeQueue<T> : LILOQueue<T> {

class OpenAIService : ObservableObject {

enum Status {
enum Status : Equatable {
case Ready
case Error( String )
case Editing
Expand Down Expand Up @@ -181,7 +181,7 @@ class OpenAIService : ObservableObject {
ChatMessage(role: .system, content:
"""
You are my plantUML assistant.
Please respond exclusively with diagram code.
You must answer exclusively with diagram syntax.
"""),
ChatMessage(role: .assistant, content: input),
ChatMessage(role: .user, content: instruction),
Expand Down
65 changes: 29 additions & 36 deletions PlantUML/PlantUMLContentView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,31 @@ struct PlantUMLContentView: View {
@State private var saving = false
@State private var diagramImage:UIImage?

@State private var editorViewId = 1
var body: some View {

VStack {
GeometryReader { geometry in

if( isEditorVisible ) {
EditorView_Fragment
VStack {
PlantUMLEditorView( content: $document.text,
darkTheme: CodeWebView.Theme(rawValue: darkTheme)!,
lightTheme: CodeWebView.Theme(rawValue: lightTheme)!,
isReadOnly: false,
fontSize: CGFloat(fontSize),
showGutter: showLine
)
.id( editorViewId )
.if( isRunningTests ) { /// this need for catching current editor data from UI test
$0.overlay(alignment: .bottom) {
Text( document.text )
.frame( width: 0, height: 0)
.opacity(0)
.accessibilityIdentifier("editor-text")
}
}
}
}

if isDiagramVisible {
Expand All @@ -71,8 +90,16 @@ struct PlantUMLContentView: View {
}
}
if isOpenAIVisible /* && interfaceOrientation.value.isPortrait */ {
OpenAIView_Fragment
OpenAIView( service: openAIService, result: $document.text )
.frame( height: 200 )
.onChange(of: openAIService.status ) { newStatus in
if( .Ready == newStatus ) {
// Force rendering editor view
// print( "FORCE RENDERING OF EDITOR VIEW")
editorViewId += 1
}
}

}
}
.onChange(of: document.text ) { _ in
Expand Down Expand Up @@ -127,45 +154,11 @@ struct PlantUMLContentView: View {
}
}

//
// MARK: - OpenAI extension -
//
extension PlantUMLContentView {

var OpenAIView_Fragment: some View {

OpenAIView( service: openAIService, result: $document.text )

}

}

//
// MARK: - Editor extension -
//
extension PlantUMLContentView {

var EditorView_Fragment: some View {

VStack {
PlantUMLEditorView( content: $document.text,
darkTheme: CodeWebView.Theme(rawValue: darkTheme)!,
lightTheme: CodeWebView.Theme(rawValue: lightTheme)!,
isReadOnly: false,
fontSize: CGFloat(fontSize),
showGutter: showLine
)
.if( isRunningTests ) { /// this need for catching current editor data from UI test
$0.overlay(alignment: .bottom) {
Text( document.text )
.frame( width: 0, height: 0)
.opacity(0)
.accessibilityIdentifier("editor-text")
}
}
}
}

// [SwiftUI Let View disappear automatically](https://stackoverflow.com/a/60820491/521197)
struct SavedStateView: View {
@Binding var visible: Bool
Expand Down

0 comments on commit a3b1690

Please sign in to comment.