From 932e2b22ee9ec67c70e49a443b1d3462feb129e6 Mon Sep 17 00:00:00 2001 From: Justin Ngai Date: Sun, 14 Nov 2021 01:18:27 -0500 Subject: [PATCH 1/4] Implement spacing between categories views and insert header above each section --- .../ExpandedMenuCategoryView.swift | 20 +++++++++++++++++-- .../ExpandedMenus/ExpandedMenuItemsView.swift | 2 ++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift index e0c3659e..e99e8d21 100644 --- a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift +++ b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift @@ -1,5 +1,5 @@ // -// CampusEateryExtendedMenuViewController.swift +// ExpandedMenuCategoryView.swift // Eatery // // Created by Sergio Diaz on 12/20/20. @@ -13,6 +13,7 @@ class ExpandedMenuCategoryView: UIView { let eatery: CampusEatery! let category: String! let menu: [ExpandedMenu.Item]! + let categoryLabel: UILabel! /// Public variable that allows other VCs to easily get height of this view var contentHeight: CGFloat = 0 @@ -36,11 +37,26 @@ class ExpandedMenuCategoryView: UIView { stackView.spacing = 0 stackView.axis = .vertical + categoryLabel = UILabel() + categoryLabel.text = category + categoryLabel.font = .systemFont(ofSize: 18) + super.init(frame: .zero) + backgroundColor = .white + + addSubview(categoryLabel) + categoryLabel.snp.makeConstraints { make in + make.top.equalToSuperview().offset(12) + make.leading.equalToSuperview().offset(16) + make.trailing.equalToSuperview() + } addSubview(stackView) stackView.snp.makeConstraints { make in - make.edges.equalToSuperview() + make.top.equalTo(categoryLabel.snp.bottom).offset(12) + make.leading.equalToSuperview() + make.trailing.equalToSuperview() + make.bottom.equalToSuperview() } } diff --git a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuItemsView.swift b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuItemsView.swift index 11e89b92..6f5d1678 100644 --- a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuItemsView.swift +++ b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuItemsView.swift @@ -28,6 +28,8 @@ class ExpandedMenuItemView: UIView { self.allMenuItems = allMenuItems menuItemsStack = UIStackView(arrangedSubviews: views) + menuItemsStack.spacing = 8 + menuItemsStack.backgroundColor = .wash menuItemsStack.axis = .vertical addSubview(menuItemsStack) From 15ec60dba099304b78d72cdb4d007bb13c56e96f Mon Sep 17 00:00:00 2001 From: Justin Ngai Date: Sun, 14 Nov 2021 01:32:27 -0500 Subject: [PATCH 2/4] Fix issue with extra divider on top of each category --- .../ExpandedMenus/ExpandedMenuCategoryView.swift | 4 ++-- .../EateryScreenViews/ExpandedMenus/ExpandedMenuRow.swift | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift index e99e8d21..9584391a 100644 --- a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift +++ b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuCategoryView.swift @@ -39,7 +39,7 @@ class ExpandedMenuCategoryView: UIView { categoryLabel = UILabel() categoryLabel.text = category - categoryLabel.font = .systemFont(ofSize: 18) + categoryLabel.font = .systemFont(ofSize: 18, weight: .semibold) super.init(frame: .zero) backgroundColor = .white @@ -53,7 +53,7 @@ class ExpandedMenuCategoryView: UIView { addSubview(stackView) stackView.snp.makeConstraints { make in - make.top.equalTo(categoryLabel.snp.bottom).offset(12) + make.top.equalTo(categoryLabel.snp.bottom).offset(4) make.leading.equalToSuperview() make.trailing.equalToSuperview() make.bottom.equalToSuperview() diff --git a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuRow.swift b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuRow.swift index 414143db..8f4eb477 100644 --- a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuRow.swift +++ b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedMenuRow.swift @@ -54,7 +54,7 @@ class ExpandedMenuRow: UIView { separator.snp.makeConstraints { make in make.height.equalTo(1) - make.top.equalToSuperview() + make.bottom.equalToSuperview() make.leading.equalToSuperview().offset(padding - lineOffset) make.trailing.equalToSuperview().offset(-padding + lineOffset) } From dc2adc6065b2d2bb39d9a92fb2a26bd985f17cee Mon Sep 17 00:00:00 2001 From: Justin Ngai Date: Wed, 17 Nov 2021 18:38:31 -0500 Subject: [PATCH 3/4] Remove filter button and filter label --- Eatery.xcodeproj/project.pbxproj | 6 +-- .../Campus/ScrollableViewController.swift | 40 ------------------ .../ExpandedHeaderContainer.swift | 41 +------------------ 3 files changed, 4 insertions(+), 83 deletions(-) diff --git a/Eatery.xcodeproj/project.pbxproj b/Eatery.xcodeproj/project.pbxproj index 5d9adb51..694c49b1 100644 --- a/Eatery.xcodeproj/project.pbxproj +++ b/Eatery.xcodeproj/project.pbxproj @@ -1908,7 +1908,7 @@ CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = N85YZLFRGD; + DEVELOPMENT_TEAM = ZGMCXU7X3U; EXCLUDED_ARCHS = ""; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -2086,7 +2086,7 @@ CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = N85YZLFRGD; + DEVELOPMENT_TEAM = ZGMCXU7X3U; EXCLUDED_ARCHS = ""; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -2171,7 +2171,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = N85YZLFRGD; + DEVELOPMENT_TEAM = ZGMCXU7X3U; EXCLUDED_ARCHS = ""; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; diff --git a/Eatery/Controllers/Eateries/Campus/ScrollableViewController.swift b/Eatery/Controllers/Eateries/Campus/ScrollableViewController.swift index c49ac78f..d482a242 100644 --- a/Eatery/Controllers/Eateries/Campus/ScrollableViewController.swift +++ b/Eatery/Controllers/Eateries/Campus/ScrollableViewController.swift @@ -71,8 +71,6 @@ class ScrollableViewController: UIViewController { private func createTabBarStack() { headerContainer = ExpandedHeaderContainer() headerContainer.backgroundColor = .white - headerContainer.addFilterButtonTarget(self, action: #selector(filterButtonPressed), forEvent: .touchUpInside) - headerContainer.snp.makeConstraints { make in make.height.equalTo(58) } @@ -204,17 +202,6 @@ class ScrollableViewController: UIViewController { tabBar.select(at: selectionIndex) } - @objc func filterButtonPressed() { - headerContainer.filterButtonPressed() - - if headerContainer.getFilterButtonState() != .inactive { - hideTabBar() - } else { - showTabBar() - headerContainer.setFilterLabelText(to: "") - } - } - private func hideTabBar() { UIView.animate(withDuration: 0.45) { let adjustedPosTabBar = (self.headerContainer.frame.height / 2) - (self.tabBar.frame.height / 2) @@ -224,13 +211,6 @@ class ScrollableViewController: UIViewController { self.tabBar.center.y = self.headerContainer.center.y + adjustedPosTabBar self.menuItemsView.center.y = self.tabBar.center.y + adjustedPosMenuStack } - - if headerContainer.getFilterButtonState() == .hightolow { - scrollView?.contentSize.height -= tabBar.frame.height // Does not animate when subtracted - switchToHighToLowStack() - } else if headerContainer.getFilterButtonState() == .lowtohigh { - switchToLowToHighStack() - } } private func showTabBar() { @@ -243,26 +223,6 @@ class ScrollableViewController: UIViewController { self.menuItemsView.center.y = self.tabBar.center.y + adjustedPosMenuStack self.scrollView?.contentSize.height += self.tabBar.frame.height } - - switchToOriginalStack() - } - - private func switchToHighToLowStack() { - menuItemsView.createHighToLowStackIfNeeded() - headerContainer.setFilterLabelText(to: "Highest \u{2794} Lowest") - menuItemsView.switchVisibleStack(type: .highToLow) - } - - private func switchToLowToHighStack() { - menuItemsView.createLowToHighStackIfNeeded() - headerContainer.setFilterLabelText(to: "Lowest \u{2794} Highest") - menuItemsView.switchVisibleStack(type: .lowToHigh) - - } - - private func switchToOriginalStack() { - headerContainer.setFilterLabelText(to: "") - menuItemsView.switchVisibleStack(type: .original) } override func viewWillAppear(_ animated: Bool) { diff --git a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift index 09547018..31263e99 100644 --- a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift +++ b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift @@ -10,7 +10,7 @@ import UIKit class ExpandedHeaderContainer: UIView { - private var filterButton: ExpandedFilterButton! +// private var filterButton: ExpandedFilterButton! private var filterLabel: UILabel! private var separatorView: SeparatorView! @@ -26,17 +26,6 @@ class ExpandedHeaderContainer: UIView { titleLabel.preservesSuperviewLayoutMargins = true addSubview(titleLabel) - filterButton = ExpandedFilterButton(frame: .zero, inactiveColor: .systemGray, activeColor: .eateryBlue) - filterButton.preservesSuperviewLayoutMargins = true - addSubview(filterButton) - - filterLabel = UILabel() - filterLabel.textColor = .eateryBlue - filterLabel.font = .boldSystemFont(ofSize: 11) - filterLabel.text = "" - filterLabel.preservesSuperviewLayoutMargins = true - addSubview(filterLabel) - separatorView = SeparatorView(insets: UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)) separatorView.tintColor = .clear separatorView.isHidden = true @@ -48,18 +37,6 @@ class ExpandedHeaderContainer: UIView { make.bottom.equalToSuperview() } - filterButton.snp.makeConstraints { make in - make.centerY.equalTo(titleLabel.snp.centerY) - make.height.equalTo(titleLabel.snp.height).multipliedBy(0.3) - make.trailing.equalToSuperview().offset(-tabBarPadding) - make.width.equalTo(filterButton.snp.height).multipliedBy(1.7) - } - - filterLabel.snp.makeConstraints { make in - make.centerY.equalTo(titleLabel.snp.centerY) - make.trailing.equalTo(filterButton.snp.leading).offset(-6) - } - separatorView.snp.makeConstraints { make in make.leading.trailing.bottom.equalToSuperview() } @@ -69,22 +46,6 @@ class ExpandedHeaderContainer: UIView { fatalError("init(coder:) has not been implemented") } - func addFilterButtonTarget(_ target: Any?, action: Selector, forEvent: UIControlEvents) { - filterButton.addTarget(target, action: action, for: forEvent) - } - - func filterButtonPressed() { - filterButton.pressed() - } - - func getFilterButtonState() -> ExpandedFilterButtonState { - filterButton.filterState - } - - func setFilterLabelText(to text: String) { - filterLabel.text = text - } - func setSeparatorViewHidden(to hidden: Bool) { separatorView.isHidden = hidden } From 9e2d420d8f6f82eef47fdbb69e735d843b84d339 Mon Sep 17 00:00:00 2001 From: Justin Ngai Date: Sat, 20 Nov 2021 23:55:05 -0500 Subject: [PATCH 4/4] Remove extra comment --- .../ExpandedMenus/ExpandedHeaderContainer.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift index 31263e99..4b800272 100644 --- a/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift +++ b/Eatery/Views/Eateries/EateryScreenViews/ExpandedMenus/ExpandedHeaderContainer.swift @@ -10,7 +10,6 @@ import UIKit class ExpandedHeaderContainer: UIView { -// private var filterButton: ExpandedFilterButton! private var filterLabel: UILabel! private var separatorView: SeparatorView!