Skip to content

Instantly share code, notes, and snippets.

View hrvolapeter's full-sized avatar
🔨
Bitwelding

Peter Hrvola hrvolapeter

🔨
Bitwelding
View GitHub Profile
var body: some View {
NavigationView {
VStack(alignment: .leading) {
list
newNote
}
}
}
var newNote: some View {
import SwiftUI
import UIKit
struct NoteDetailView: View {
@State var vm: Self.ViewModel // CHANGE
var body: some View {
ScrollView {
VStack {
TextField("Title", text: $vm.note.title) // CHANGE
import Foundation
class NoteListViewModel: ObservableObject {
@Published var notes = [
NoteDetailView.ViewModel.init(note: Note.init(id: "0", title: "Note 0", createdTime: .init(), content: "Content of note 0", userId: "0", deleted: nil, parentId: nil, tags: ["tag 1"])),
NoteDetailView.ViewModel.init(note: Note.init(id: "1", title: "Note 1", createdTime: .init(), content: "Content of note 1", userId: "0", deleted: nil, parentId: nil, tags: ["Tag 1"]))
]
}
import Resolver
import SwiftUI
struct NoteListView: View {
@ObservedObject var vm = NoteListViewModel()
var body: some View {
NavigationView {
list
}
import Foundation
extension NoteDetailView {
class ViewModel: ObservableObject {
@Published var note: Note
init(note: Note) {
self.note = note
}
@hrvolapeter
hrvolapeter / NoteListView.swift
Created September 6, 2020 08:33
zetten note list
VStack {
NavigationLink(destination: NoteDetailView(note: note)){
NoteRow(note: note)
}
}
@hrvolapeter
hrvolapeter / MultilineTextField.swift
Created September 6, 2020 08:26
MultilineTextField
import SwiftUI
/// SwiftUI doesn't support multiline text fields, this is workaround using UIKiit
/// From: https://stackoverflow.com/questions/56471973/how-do-i-create-a-multiline-textfield-in-swiftui
/// Copyrights Asperi
fileprivate struct UITextViewWrapper: UIViewRepresentable {
typealias UIViewType = UITextView
@Binding var text: String
@Binding var calculatedHeight: CGFloat
@hrvolapeter
hrvolapeter / NoteDetail.swift
Created September 6, 2020 08:20
Zetten note detail
import SwiftUI
import UIKit
struct NoteDetailView: View {
@State var note: Note
var body: some View {
ScrollView {
VStack {
TextField("Title", text: $note.title)
var body: some View {
Group {
if (authenticationService.user == nil) {
LoginView()
} else {
NoteListView()
}
}
}
@hrvolapeter
hrvolapeter / NoteList.swift
Last active September 6, 2020 07:42
zetten note list
import Resolver
import SwiftUI
struct NoteListView: View {
@ObservedObject var vm = NoteListViewModel()
var body: some View {
NavigationView {
list
}