Login with QR UI components (#6790)

* Display QR button on login screen if HS supports

* Create start screen

* Add build flag

* Connect start screen to the login

* QR display screen

* Move `LabelledDividerView` into separate file

* Show display QR screen on button tap

* Add swift concurreny to CameraAccessManager

* Introduce `QRLoginServiceProtocol`

* Use new service in screens

* Introduce scan QR code screen

* Remove hardcoded service availability

* Remove unnecessary import

* Add confirmation screen

* Add loading screen

* Fix ZXingObjc targets

* Add failure screen

* Add strings

* Various UI tweaks, navigation according to the service state

* Fix tests

* Add string for invalid QR error

* Add QR login service mode
This commit is contained in:
ismailgulek
2022-10-06 18:05:46 +03:00
committed by GitHub
parent 01ebe6de55
commit 27857f98db
79 changed files with 4094 additions and 9 deletions
@@ -19,15 +19,18 @@ import SwiftUI
struct SecondaryActionButtonStyle: ButtonStyle {
@Environment(\.theme) private var theme
@Environment(\.isEnabled) private var isEnabled
/// `theme.colors.accent` by default
var customColor: Color?
/// `theme.fonts.body` by default
var font: Font?
func makeBody(configuration: Self.Configuration) -> some View {
configuration.label
.padding(12.0)
.frame(maxWidth: .infinity)
.foregroundColor(customColor ?? theme.colors.accent)
.font(theme.fonts.body)
.font(font ?? theme.fonts.body)
.background(RoundedRectangle(cornerRadius: 8)
.strokeBorder()
.foregroundColor(customColor ?? theme.colors.accent))