Skip to content

Commit

Permalink
Move search state to corresponding viewmodel
Browse files Browse the repository at this point in the history
  • Loading branch information
adisve committed Apr 19, 2023
1 parent 7e8e28a commit e96242e
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
6 changes: 3 additions & 3 deletions tumble-ios.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2069,7 +2069,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 3.3.0;
MARKETING_VERSION = 3.2.0;
NETWORK_SETTINGS = testing;
PRODUCT_BUNDLE_IDENTIFIER = com.example.tumble;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -2226,7 +2226,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 3.3.0;
MARKETING_VERSION = 3.2.0;
NETWORK_SETTINGS = testing;
PRODUCT_BUNDLE_IDENTIFIER = com.example.tumble;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -2268,7 +2268,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 3.3.0;
MARKETING_VERSION = 3.2.0;
NETWORK_SETTINGS = production;
PRODUCT_BUNDLE_IDENTIFIER = com.example.tumble;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down
2 changes: 2 additions & 0 deletions tumble-ios/App/Observables/ViewModels/SearchViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ final class SearchViewModel: ObservableObject {
@Published var schoolNotSelected: Bool = true
@Published var selectedSchool: School? = nil
@Published var universityImage: Image? = nil
@Published var searching: Bool = false
@Published var searchBarText: String = ""

private var cancellables = Set<AnyCancellable>()
lazy var schools: [School] = schoolManager.getSchools()
Expand Down
4 changes: 2 additions & 2 deletions tumble-ios/App/Presentation/Views/Search/SchoolPill.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ struct SchoolPill: View {
.frame(width: 14, height: 14)
.cornerRadius(40)
Text(school.name)
.font(.system(size: 12, weight: .semibold))
.font(.system(size: 13, weight: .semibold))
.foregroundColor(.onSurface)
if selectedSchool == school {
Image(systemName: "xmark")
.font(.system(size: 12, weight: .semibold))
.font(.system(size: 13, weight: .semibold))
.foregroundColor(.onSurface)
.padding(.leading, 5)
.onTapGesture {
Expand Down
14 changes: 7 additions & 7 deletions tumble-ios/App/Presentation/Views/Search/Search.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import SwiftUI
struct Search: View {

@ObservedObject var viewModel: SearchViewModel
@State var searchBarText: String = ""
@State private var searching: Bool = false

var body: some View {
VStack (spacing: 0) {
Expand All @@ -23,7 +21,7 @@ struct Search: View {
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .center)
case .loaded:
SearchResults(
searchText: searchBarText,
searchText: viewModel.searchBarText,
numberOfSearchResults: viewModel.programmeSearchResults.count,
searchResults: viewModel.programmeSearchResults,
onOpenProgramme: openProgramme, universityImage: viewModel.universityImage)
Expand All @@ -36,8 +34,8 @@ struct Search: View {
search: search,
clearSearch: clearSearch,
title: "Search schedules",
searchBarText: $searchBarText,
searching: $searching,
searchBarText: $viewModel.searchBarText,
searching: $viewModel.searching,
disabled: $viewModel.schoolNotSelected
)
.blur(radius: viewModel.schoolNotSelected ? 2.5 : 0)
Expand All @@ -58,13 +56,15 @@ struct Search: View {
}

fileprivate func searchBoxNotEmpty() -> Bool {
return !searchBarText.trimmingCharacters(in: .whitespaces).isEmpty
return !viewModel.searchBarText.trimmingCharacters(in: .whitespaces).isEmpty
}

func search() -> Void {
if let selectedSchool = viewModel.selectedSchool, searchBoxNotEmpty() {
viewModel.universityImage = selectedSchool.logo
viewModel.onSearchProgrammes(searchQuery: searchBarText, selectedSchoolId: selectedSchool.id)
viewModel.onSearchProgrammes(
searchQuery: viewModel.searchBarText,
selectedSchoolId: selectedSchool.id)
}
}

Expand Down

0 comments on commit e96242e

Please sign in to comment.