Suggested Users to Follow

ui: Add Suggested Users Views and Helpers
ui: Add Logic to Launch Suggested User Screen

Changelog-Added: Suggested Users to Follow
This commit is contained in:
Joel Klabo
2023-07-20 12:45:10 -07:00
committed by William Casarin
parent f0de8721c7
commit 480921db20
8 changed files with 487 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ enum Sheets: Identifiable {
case zap(ZapSheet)
case select_wallet(SelectWallet)
case filter
case suggestedUsers
static func zap(target: ZapTarget, lnurl: String) -> Sheets {
return .zap(ZapSheet(target: target, lnurl: lnurl))
@@ -47,6 +48,7 @@ enum Sheets: Identifiable {
case .zap(let sheet): return "zap-" + sheet.target.id
case .select_wallet: return "select-wallet"
case .filter: return "filter"
case .suggestedUsers: return "suggested-users"
}
}
}
@@ -89,7 +91,7 @@ struct ContentView: View {
@State private var isSideBarOpened = false
var home: HomeModel = HomeModel()
@StateObject var navigationCoordinator: NavigationCoordinator = NavigationCoordinator()
@AppStorage("has_seen_suggested_users") private var hasSeenSuggestedUsers = false
let sub_id = UUID().description
@Environment(\.colorScheme) var colorScheme
@@ -302,6 +304,10 @@ struct ContentView: View {
self.connect()
try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: .default, options: .mixWithOthers)
setup_notifications()
if !hasSeenSuggestedUsers {
active_sheet = .suggestedUsers
hasSeenSuggestedUsers = true
}
}
.sheet(item: $active_sheet) { item in
switch item {
@@ -324,6 +330,8 @@ struct ContentView: View {
} else {
RelayFilterView(state: damus_state!, timeline: timeline)
}
case .suggestedUsers:
SuggestedUsersView(model: SuggestedUsersViewModel(damus_state: damus_state!))
}
}
.onOpenURL { url in