|
|
@@ -1095,9 +1095,17 @@ private extension ViewController {
|
|
|
premiumUpgradeRatingPromptWorkItem?.cancel()
|
|
|
refreshPaywallStoreUI()
|
|
|
refreshScheduleCardsForPremiumStateChange()
|
|
|
+
|
|
|
+ pageCache[.joinMeetings] = nil
|
|
|
+ if selectedSidebarPage == .joinMeetings {
|
|
|
+ showSidebarPage(.joinMeetings)
|
|
|
+ }
|
|
|
+
|
|
|
if !hadPremiumAccess && hasPremiumAccess {
|
|
|
- Task { [weak self] in
|
|
|
- await self?.loadSchedule()
|
|
|
+ if selectedSidebarPage != .joinMeetings {
|
|
|
+ Task { [weak self] in
|
|
|
+ await self?.loadSchedule()
|
|
|
+ }
|
|
|
}
|
|
|
// Skip delayed review prompt during initial launch entitlement sync.
|
|
|
// We only want this after a real in-session upgrade.
|
|
|
@@ -1215,8 +1223,10 @@ private extension ViewController {
|
|
|
}
|
|
|
|
|
|
private func refreshScheduleCardsForPremiumStateChange() {
|
|
|
- guard let stack = scheduleCardsStack else { return }
|
|
|
- renderScheduleCards(into: stack, meetings: displayedScheduleMeetings)
|
|
|
+ if let stack = scheduleCardsStack {
|
|
|
+ renderScheduleCards(into: stack, meetings: displayedScheduleMeetings)
|
|
|
+ }
|
|
|
+ applySchedulePageFiltersAndRender()
|
|
|
}
|
|
|
|
|
|
private func refreshSidebarPremiumButton() {
|
|
|
@@ -4773,10 +4783,13 @@ private extension ViewController {
|
|
|
private func performGoogleSignOut() {
|
|
|
do {
|
|
|
try googleOAuth.signOut()
|
|
|
- applyGoogleProfile(nil)
|
|
|
- scheduleDateHeadingLabel?.stringValue = "Connect Google to see meetings"
|
|
|
- if let stack = scheduleCardsStack {
|
|
|
- renderScheduleCards(into: stack, meetings: [])
|
|
|
+ pageCache[.photo] = nil
|
|
|
+ if selectedSidebarPage == .photo {
|
|
|
+ showSidebarPage(.photo)
|
|
|
+ } else {
|
|
|
+ Task { [weak self] in
|
|
|
+ await self?.loadSchedule()
|
|
|
+ }
|
|
|
}
|
|
|
} catch {
|
|
|
showSimpleError("Couldn’t logout Google account.", error: error)
|