Skip to content

Commit

Permalink
Update onboarding with modern HA design (#3052)
Browse files Browse the repository at this point in the history
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
![CleanShot 2024-09-25 at 18 05
52@2x](https://github.com/user-attachments/assets/631a59c2-0db1-4a0f-9ac8-a62139d78865)

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
  • Loading branch information
bgoncal authored Sep 26, 2024
1 parent 84bcdb5 commit 666a9cf
Show file tree
Hide file tree
Showing 19 changed files with 316 additions and 305 deletions.
24 changes: 16 additions & 8 deletions HomeAssistant.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -608,6 +608,7 @@
426CBB6C2C9C550D003CA3AC /* IntentSwitchEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 426CBB6B2C9C550D003CA3AC /* IntentSwitchEntity.swift */; };
426D9C742C9C60B000F278AF /* ControlEntityProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 426D9C722C9C582F00F278AF /* ControlEntityProvider.swift */; };
426D9C752C9C60B000F278AF /* ControlEntityProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 426D9C722C9C582F00F278AF /* ControlEntityProvider.swift */; };
426EE49B2CA4194E00A5EF4F /* OnboardingWelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 426EE49A2CA4194E00A5EF4F /* OnboardingWelcomeView.swift */; };
4273C4872C8857B00065A5B4 /* ControlOpenPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4273C4862C8857B00065A5B4 /* ControlOpenPage.swift */; };
4273C4882C8857B00065A5B4 /* ControlOpenPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4273C4862C8857B00065A5B4 /* ControlOpenPage.swift */; };
4273C48A2C8858470065A5B4 /* ControlOpenPageValueProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4273C4892C8858470065A5B4 /* ControlOpenPageValueProvider.swift */; };
Expand Down Expand Up @@ -725,6 +726,9 @@
42DEDA9A2C5B926400E9D29D /* AppVersionSensor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42DEDA992C5B926400E9D29D /* AppVersionSensor.swift */; };
42DEDA9B2C5B926400E9D29D /* AppVersionSensor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42DEDA992C5B926400E9D29D /* AppVersionSensor.swift */; };
42E65F082C8079FE00C4A6F2 /* ControlAssistValueProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42E65F072C8079FE00C4A6F2 /* ControlAssistValueProvider.swift */; };
42E95C552CA44FC90010ECE3 /* SafariWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42E95C542CA44FC90010ECE3 /* SafariWebView.swift */; };
42E95C572CA45EFA0010ECE3 /* OnboardingErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42E95C562CA45EFA0010ECE3 /* OnboardingErrorView.swift */; };
42E95C592CA46AD50010ECE3 /* ActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42E95C582CA46AD50010ECE3 /* ActivityView.swift */; };
42EB03062C6E42F900A184A6 /* WatchHomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42EB03052C6E42F900A184A6 /* WatchHomeView.swift */; };
42EB03082C6E430300A184A6 /* WatchHomeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42EB03072C6E430300A184A6 /* WatchHomeViewModel.swift */; };
42EB030A2C6E4D0E00A184A6 /* WatchMagicViewRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42EB03092C6E4D0E00A184A6 /* WatchMagicViewRow.swift */; };
Expand Down Expand Up @@ -945,7 +949,6 @@
B661FB68226B961400E541DD /* WebSocketBridge.js in Resources */ = {isa = PBXBuildFile; fileRef = B661FB67226B961400E541DD /* WebSocketBridge.js */; };
B661FB6A226BBDA900E541DD /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B661FB69226BBDA900E541DD /* SettingsViewController.swift */; };
B661FB6F226BCCAD00E541DD /* ConnectionSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B661FB6E226BCCAD00E541DD /* ConnectionSettingsViewController.swift */; };
B661FB74226C110A00E541DD /* OnboardingWelcomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B661FB73226C110A00E541DD /* OnboardingWelcomeViewController.swift */; };
B661FB7A226C197900E541DD /* OnboardingManualURLViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B661FB79226C197900E541DD /* OnboardingManualURLViewController.swift */; };
B661FC7E226C87BB00E541DD /* home.json in Resources */ = {isa = PBXBuildFile; fileRef = B661FC7D226C87BB00E541DD /* home.json */; };
B661FC88226D478300E541DD /* OnboardingScanningViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B661FC87226D478300E541DD /* OnboardingScanningViewController.swift */; };
Expand Down Expand Up @@ -1031,7 +1034,6 @@
B6D3B4ED225B26900082BB4F /* SensorContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D3B4EB225B26300082BB4F /* SensorContainer.swift */; };
B6D3B4EE225B26910082BB4F /* SensorContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D3B4EB225B26300082BB4F /* SensorContainer.swift */; };
B6D8A3282271448E00FA765D /* error.json in Resources */ = {isa = PBXBuildFile; fileRef = B6D8A3272271448D00FA765D /* error.json */; };
B6D8A32A2271455300FA765D /* OnboardingErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D8A3292271455300FA765D /* OnboardingErrorViewController.swift */; };
B6DA3C7122690B1F00DE811C /* NotificationSoundsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DA3C7022690B1F00DE811C /* NotificationSoundsViewController.swift */; };
B6DA3C7322691A5000DE811C /* AKConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DA3C7222691A5000DE811C /* AKConverter.swift */; };
B6DD5E6A24940F6F003A0154 /* OpenInFirefoxControllerSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DD5E6924940F6F003A0154 /* OpenInFirefoxControllerSwift.swift */; };
Expand Down Expand Up @@ -1854,6 +1856,7 @@
426CBB692C9C543F003CA3AC /* ControlSwitchValueProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlSwitchValueProvider.swift; sourceTree = "<group>"; };
426CBB6B2C9C550D003CA3AC /* IntentSwitchEntity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentSwitchEntity.swift; sourceTree = "<group>"; };
426D9C722C9C582F00F278AF /* ControlEntityProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlEntityProvider.swift; sourceTree = "<group>"; };
426EE49A2CA4194E00A5EF4F /* OnboardingWelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingWelcomeView.swift; sourceTree = "<group>"; };
4273C4862C8857B00065A5B4 /* ControlOpenPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlOpenPage.swift; sourceTree = "<group>"; };
4273C4892C8858470065A5B4 /* ControlOpenPageValueProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlOpenPageValueProvider.swift; sourceTree = "<group>"; };
4273C48C2C8859530065A5B4 /* PageAppEntity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageAppEntity.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1982,6 +1985,9 @@
42DD84392B15DC3F00936F16 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/Localizable.strings; sourceTree = "<group>"; };
42DEDA992C5B926400E9D29D /* AppVersionSensor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppVersionSensor.swift; sourceTree = "<group>"; };
42E65F072C8079FE00C4A6F2 /* ControlAssistValueProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlAssistValueProvider.swift; sourceTree = "<group>"; };
42E95C542CA44FC90010ECE3 /* SafariWebView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariWebView.swift; sourceTree = "<group>"; };
42E95C562CA45EFA0010ECE3 /* OnboardingErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingErrorView.swift; sourceTree = "<group>"; };
42E95C582CA46AD50010ECE3 /* ActivityView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityView.swift; sourceTree = "<group>"; };
42EB03052C6E42F900A184A6 /* WatchHomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchHomeView.swift; sourceTree = "<group>"; };
42EB03072C6E430300A184A6 /* WatchHomeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchHomeViewModel.swift; sourceTree = "<group>"; };
42EB03092C6E4D0E00A184A6 /* WatchMagicViewRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchMagicViewRow.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2291,7 +2297,6 @@
B661FB67226B961400E541DD /* WebSocketBridge.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = WebSocketBridge.js; sourceTree = "<group>"; };
B661FB69226BBDA900E541DD /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = "<group>"; };
B661FB6E226BCCAD00E541DD /* ConnectionSettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionSettingsViewController.swift; sourceTree = "<group>"; };
B661FB73226C110A00E541DD /* OnboardingWelcomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingWelcomeViewController.swift; sourceTree = "<group>"; };
B661FB79226C197900E541DD /* OnboardingManualURLViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingManualURLViewController.swift; sourceTree = "<group>"; };
B661FC7D226C87BB00E541DD /* home.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = home.json; sourceTree = "<group>"; };
B661FC87226D478300E541DD /* OnboardingScanningViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingScanningViewController.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2355,7 +2360,6 @@
B6D0D2810993156972329EA6 /* Pods-iOS-Extensions-Matter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iOS-Extensions-Matter.release.xcconfig"; path = "Pods/Target Support Files/Pods-iOS-Extensions-Matter/Pods-iOS-Extensions-Matter.release.xcconfig"; sourceTree = "<group>"; };
B6D3B4EB225B26300082BB4F /* SensorContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SensorContainer.swift; sourceTree = "<group>"; };
B6D8A3272271448D00FA765D /* error.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = error.json; sourceTree = "<group>"; };
B6D8A3292271455300FA765D /* OnboardingErrorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingErrorViewController.swift; sourceTree = "<group>"; };
B6DA3C7022690B1F00DE811C /* NotificationSoundsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSoundsViewController.swift; sourceTree = "<group>"; };
B6DA3C7222691A5000DE811C /* AKConverter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AKConverter.swift; sourceTree = "<group>"; };
B6DAC734215F069300727D2A /* NotificationCategory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationCategory.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2796,12 +2800,14 @@
1168BF35271811C200DD4D15 /* Screens */ = {
isa = PBXGroup;
children = (
B6D8A3292271455300FA765D /* OnboardingErrorViewController.swift */,
B661FC87226D478300E541DD /* OnboardingScanningViewController.swift */,
11DA6B4E2713912F008ADFAF /* OnboardingPermissionViewController.swift */,
B661FB79226C197900E541DD /* OnboardingManualURLViewController.swift */,
11E99A4F27156854003C8A65 /* OnboardingTerminalViewController.swift */,
B661FB73226C110A00E541DD /* OnboardingWelcomeViewController.swift */,
42E95C562CA45EFA0010ECE3 /* OnboardingErrorView.swift */,
426EE49A2CA4194E00A5EF4F /* OnboardingWelcomeView.swift */,
42E95C582CA46AD50010ECE3 /* ActivityView.swift */,
42E95C542CA44FC90010ECE3 /* SafariWebView.swift */,
);
path = Screens;
sourceTree = "<group>";
Expand Down Expand Up @@ -6513,6 +6519,7 @@
11195F6B267EFB1F003DF674 /* NotificationManagerLocalPushInterface.swift in Sources */,
B6022213226DAC9D00E8DBFE /* ScaledFont.swift in Sources */,
1112AE9B25F71775007A541A /* LocationHistoryListViewController.swift in Sources */,
426EE49B2CA4194E00A5EF4F /* OnboardingWelcomeView.swift in Sources */,
B68EDD03215F0E2900DD6B28 /* NotificationCategoryConfigurator.swift in Sources */,
D0FF79D220D87D200034574D /* ClientEventTableViewController.swift in Sources */,
42D5ACCE2C636F2B00D9C4E2 /* WatchConfigurationViewModel.swift in Sources */,
Expand Down Expand Up @@ -6543,6 +6550,7 @@
42F1DA6D2B4ED29C002729BC /* CarPlayPaginatedListTemplate.swift in Sources */,
11DA6B4B27137A60008ADFAF /* InputAccessoryView.swift in Sources */,
42FCD0142B9B29740057783F /* ThreadCredentialDetailsView.swift in Sources */,
42E95C552CA44FC90010ECE3 /* SafariWebView.swift in Sources */,
11A71C6D24A4641600D9565F /* ZoneManagerEvent.swift in Sources */,
42FCD0122B9B29740057783F /* ThreadCredentialsManagementView+Build.swift in Sources */,
11F3D7512495434C00C05BBA /* SensorDetailViewController.swift in Sources */,
Expand Down Expand Up @@ -6623,7 +6631,6 @@
42F1DA5F2B4D4B32002729BC /* CarPlayServerListTemplate.swift in Sources */,
420FE8492B556A0200878E06 /* CarPlayActionsViewModel.swift in Sources */,
4273C48E2C8859530065A5B4 /* PageAppEntity.swift in Sources */,
B6D8A32A2271455300FA765D /* OnboardingErrorViewController.swift in Sources */,
B648AE252275918F006972AF /* Segues.swift in Sources */,
11ADB13E24C29E6900FF5EB2 /* ZoneManagerRegionFilter.swift in Sources */,
11DE822E24FAC51100E636B8 /* IncomingURLHandler.swift in Sources */,
Expand All @@ -6637,7 +6644,9 @@
11A48D8124CA8ADB0021BDD9 /* NotificationCategory+Observation.swift in Sources */,
1100D51D2496AECE00B1073C /* PermissionStatusRow.swift in Sources */,
D0B25BD221323CA600678C2C /* ClientEventPayloadViewController.swift in Sources */,
42E95C572CA45EFA0010ECE3 /* OnboardingErrorView.swift in Sources */,
B641BC1F1E2097EF002CCBC1 /* AboutViewController.swift in Sources */,
42E95C592CA46AD50010ECE3 /* ActivityView.swift in Sources */,
B675ECC3221BB0E600C65D31 /* SearchPushRow.swift in Sources */,
11C05F2D254919210031D038 /* AccountInitialsImage.swift in Sources */,
B605C891226E9DAC00EF46DD /* Permissions.swift in Sources */,
Expand All @@ -6661,7 +6670,6 @@
42FCCFE32B9B1B610057783F /* BarcodeScannerCameraView.swift in Sources */,
11B62DBE24F2EDD800E5CB55 /* EurekaCondition+Additions.swift in Sources */,
4289DDAA2C85AB4C003591C2 /* AssistAppIntent.swift in Sources */,
B661FB74226C110A00E541DD /* OnboardingWelcomeViewController.swift in Sources */,
1164DA2125FBEE8600515E8A /* TemplateEditViewController.swift in Sources */,
4273C4882C8857B00065A5B4 /* ControlOpenPage.swift in Sources */,
11A71C8B24A5848B00D9565F /* ZoneManagerProcessor.swift in Sources */,
Expand Down
1 change: 0 additions & 1 deletion Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ abstract_target 'iOS' do

pod 'FirebaseMessaging'

pod 'lottie-ios'
pod 'SwiftMessages'
pod 'ViewRow', git: 'https://github.com/EurekaCommunity/ViewRow', branch: 'master'

Expand Down
6 changes: 1 addition & 5 deletions Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ PODS:
- PromiseKit (~> 6.13)
- Improv-iOS (0.0.6)
- KeychainAccess (4.2.2)
- lottie-ios (4.1.2)
- MBProgressHUD (1.2.0)
- nanopb (2.30909.0):
- nanopb/decode (= 2.30909.0)
Expand Down Expand Up @@ -139,7 +138,6 @@ DEPENDENCIES:
- HAKit/PromiseKit (from `https://github.com/home-assistant/HAKit.git`, tag `0.4.2`)
- Improv-iOS (~> 0.0.6)
- KeychainAccess
- lottie-ios
- MBProgressHUD (~> 1.2.0)
- ObjectMapper (from `https://github.com/tristanhimmelman/ObjectMapper.git`, branch `master`)
- OHHTTPStubs/Swift
Expand Down Expand Up @@ -171,7 +169,6 @@ SPEC REPOS:
- GoogleUtilities
- Improv-iOS
- KeychainAccess
- lottie-ios
- MBProgressHUD
- nanopb
- ObjcExceptionBridging
Expand Down Expand Up @@ -279,7 +276,6 @@ SPEC CHECKSUMS:
HAKit: 92e9bd30717270df15025184b608b7902a773286
Improv-iOS: 8973990c1b1f3e3aed7fc600c8efce95359cadd0
KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51
lottie-ios: b3846a9fa8ca1a1a3bebfa256ebe8b6fd4aaaaad
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
ObjcExceptionBridging: c30e00eb3700467e695faeea30e26e18bd445001
Expand All @@ -303,6 +299,6 @@ SPEC CHECKSUMS:
XCGLogger: 1943831ef907df55108b0b18657953f868de973b
ZIPFoundation: d170fa8e270b2a32bef9dcdcabff5b8f1a5deced

PODFILE CHECKSUM: e74a19f202198268745428ea4069d3a9738407d8
PODFILE CHECKSUM: 7db8d8bc3dbacceb0cd00e82d8ee470965549665

COCOAPODS: 1.15.2
3 changes: 2 additions & 1 deletion Sources/App/Onboarding/API/OnboardingAuth.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ import Foundation
import HAKit
import PromiseKit
import Shared
import SwiftUI

class OnboardingAuth {
func successController(server: Server?) -> UIViewController {
OnboardingPermissionViewControllerFactory.next(server: server)
}

func failureController(error: Error) -> UIViewController {
OnboardingErrorViewController(error: error)
UIHostingController(rootView: OnboardingErrorView(error: error))
}

var login: OnboardingAuthLogin = OnboardingAuthLoginImpl()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import Eureka
import Shared
import SwiftUI
import UIKit

enum OnboardingBarAppearance {
Expand Down Expand Up @@ -56,13 +57,15 @@ class OnboardingNavigationViewController: UINavigationController, RowControllerT

let rootViewController: UIViewController

let onboardingWelcomeViewController = UIHostingController(rootView: OnboardingWelcomeView())

switch onboardingStyle {
case .initial: rootViewController = OnboardingWelcomeViewController()
case .initial: rootViewController = onboardingWelcomeViewController
case .secondary: rootViewController = OnboardingScanningViewController()
case let .required(type):
switch type {
case .full:
rootViewController = OnboardingWelcomeViewController()
rootViewController = onboardingWelcomeViewController
case .permissions:
rootViewController = OnboardingPermissionViewControllerFactory.next(server: nil)
}
Expand All @@ -89,31 +92,22 @@ class OnboardingNavigationViewController: UINavigationController, RowControllerT
fatalError("init(coder:) has not been implemented")
}

override var childForStatusBarStyle: UIViewController? {
nil
}

override var preferredStatusBarStyle: UIStatusBarStyle {
.lightContent
}

override func viewDidLoad() {
super.viewDidLoad()

delegate = self
view.tintColor = Current.style.onboardingTintColor

overrideUserInterfaceStyle = .dark
view.tintColor = Asset.Colors.haPrimary.color
navigationController?.navigationBar.tintColor = Asset.Colors.haPrimary.color

let appearance = with(UINavigationBarAppearance()) {
$0.configureWithOpaqueBackground()
$0.backgroundColor = Current.style.onboardingBackground
$0.backgroundColor = .systemBackground
$0.shadowColor = .clear
$0.titleTextAttributes = [.foregroundColor: UIColor.white]
$0.titleTextAttributes = [.foregroundColor: UIColor.label]
}
navigationBar.standardAppearance = appearance
navigationBar.scrollEdgeAppearance = appearance
navigationBar.tintColor = .white
navigationBar.tintColor = .label
}

@objc private func cancelTapped(_ sender: UIBarButtonItem) {
Expand Down
21 changes: 21 additions & 0 deletions Sources/App/Onboarding/Screens/ActivityView.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import SwiftUI
import UIKit

struct ActivityView: UIViewControllerRepresentable {
var activityItems: [Any]
var applicationActivities: [UIActivity]? = nil

func makeUIViewController(context: UIViewControllerRepresentableContext<ActivityView>)
-> UIActivityViewController {
let controller = UIActivityViewController(
activityItems: activityItems,
applicationActivities: applicationActivities
)
return controller
}

func updateUIViewController(
_ uiViewController: UIActivityViewController,
context: UIViewControllerRepresentableContext<ActivityView>
) {}
}
Loading

0 comments on commit 666a9cf

Please sign in to comment.