SearchHomeView working

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2022-06-06 19:26:44 -07:00
parent 2fc6e7ef22
commit dff12702f5
6 changed files with 187 additions and 6 deletions

View File

@@ -6,15 +6,68 @@
//
import SwiftUI
import CryptoKit
struct SearchHomeView: View {
let damus_state: DamusState
@StateObject var model: SearchHomeModel
@State var search: String = ""
var SearchInput: some View {
ZStack(alignment: .leading) {
TextField("", text: $search)
.padding(5)
.padding(.leading, 35)
.textInputAutocapitalization(.never)
Label("", systemImage: "magnifyingglass")
.padding(.leading, 10)
}
.background {
RoundedRectangle(cornerRadius: 20)
.foregroundColor(.gray.opacity(0.2))
}
.padding()
}
var GlobalContent: some View {
TimelineView(events: $model.events, damus: damus_state)
}
var SearchContent: some View {
SearchResultsView(damus_state: damus_state, search: $search)
}
var MainContent: some View {
Group {
if search.isEmpty {
GlobalContent
} else {
SearchContent
}
}
}
var body: some View {
Text("Search Home")
VStack {
SearchInput
MainContent
}
.onAppear {
model.subscribe()
}
.onDisappear {
model.unsubscribe()
}
}
}
struct SearchHomeView_Previews: PreviewProvider {
static var previews: some View {
SearchHomeView()
let state = test_damus_state()
SearchHomeView(
damus_state: state,
model: SearchHomeModel(pool: state.pool)
)
}
}