54 lines
1.7 KiB
Swift
54 lines
1.7 KiB
Swift
//
|
|
// AppDelegate.swift
|
|
// Gemini
|
|
//
|
|
// Created by Shadowfacts on 7/12/20.
|
|
//
|
|
|
|
import Cocoa
|
|
import SwiftUI
|
|
import GeminiProtocol
|
|
|
|
@NSApplicationMain
|
|
class AppDelegate: NSObject, NSApplicationDelegate {
|
|
|
|
var window: NSWindow!
|
|
|
|
var task: GeminiDataTask!
|
|
let url = URL(string: "gemini://localhost:1965/overview.gmi")!
|
|
|
|
func applicationDidFinishLaunching(_ aNotification: Notification) {
|
|
// Create the SwiftUI view that provides the window contents.
|
|
let contentView = ContentView()
|
|
|
|
// Create the window and set the content view.
|
|
window = NSWindow(
|
|
contentRect: NSRect(x: 0, y: 0, width: 480, height: 300),
|
|
styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView],
|
|
backing: .buffered, defer: false)
|
|
window.isReleasedWhenClosed = false
|
|
window.center()
|
|
window.setFrameAutosaveName("Main Window")
|
|
window.contentView = NSHostingView(rootView: contentView)
|
|
window.title = "Gemini"
|
|
window.makeKeyAndOrderFront(nil)
|
|
|
|
task = try! GeminiDataTask(url: url, completion: { (result) in
|
|
switch result {
|
|
case let .success(response):
|
|
print("Received response header: \(response.header)")
|
|
print("Received data: \(String(describing: response.body))")
|
|
print(response.bodyText.debugDescription)
|
|
case let .failure(error):
|
|
print("Error: \(error)")
|
|
}
|
|
})
|
|
task.resume()
|
|
}
|
|
|
|
func applicationWillTerminate(_ aNotification: Notification) {
|
|
// Insert code here to tear down your application
|
|
}
|
|
|
|
}
|