swift API for chat, started chat UI (#228)

* started swift API for chat

* skeleton UI

* show all chat responses in Terminal view

* show chat list in UI

* refactor swift API
This commit is contained in:
Evgeny Poberezkin
2022-01-29 11:10:04 +00:00
committed by GitHub
parent 55dde3531e
commit 7c36ee7955
17 changed files with 845 additions and 99 deletions

View File

@@ -9,26 +9,33 @@ import SwiftUI
@main
struct SimpleXApp: App {
private let controller: controller
@StateObject private var chatModel = ChatModel()
// let store: chat_store
init() {
hs_init(0, nil)
let dataDir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.path + "/mobile_v1"
var cstr = dataDir.cString(using: .utf8)!
let store = chat_init_store(&cstr)
let user = String.init(cString: chat_get_user(store))
print(user)
if user == "{}" {
var data = "{ \"displayName\": \"test\", \"fullName\": \"ios test\" }".cString(using: .utf8)!
chat_create_user(store, &data)
}
controller = chat_start(store)
var cmd = "/help".cString(using: .utf8)!
print(String.init(cString: chat_send_cmd(controller, &cmd)))
// let dataDir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.path + "/mobile_v1"
// var cstr = dataDir.cString(using: .utf8)!
// store = chat_init_store(&cstr)
// let user = String.init(cString: chat_get_user(store))
// print(user)
// if user != "{}" {
// chatModel.currentUser = parseJSON(user)
// var data = "{ \"displayName\": \"test\", \"fullName\": \"ios test\" }".cString(using: .utf8)!
// chat_create_user(store, &data)
// }
// controller = chat_start(store)
// var cmd = "/help".cString(using: .utf8)!
// print(String.init(cString: chat_send_cmd(controller, &cmd)))
}
var body: some Scene {
WindowGroup {
ContentView(controller: controller)
ContentView()
.environmentObject(chatModel)
.onAppear() {
chatModel.currentUser = chatGetUser()
}
}
}
}