diff --git a/BeeKit/Info.plist b/BeeKit/Info.plist
index a19febe48..e06492fff 100644
--- a/BeeKit/Info.plist
+++ b/BeeKit/Info.plist
@@ -17,6 +17,6 @@
CFBundleShortVersionString
6.7
CFBundleVersion
- 53
+ 54
diff --git a/BeeKitTests/Info.plist b/BeeKitTests/Info.plist
index a19febe48..e06492fff 100644
--- a/BeeKitTests/Info.plist
+++ b/BeeKitTests/Info.plist
@@ -17,6 +17,6 @@
CFBundleShortVersionString
6.7
CFBundleVersion
- 53
+ 54
diff --git a/BeeSwift.xcodeproj/project.pbxproj b/BeeSwift.xcodeproj/project.pbxproj
index 505602145..87663efaa 100644
--- a/BeeSwift.xcodeproj/project.pbxproj
+++ b/BeeSwift.xcodeproj/project.pbxproj
@@ -193,13 +193,6 @@
remoteGlobalIDString = A196CB131AE4142E00B90A3E;
remoteInfo = BeeSwift;
};
- E57BE6F32655EBE000BA540B /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A196CB0C1AE4142E00B90A3E /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = E57BE6DF2655EBD900BA540B;
- remoteInfo = BeeKit;
- };
E57BE7122655F00200BA540B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A196CB0C1AE4142E00B90A3E /* Project object */;
@@ -847,7 +840,6 @@
);
dependencies = (
E5F7C4A9260FC5300095684F /* PBXTargetDependency */,
- E57BE6F42655EBE000BA540B /* PBXTargetDependency */,
E57BE7132655F00200BA540B /* PBXTargetDependency */,
9B93301E2CE55C7F00720B19 /* PBXTargetDependency */,
);
@@ -1342,11 +1334,6 @@
target = A196CB131AE4142E00B90A3E /* BeeSwift */;
targetProxy = E57BE6EC2655EBE000BA540B /* PBXContainerItemProxy */;
};
- E57BE6F42655EBE000BA540B /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = E57BE6DF2655EBD900BA540B /* BeeKit */;
- targetProxy = E57BE6F32655EBE000BA540B /* PBXContainerItemProxy */;
- };
E57BE7132655F00200BA540B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = E57BE6DF2655EBD900BA540B /* BeeKit */;
@@ -1492,7 +1479,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 53;
+ CURRENT_PROJECT_VERSION = 54;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@@ -1557,7 +1544,7 @@
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 53;
+ CURRENT_PROJECT_VERSION = 54;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -1724,7 +1711,7 @@
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 8TW9V9HVES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 53;
+ DYLIB_CURRENT_VERSION = 54;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = YES;
EXCLUDED_ARCHS = "";
@@ -1771,7 +1758,7 @@
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 8TW9V9HVES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 53;
+ DYLIB_CURRENT_VERSION = 54;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = YES;
EXCLUDED_ARCHS = "";
diff --git a/BeeSwift/Base.lproj/Main.storyboard b/BeeSwift/Base.lproj/Main.storyboard
index 8e9c3e14e..69142d397 100644
--- a/BeeSwift/Base.lproj/Main.storyboard
+++ b/BeeSwift/Base.lproj/Main.storyboard
@@ -8,10 +8,10 @@
-
+
-
+
diff --git a/BeeSwift/Gallery/GalleryViewController.swift b/BeeSwift/Gallery/GalleryViewController.swift
index 80533e356..3e555db39 100644
--- a/BeeSwift/Gallery/GalleryViewController.swift
+++ b/BeeSwift/Gallery/GalleryViewController.swift
@@ -207,6 +207,17 @@ class GalleryViewController: UIViewController, UICollectionViewDelegateFlowLayou
}
}
+ override func viewWillAppear(_ animated: Bool) {
+ super.viewWillAppear(animated)
+
+ self.collectionView!.snp.remakeConstraints { make in
+ make.top.equalTo(self.searchBar.snp.bottom)
+ make.left.equalTo(self.view.safeAreaLayoutGuide.snp.leftMargin)
+ make.right.equalTo(self.view.safeAreaLayoutGuide.snp.rightMargin)
+ make.bottom.equalTo(self.collectionView!.keyboardLayoutGuide.snp.top)
+ }
+ }
+
override func viewDidAppear(_ animated: Bool) {
if !ServiceLocator.currentUserManager.signedIn(context: ServiceLocator.persistentContainer.viewContext) {
let signInVC = SignInViewController()
diff --git a/BeeSwift/Info.plist b/BeeSwift/Info.plist
index e4b37fe84..2bbcbd1f7 100644
--- a/BeeSwift/Info.plist
+++ b/BeeSwift/Info.plist
@@ -70,7 +70,7 @@
CFBundleVersion
- 53
+ 54
ITSAppUsesNonExemptEncryption
LSApplicationCategoryType
diff --git a/BeeSwift/SignInViewController.swift b/BeeSwift/SignInViewController.swift
index c9ebc33f6..8b53e8947 100644
--- a/BeeSwift/SignInViewController.swift
+++ b/BeeSwift/SignInViewController.swift
@@ -12,20 +12,12 @@ import SafariServices
import BeeKit
-class SignInViewController : UIViewController, UITextFieldDelegate, SFSafariViewControllerDelegate {
+class SignInViewController : UIViewController, UITextFieldDelegate {
var headerLabel = BSLabel()
var emailTextField = BSTextField()
var passwordTextField = BSTextField()
- var newEmailTextField = BSTextField()
- var newUsernameTextField = BSTextField()
- var newPasswordTextField = BSTextField()
- var chooseSignInButton = BSButton()
- var chooseSignUpButton = BSButton()
var beeImageView = UIImageView()
- var signUpButton = BSButton()
- var backToSignInButton = BSButton()
- var backToSignUpButton = BSButton()
var signInButton = BSButton()
var divider = UIView()
@@ -57,16 +49,6 @@ class SignInViewController : UIViewController, UITextFieldDelegate, SFSafariView
make.centerX.equalToSuperview()
}
- scrollView.addSubview(self.chooseSignInButton)
- self.chooseSignInButton.setTitle("I have a Beeminder account", for: .normal)
- self.chooseSignInButton.snp.makeConstraints { (make) in
- make.centerX.equalToSuperview()
- make.top.equalTo(self.headerLabel.snp.bottom).offset(40)
- make.width.equalToSuperview().multipliedBy(0.75)
- make.height.equalTo(Constants.defaultTextFieldHeight)
- }
- self.chooseSignInButton.addTarget(self, action: #selector(SignInViewController.chooseSignInButtonPressed), for: .touchUpInside)
-
scrollView.addSubview(self.emailTextField)
self.emailTextField.isHidden = true
self.emailTextField.placeholder = "Email or username"
@@ -99,7 +81,6 @@ class SignInViewController : UIViewController, UITextFieldDelegate, SFSafariView
scrollView.addSubview(self.signInButton)
self.signInButton.isHidden = true
self.signInButton.setTitle("Sign In", for: UIControl.State())
- self.signInButton.backgroundColor = UIColor.Beeminder.gray
self.signInButton.titleLabel?.font = UIFont.beeminder.defaultFontPlain.withSize(20)
self.signInButton.titleLabel?.textColor = UIColor.white
self.signInButton.addTarget(self, action: #selector(SignInViewController.signInButtonPressed), for: UIControl.Event.touchUpInside)
@@ -114,87 +95,21 @@ class SignInViewController : UIViewController, UITextFieldDelegate, SFSafariView
self.divider.isHidden = true
self.divider.backgroundColor = UIColor.Beeminder.gray
- scrollView.addSubview(self.newUsernameTextField)
- self.newUsernameTextField.isHidden = true
- self.newUsernameTextField.autocapitalizationType = .none
- self.newUsernameTextField.snp.makeConstraints { (make) in
- make.top.equalTo(self.headerLabel.snp.bottom).offset(15)
- make.centerX.equalTo(scrollView)
- make.height.equalTo(Constants.defaultTextFieldHeight)
- make.width.equalTo(self.view).multipliedBy(0.75)
- }
- self.newUsernameTextField.placeholder = "Username"
-
- scrollView.addSubview(self.newEmailTextField)
- self.newEmailTextField.isHidden = true
- self.newEmailTextField.autocapitalizationType = .none
- self.newEmailTextField.snp.makeConstraints { (make) in
- make.top.equalTo(self.newUsernameTextField.snp.bottom).offset(15)
- make.centerX.equalTo(scrollView)
- make.height.equalTo(Constants.defaultTextFieldHeight)
- make.width.equalTo(self.view).multipliedBy(0.75)
- }
- self.newEmailTextField.placeholder = "Email"
-
- scrollView.addSubview(self.newPasswordTextField)
- self.newPasswordTextField.isHidden = true
- self.newPasswordTextField.autocapitalizationType = .none
- self.newPasswordTextField.isSecureTextEntry = true
- self.newPasswordTextField.snp.makeConstraints { (make) in
- make.top.equalTo(self.newEmailTextField.snp.bottom).offset(15)
- make.centerX.equalTo(scrollView)
- make.height.equalTo(Constants.defaultTextFieldHeight)
- make.width.equalTo(self.view).multipliedBy(0.75)
- }
-
- self.newPasswordTextField.placeholder = "Password"
-
- scrollView.addSubview(self.signUpButton)
- self.signUpButton.isHidden = true
- self.signUpButton.setTitle("Sign Up", for: .normal)
- self.signUpButton.titleLabel?.font = UIFont.beeminder.defaultFontPlain.withSize(20)
- self.signUpButton.snp.makeConstraints { (make) in
- make.top.equalTo(self.newPasswordTextField.snp.bottom).offset(15)
- make.centerX.equalTo(self.view)
- make.height.equalTo(Constants.defaultTextFieldHeight)
- make.width.equalTo(self.view).multipliedBy(0.75)
- }
-
- scrollView.addSubview(self.backToSignInButton)
- self.backToSignInButton.isHidden = true
- self.backToSignInButton.setTitle("Back to Sign In", for: .normal)
- self.backToSignInButton.snp.makeConstraints { (make) in
- make.top.equalTo(divider.snp.bottom).offset(15)
- make.height.equalTo(Constants.defaultTextFieldHeight)
- make.centerX.equalTo(self.view)
- make.width.equalTo(self.view).multipliedBy(0.75)
- }
- self.backToSignInButton.addTarget(self, action: #selector(SignInViewController.chooseSignInButtonPressed), for: .touchUpInside)
self.chooseSignInButtonPressed()
}
@objc func chooseSignInButtonPressed() {
- //self.divider.isHidden = false
- //self.backToSignUpButton.isHidden = false
self.emailTextField.isHidden = false
self.passwordTextField.isHidden = false
- self.backToSignInButton.isHidden = true
- self.newUsernameTextField.isHidden = true
- self.newPasswordTextField.isHidden = true
- self.newEmailTextField.isHidden = true
- self.chooseSignInButton.isHidden = true
- self.chooseSignUpButton.isHidden = true
self.headerLabel.text = "Sign in to Beeminder"
self.headerLabel.isHidden = false
self.signInButton.isHidden = false
- self.signUpButton.isHidden = true
self.divider.snp.remakeConstraints { (make) -> Void in
make.left.equalTo(self.signInButton)
make.right.equalTo(self.signInButton)
make.height.equalTo(1)
make.top.equalTo(self.signInButton.snp.bottom).offset(15)
}
-
}
var missingDataOnSignIn: UIAlertController {
diff --git a/BeeSwiftIntents/Info.plist b/BeeSwiftIntents/Info.plist
index f13e15498..17008515d 100644
--- a/BeeSwiftIntents/Info.plist
+++ b/BeeSwiftIntents/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
6.7
CFBundleVersion
- 53
+ 54
NSExtension
NSExtensionAttributes
diff --git a/BeeSwiftTests/Info.plist b/BeeSwiftTests/Info.plist
index 4f0b0963f..4f4d43516 100644
--- a/BeeSwiftTests/Info.plist
+++ b/BeeSwiftTests/Info.plist
@@ -19,6 +19,6 @@
CFBundleSignature
????
CFBundleVersion
- 53
+ 54
diff --git a/BeeSwiftUITests/Info.plist b/BeeSwiftUITests/Info.plist
index a19febe48..e06492fff 100644
--- a/BeeSwiftUITests/Info.plist
+++ b/BeeSwiftUITests/Info.plist
@@ -17,6 +17,6 @@
CFBundleShortVersionString
6.7
CFBundleVersion
- 53
+ 54
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4ad77168f..154be9598 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,11 +3,33 @@
Changes to be released in next version
=================================================
+✨ Features
+ *
+
+🙌 Improvements
+ *
+
+🐛 Bugfix
+ *
+
+⚠️ API Changes
+ *
+
+🧱 Build
+ *
+
+Others
+ *
+
+6.7 (2024-12-14)
+=================================================
+
✨ Features
* Goals are searchable via Spotlight (#472)
🙌 Improvements
* Support dark mode and tint for app icon (#478)
+ * Add support for dark green for goals with 7 days of safety buffer (#535)
* Changes to the styling of some buttons and UI elements (#483, #488, #489, #492)
* Support webcredentials for password manager login (#449)
* Sort by urgency instead of deadline (#451)
@@ -20,9 +42,7 @@ Changes to be released in next version
* Add #THISWILLSELFDESTRUCT to list of points ignored for value suggestion (#457)
* UI Elements no longer overlap with notch/dyanmic island (#495)
* Fix issues with choosing wrong day shortly after midnight (#510)
-
-⚠️ API Changes
- *
+ * Goals are no longer hidden behind the keyboard when filtering (#536, #545)
🧱 Build
* Update RubyGem versions (#476, #509)