Skip to content

Commit 85ebb1a

Browse files
committed
using app cache singleton, and loading friends for activity creation view model
1 parent 83923cf commit 85ebb1a

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

Spawn-App-iOS-SwiftUI/Views/Pages/Activities/ActivityCreation/SubComponents/InviteFriendsView.swift

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ struct InviteFriendsView: View {
1414

1515
// Add view models for friends
1616
@StateObject private var friendsViewModel: FriendsTabViewModel
17-
@ObservedObject private var appCache = AppCache.shared
1817

1918
let user: BaseUserDTO
2019

@@ -52,14 +51,25 @@ struct InviteFriendsView: View {
5251
.onAppear {
5352
friendsViewModel.connectSearchViewModel(searchViewModel)
5453

55-
if appCache.friends.isEmpty {
54+
if AppCache.shared.friends.isEmpty {
5655
Task {
5756
await friendsViewModel.fetchAllData()
57+
// After fetching friends, automatically select them all if not already selected
58+
await MainActor.run {
59+
if activityCreationViewModel.selectedFriends.isEmpty {
60+
activityCreationViewModel.selectedFriends = friendsViewModel.friends
61+
}
62+
}
5863
}
5964
} else {
6065
// Use cached friends data
61-
friendsViewModel.friends = appCache.friends
62-
friendsViewModel.filteredFriends = appCache.friends
66+
friendsViewModel.friends = AppCache.shared.friends
67+
friendsViewModel.filteredFriends = AppCache.shared.friends
68+
69+
// Automatically select all friends if not already selected
70+
if activityCreationViewModel.selectedFriends.isEmpty {
71+
activityCreationViewModel.selectedFriends = AppCache.shared.friends
72+
}
6373
}
6474
}
6575
}
@@ -159,10 +169,7 @@ struct InviteFriendsView: View {
159169
$0.id == friend.id
160170
}
161171
} else {
162-
activityCreationViewModel.selectedFriends.append(friend) // Add to selected friends
163-
}
164-
activityCreationViewModel.selectedFriends.removeAll {
165-
$0.id == friend.id
172+
activityCreationViewModel.selectedFriends.append(friend)
166173
}
167174
}
168175
}
@@ -245,6 +252,5 @@ struct IndividualFriendView: View {
245252

246253
@available(iOS 17.0, *)
247254
#Preview {
248-
@Previewable @StateObject var appCache = AppCache.shared
249-
InviteFriendsView(user: .danielAgapov).environmentObject(appCache)
255+
InviteFriendsView(user: .danielAgapov)
250256
}

0 commit comments

Comments
 (0)