Skip to content

Commit 832fead

Browse files
authored
Fixes for 3.4.0 (#215)
1 parent 9f38d27 commit 832fead

9 files changed

Lines changed: 96 additions & 204 deletions

File tree

Eatery Blue.xcodeproj/project.pbxproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1473,7 +1473,7 @@
14731473
CODE_SIGN_ENTITLEMENTS = "Eatery Blue/Eatery Blue.entitlements";
14741474
CODE_SIGN_IDENTITY = "Apple Development";
14751475
CODE_SIGN_STYLE = Automatic;
1476-
CURRENT_PROJECT_VERSION = 57;
1476+
CURRENT_PROJECT_VERSION = 1;
14771477
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
14781478
DEVELOPMENT_TEAM = ZGMCXU7X3U;
14791479
GENERATE_INFOPLIST_FILE = YES;
@@ -1517,7 +1517,8 @@
15171517
CODE_SIGN_ENTITLEMENTS = "Eatery Blue/Eatery Blue.entitlements";
15181518
CODE_SIGN_IDENTITY = "Apple Development";
15191519
CODE_SIGN_STYLE = Automatic;
1520-
CURRENT_PROJECT_VERSION = 57;
1520+
CURRENT_PROJECT_VERSION = 1;
1521+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
15211522
DEVELOPMENT_TEAM = ZGMCXU7X3U;
15221523
GENERATE_INFOPLIST_FILE = YES;
15231524
INFOPLIST_FILE = "Eatery Blue/Info.plist";

Eatery Blue/Networking/Networking.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ class Networking {
5757
}
5858

5959
func loadEateryByDay(day: Int) async throws -> [Eatery] {
60-
if let url = URL(string: "\(baseUrl)?days=\(day)") {
61-
let eateryApi = EateryAPI(url: url)
62-
return try await eateryApi.eateries()
63-
}
64-
return []
60+
let dayURL = baseUrl.appendingPathComponent("eateries")
61+
.appending(queryItems: [URLQueryItem(name: "days", value: "\(day)")])
62+
let eateryAPI = EateryAPI(url: dayURL)
63+
64+
return try await eateryAPI.eateries()
6565
}
6666

67-
// Computes the time until the end of the day previous cache policy
67+
/// Computes the time until the end of the day previous cache policy
6868
private func endOfDay() -> TimeInterval {
6969
return Calendar.current.date(
7070
bySettingHour: 0,
@@ -74,7 +74,7 @@ class Networking {
7474
)?.timeIntervalSince(Date()) ?? 0
7575
}
7676

77-
// Computes the time until 5 minutes into the next hour
77+
/// Computes the time until 5 minutes into the next hour
7878
private func timeUntilFiveMinutesIntoNextHour() -> TimeInterval {
7979
let calendar = Calendar.current
8080
let now = Date()

Eatery Blue/UI/EateryCard/EateryExpandableCardContentView.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ class EateryExpandableCardContentView: UIView {
5757
}
5858

5959
if let event {
60-
if event.canonicalDay == Day() {
60+
let isCurrentMealTime = event.canonicalDay == Day() && selectedMealType == EventType.mealFromTime()
61+
if isCurrentMealTime {
6162
eateryStatusLabel.attributedText = EateryFormatter.default.formatStatusSimple(
6263
expandedEatery.eatery.status,
6364
followedBy: EateryFormatter.default.formatEventTime(event)
@@ -66,9 +67,7 @@ class EateryExpandableCardContentView: UIView {
6667
eateryStatusLabel.text = EateryFormatter.default.formatEventTime(event)
6768
}
6869

69-
if event.endTimestamp > Date() {
70-
setupChevronArrow()
71-
}
70+
setupChevronArrow()
7271
}
7372
}
7473

@@ -84,7 +83,7 @@ class EateryExpandableCardContentView: UIView {
8483

8584
eateryStackView.snp.makeConstraints { make in
8685
make.top.bottom.leading.equalToSuperview()
87-
make.trailing.equalToSuperview().inset(16)
86+
make.trailing.equalToSuperview().inset(32)
8887
}
8988
}
9089

Eatery Blue/UI/EateryCard/EateryExpandableCardDetailView.swift

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,7 @@ class EateryExpandableCardDetailView: UIView {
4040
let selectedEvents = eatery.events.filter { $0.canonicalDay == selectedDay }
4141

4242
// Ignore late lunch
43-
var event: Event?
44-
45-
if selectedMealType == .breakfast {
46-
event = selectedEvents.first { $0.type == .brunch || $0.type == .breakfast }
47-
} else if selectedMealType == .lunch {
48-
event = selectedEvents.first { $0.type == .brunch || $0.type == .lunch }
49-
} else if selectedMealType == .dinner {
50-
event = selectedEvents.first { $0.type == .dinner }
51-
} else if selectedMealType == .lateDinner {
52-
event = selectedEvents.first { $0.type == .lateDinner }
53-
}
54-
55-
if let event, event.endTimestamp > Date() {
43+
if let event = selectedEvents.first(where: { $0.type == selectedMealType }) {
5644
menuCategoryStackView.addArrangedSubview(HDivider())
5745
addMenuCategories(event: event)
5846
setupViewEateryDetailsButton()

Eatery Blue/UI/EateryScreen/EateryModelController.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class EateryModelController: EateryViewController {
4646

4747
func setUpMenu(eatery: Eatery) {
4848
Task {
49-
self.eatery = await Networking.default.loadEatery(by: Int(eatery.id))
49+
self.eatery = await Networking.default.loadEatery(by: eatery.id)
5050
if let eatery = self.eatery {
5151
deleteSpinner()
5252
resetSelectedEventIndex()
@@ -324,6 +324,10 @@ class EateryModelController: EateryViewController {
324324
if let last = sortedCategories.last {
325325
addMenuCategory(last)
326326
}
327+
328+
addSpacer(height: 16)
329+
addReportIssueView(eateryId: eatery?.id)
330+
addViewProportionalSpacer(multiplier: 0.25)
327331
} else {
328332
addInlineErrorBlock(reportIssueEateryId: eatery.flatMap { $0.id })
329333
}

Eatery Blue/UI/MenuPickerSheet/UpcomingMenuChoiceView.swift

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import UIKit
1010
class UpcomingMenuChoiceView: UIView {
1111
let descriptionLabel = UILabel()
1212
let imageView = UIImageView()
13-
let timeLabel = UILabel()
13+
// let timeLabel = UILabel()
1414

1515
override init(frame: CGRect) {
1616
super.init(frame: frame)
@@ -24,17 +24,17 @@ class UpcomingMenuChoiceView: UIView {
2424
fatalError("init(coder:) has not been implemented")
2525
}
2626

27-
func setup(description: String, time: String) {
27+
func setup(description: String) {
2828
descriptionLabel.text = description
29-
timeLabel.text = time
29+
// timeLabel.text = time
3030
}
3131

3232
private func setUpSelf() {
3333
addSubview(descriptionLabel)
3434
setUpDescriptionLabel()
3535

36-
addSubview(timeLabel)
37-
setUpTimeLabel()
36+
// addSubview(timeLabel)
37+
// setUpTimeLabel()
3838

3939
addSubview(imageView)
4040
}
@@ -44,24 +44,24 @@ class UpcomingMenuChoiceView: UIView {
4444
descriptionLabel.textColor = UIColor.Eatery.primaryText
4545
}
4646

47-
private func setUpTimeLabel() {
48-
timeLabel.font = .preferredFont(for: .caption1, weight: .semibold)
49-
timeLabel.textColor = UIColor.Eatery.secondaryText
50-
}
47+
// private func setUpTimeLabel() {
48+
// timeLabel.font = .preferredFont(for: .caption1, weight: .semibold)
49+
// timeLabel.textColor = UIColor.Eatery.secondaryText
50+
// }
5151

5252
private func setUpConstraints() {
5353
descriptionLabel.snp.makeConstraints { make in
54-
make.top.leading.equalTo(layoutMarginsGuide)
54+
make.top.leading.bottom.equalTo(layoutMarginsGuide).inset(4)
5555
}
5656

57-
timeLabel.snp.makeConstraints { make in
58-
make.top.equalTo(descriptionLabel.snp.bottom).offset(4)
59-
make.leading.bottom.equalTo(layoutMarginsGuide)
60-
}
57+
// timeLabel.snp.makeConstraints { make in
58+
// make.top.equalTo(descriptionLabel.snp.bottom).offset(4)
59+
// make.leading.bottom.equalTo(layoutMarginsGuide)
60+
// }
6161

6262
imageView.snp.makeConstraints { make in
6363
make.leading.equalTo(descriptionLabel.snp.trailing)
64-
make.leading.equalTo(timeLabel.snp.trailing)
64+
// make.leading.equalTo(timeLabel.snp.trailing)
6565
make.centerY.trailing.equalTo(layoutMarginsGuide)
6666
make.width.height.equalTo(24)
6767
}

Eatery Blue/UI/MenuPickerSheet/UpcomingMenuPickerSheetViewController.swift

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,29 @@ import UIKit
1111
protocol UpcomingMenuPickerSheetViewControllerDelegate: AnyObject {
1212
func upcomingMenuPickerSheetViewController(
1313
_ vc: UpcomingMenuPickerSheetViewController,
14-
didSelectMenuChoiceAt index: Int
15-
)
16-
func upcomingMenuPickerSheetViewController(
17-
_ vc: UpcomingMenuPickerSheetViewController,
18-
didChangeMenuChoice string: String
14+
didChangeMenuChoice eventType: EventType
1915
)
2016
}
2117

2218
class UpcomingMenuPickerSheetViewController: SheetViewController {
2319
weak var delegate: UpcomingMenuPickerSheetViewControllerDelegate?
2420

25-
private var menuChoices = ["Breakfast", "Lunch", "Dinner", "Late Dinner"]
26-
private var menuTimes = ["7:00 AM - 2:30 PM", "10:30 AM - 2:30 PM", "4:30 PM - 9:00 PM", "8:30 PM - 10:30 PM"]
21+
private var menuChoices: [EventType] = [.breakfast, .lunch, .dinner, .lateDinner]
2722

2823
private var menuChoiceViews: [UpcomingMenuChoiceView] = []
2924
var selectedMenuIndex: Int?
3025

31-
func setUp() {
26+
func setUp(currentEventType: EventType?) {
27+
selectedMenuIndex = menuChoices.firstIndex(of: currentEventType ?? .breakfast)
3228
addHeader(title: "Menus")
3329
addMenuChoiceViews()
3430
addPillButton(title: "Show menu", style: .prominent) { [self] in
3531
if let selectedIndex = self.selectedMenuIndex {
36-
delegate?.upcomingMenuPickerSheetViewController(self, didSelectMenuChoiceAt: selectedIndex)
3732
delegate?.upcomingMenuPickerSheetViewController(self, didChangeMenuChoice: menuChoices[selectedIndex])
3833
}
3934
dismiss(animated: true)
4035
}
36+
4137
addTextButton(title: "Reset") { [self] in
4238
selectedMenuIndex = nil
4339
updateMenuChoiceViewsFromState()
@@ -53,7 +49,7 @@ class UpcomingMenuPickerSheetViewController: SheetViewController {
5349
}
5450

5551
let menuChoiceView = UpcomingMenuChoiceView()
56-
menuChoiceView.setup(description: menuChoices[i], time: menuTimes[i])
52+
menuChoiceView.setup(description: menuChoices[i].description)
5753
menuChoiceView.layoutMargins = .zero
5854
stackView.addArrangedSubview(menuChoiceView)
5955
menuChoiceView.tap { [self] _ in
@@ -78,7 +74,7 @@ class UpcomingMenuPickerSheetViewController: SheetViewController {
7874

7975
} else {
8076
view.descriptionLabel.text = " "
81-
view.timeLabel.text = " "
77+
// view.timeLabel.text = " "
8278
view.imageView.image = nil
8379
}
8480
}

Eatery Blue/UI/MenusScreen/MenusFilterViewController.swift

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ class MenusFilterViewController: UIViewController {
1919
let west = PillFilterButtonView()
2020
let central = PillFilterButtonView()
2121

22-
private let currentMealType: EventType?
23-
24-
var selectedMenuIndex: Int?
22+
private var currentMealType: EventType?
2523

2624
private(set) var filter = EateryFilter()
2725
private let filtersView = PillFiltersView()
@@ -42,16 +40,6 @@ class MenusFilterViewController: UIViewController {
4240

4341
init(currentMealType: EventType) {
4442
self.currentMealType = currentMealType
45-
if currentMealType == .breakfast {
46-
selectedMenuIndex = 0
47-
} else if currentMealType == .lunch {
48-
selectedMenuIndex = 1
49-
} else if currentMealType == .dinner {
50-
selectedMenuIndex = 2
51-
} else if currentMealType == .lateDinner {
52-
selectedMenuIndex = 3
53-
}
54-
5543
super.init(nibName: nil, bundle: nil)
5644
}
5745

@@ -89,9 +77,9 @@ class MenusFilterViewController: UIViewController {
8977
mealType.imageView.isHidden = false
9078
mealType.tap { [self] _ in
9179
let viewController = UpcomingMenuPickerSheetViewController()
80+
9281
viewController.setUpSheetPresentation()
93-
viewController.selectedMenuIndex = selectedMenuIndex
94-
viewController.setUp()
82+
viewController.setUp(currentEventType: currentMealType)
9583
viewController.delegate = self
9684
tabBarController?.present(viewController, animated: true)
9785
}
@@ -165,14 +153,10 @@ class MenusFilterViewController: UIViewController {
165153
extension MenusFilterViewController: UpcomingMenuPickerSheetViewControllerDelegate {
166154
func upcomingMenuPickerSheetViewController(
167155
_: UpcomingMenuPickerSheetViewController,
168-
didChangeMenuChoice string: String
156+
didChangeMenuChoice eventType: EventType
169157
) {
170-
mealType.label.text = string
171-
if let mealType = currentMealType {
172-
delegate?.menusFilterViewController(self, didChangeMenuType: mealType)
173-
}
158+
mealType.label.text = eventType.description
159+
currentMealType = eventType
160+
delegate?.menusFilterViewController(self, didChangeMenuType: eventType)
174161
}
175-
176-
func upcomingMenuPickerSheetViewController(_: UpcomingMenuPickerSheetViewController,
177-
didSelectMenuChoiceAt _: Int) {}
178162
}

0 commit comments

Comments
 (0)