Skip to content

Commit

Permalink
add dynamic hoursRemaining when under a day to cutoff
Browse files Browse the repository at this point in the history
  • Loading branch information
erikng committed Feb 22, 2022
1 parent bf04912 commit 768f5cb
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 16 deletions.
2 changes: 2 additions & 0 deletions Nudge/UI/ContentView.swift
Expand Up @@ -23,6 +23,7 @@ class ViewState: ObservableObject {
@Published var hasLoggedPastRequiredInstallationDate = false
@Published var hasLoggedRequireDualQuitButtons = false
@Published var hasLoggedRequireMajorUgprade = false
@Published var hoursRemaining = Utils().getNumberOfHoursBetween()
@Published var lastRefreshTime = Utils().getInitialDate()
@Published var requireDualQuitButtons = false
@Published var shouldExit = false
Expand Down Expand Up @@ -92,6 +93,7 @@ struct ContentView: View {
viewObserved.allowButtons = false
}
viewObserved.daysRemaining = Utils().getNumberOfDaysBetween()
viewObserved.hoursRemaining = Utils().getNumberOfHoursBetween()
}
}

Expand Down
28 changes: 18 additions & 10 deletions Nudge/UI/SimpleMode/SimpleMode.swift
Expand Up @@ -41,19 +41,27 @@ struct SimpleMode: View {
.fontWeight(.bold)
}

// Days Remaining
// Days or Hours Remaining
HStack(spacing: 3.5) {
Text("Days Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
.font(.title2)
if viewObserved.daysRemaining <= 0 && !Utils().demoModeEnabled() {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.red)
.font(.title2)
.fontWeight(.bold)
if 24 >= viewObserved.hoursRemaining {
Text("Days Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
} else {
Text("Hours Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
}
Spacer()
if 0 >= viewObserved.daysRemaining && !Utils().demoModeEnabled() {
if 24 >= viewObserved.hoursRemaining {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.red)
.fontWeight(.bold)
} else {
Text(String(viewObserved.hoursRemaining))
.foregroundColor(.red)
.fontWeight(.bold)
}
} else {
Text(String(viewObserved.daysRemaining))
.font(.title2)
.fontWeight(.bold)
.foregroundColor(.secondary)
}
}

Expand Down
22 changes: 16 additions & 6 deletions Nudge/UI/StandardMode/LeftSide.swift
Expand Up @@ -60,14 +60,24 @@ struct StandardModeLeftSide: View {
.foregroundColor(.secondary)
}

// Days Remaining
// Days or Hours Remaining
HStack{
Text("Days Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
if 24 >= viewObserved.hoursRemaining {
Text("Days Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
} else {
Text("Hours Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
}
Spacer()
if viewObserved.daysRemaining <= 0 && !Utils().demoModeEnabled() {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.red)
.fontWeight(.bold)
if 0 >= viewObserved.daysRemaining && !Utils().demoModeEnabled() {
if 24 >= viewObserved.hoursRemaining {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.red)
.fontWeight(.bold)
} else {
Text(String(viewObserved.hoursRemaining))
.foregroundColor(.red)
.fontWeight(.bold)
}
} else {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.secondary)
Expand Down
3 changes: 3 additions & 0 deletions Nudge/Utilities/Utils.swift
Expand Up @@ -300,6 +300,9 @@ struct Utils {
}

func getNumberOfHoursBetween() -> Int {
if Utils().demoModeEnabled() {
return 24
}
return Int(requiredInstallationDate.timeIntervalSince(getCurrentDate()) / 3600 )
}

Expand Down

2 comments on commit 768f5cb

@dan-snelson
Copy link
Contributor

@dan-snelson dan-snelson commented on 768f5cb Feb 22, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please consider converting back to days when elapsed hours are greater than 24.

For example, 91 hours should be displayed as 3 days.

(Tested with Nudge 1.1.6.81297.)

Screen Shot 2022-02-22 at 11 17 28 AM

@erikng
Copy link
Member Author

@erikng erikng commented on 768f5cb Feb 22, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh, that's going to take some work.

Please sign in to comment.