OpenTok / assign5 / UploadView.swift
UploadView.swift
Raw
//
//  UploadView.swift
//  assign5
//
//  Created by Jason Kim on 5/12/22.
//

import SwiftUI
import Firebase
import FirebaseDatabase

struct UploadView: View {
    
    @State private var url = ""
    @State private var description = ""
    @State private var likes = 0
    @State private var isPresented = false
    
    func upload() {
        let root = Database.database().reference()
        root.child("urls").childByAutoId().setValue(["likes": likes, "name": description, "url": url])
    }
    
    var body: some View {
        VStack{
            Text("Upload your OpenTok here!")
                .font(.title)
                .padding()
            Text("URL:").font(.title)
            TextField("Insert URL: ", text: $url)
                .padding(10)
                .border(Color.black, width: 3)
                .cornerRadius(5)
                .padding(10)
            Text("Name:").font(.title)
            TextField("Name: ", text: $description).padding()
                .padding(10)
                .border(Color.blue, width: 3)
                .cornerRadius(5)
                .padding(10)
            Button("Upload!") {
                isPresented = true
                upload()
                url = ""
                description = ""
            }
                .padding()
                .border(Color.black, width: 3)
                .cornerRadius(5)
                .foregroundColor(.black)
                .alert(isPresented: $isPresented){
                    Alert(title: Text("Uploaded!"))
                }
        }
    }
}   

struct UploadView_Previews: PreviewProvider {
    static var previews: some View {
        UploadView()
    }
}