Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions RIADigiDoc.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,6 @@
Util/Theme/ThemeSettingsProtocol.swift,
ViewModel/AdvancedSettingsViewModel.swift,
ViewModel/CertificateDetailViewModel.swift,
ViewModel/ContentViewModel.swift,
ViewModel/Crypto/DecryptRootViewModel.swift,
ViewModel/Crypto/DecryptRootViewModelProtocol.swift,
ViewModel/CryptoFileOpeningViewModel.swift,
Expand All @@ -226,7 +225,6 @@
ViewModel/MyEid/Shared/SharedMyEidSessionProtocol.swift,
ViewModel/Protocols/AdvancedSettingsViewModelProtocol.swift,
ViewModel/Protocols/CertificateDetailViewModelProtocol.swift,
ViewModel/Protocols/ContentViewModelProtocol.swift,
ViewModel/Protocols/CryptoFileOpeningViewModelProtocol.swift,
ViewModel/Protocols/CryptoHomeViewModelProtocol.swift,
ViewModel/Protocols/DataFilesViewModelProtocol.swift,
Expand Down
84 changes: 1 addition & 83 deletions RIADigiDoc/ContentView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,92 +19,10 @@

import FactoryKit
import SwiftUI
import UtilsLib

struct ContentView: View {
@Environment(\.scenePhase) private var scenePhase
@AppTheme private var theme
@AppTypography private var typography
@Environment(LanguageSettings.self) private var languageSettings

@Environment(NavigationPathManager.self) private var pathManager

@State private var viewModel: ContentViewModel

@State private var openedUrls: [URL] = []
@State private var showHomeMenuBottomSheetFromButton = false
@State private var showSettingsBottomSheetFromButton = false

@State private var navigateToAccessibility = false
@State private var navigateToInfo = false
@State private var navigateToDiagnostics = false

@State private var sharedFilesLoadingTask: Task<Void, Never>?

private var homeMenuBottomSheetActions: [BottomSheetButton] {
HomeMenuBottomSheetActions.actions(
onInfoClick: {
pathManager.navigate(to: .infoView)
},
onAccessibilityClick: {
pathManager.navigate(to: .accessibilityView)
},
onDiagnosticsClick: {
pathManager.navigate(to: .diagnosticsView)
}
)
}

init() {
_viewModel = State(wrappedValue: Container.shared.contentViewModel())
}

var body: some View {
TopBarContainer(
leftIcon: "ic_m3_menu_48pt_wght400",
leftIconAccessibility: "Menu",
onLeftClick: {
showHomeMenuBottomSheetFromButton = true
},
content: {
ScrollView {
VStack {
HomeView(externalFiles: $openedUrls)
Spacer()
}
}
.background(theme.surface)
.onOpenURL { url in
openedUrls = [url]
}
.onAppear {
if scenePhase == .active {
sharedFilesLoadingTask = Task {
let sharedFiles = await viewModel.getSharedFiles()
if !sharedFiles.isEmpty {
openedUrls = sharedFiles
}
}
}
}
.onChange(of: scenePhase) { _, newPhase in
if newPhase == .active {
sharedFilesLoadingTask?.cancel()

sharedFilesLoadingTask = Task {
let sharedFiles = await viewModel.getSharedFiles()
if !sharedFiles.isEmpty {
openedUrls = sharedFiles
}
}
}
}
.onDisappear {
sharedFilesLoadingTask?.cancel()
}
}
)
.bottomSheet(isPresented: $showHomeMenuBottomSheetFromButton, actions: homeMenuBottomSheetActions)
HomeView()
}
}

Expand Down
14 changes: 2 additions & 12 deletions RIADigiDoc/DI/AppContainer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ extension Container {
self { @MainActor in
HomeViewModel(
sharedContainerViewModel: self.sharedContainerViewModel(),
fileManager: self.fileManager()
fileManager: self.fileManager(),
fileUtil: self.fileUtil()
)
}
}
Expand Down Expand Up @@ -207,17 +208,6 @@ extension Container {
}
}

@MainActor
var contentViewModel: Factory<ContentViewModel> {
self {
@MainActor in
ContentViewModel(
fileUtil: self.fileUtil(),
fileManager: self.fileManager()
)
}
}

@MainActor
var recentDocumentsViewModel: Factory<RecentDocumentsViewModel> {
self {
Expand Down
32 changes: 16 additions & 16 deletions RIADigiDoc/Supporting files/Localizable.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -4424,74 +4424,74 @@
}
}
},
"Menu language" : {
"comment" : "Menu language",
"Menu language selected" : {
"comment" : "Menu language selected",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Language"
"value" : "selected"
}
},
"et" : {
"stringUnit" : {
"state" : "translated",
"value" : "Keel"
"value" : "valitud"
}
}
}
},
"Menu language selected" : {
"comment" : "Menu language selected",
"Menu language unselected" : {
"comment" : "Menu language",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Language selected"
"value" : "unselected"
}
},
"et" : {
"stringUnit" : {
"state" : "translated",
"value" : "Keel valitud"
"value" : "valimata"
}
}
}
},
"Menu theme" : {
"comment" : "Menu theme for accessibility",
"Menu theme selected" : {
"comment" : "Menu theme selected for accessibility",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Theme"
"value" : "Theme selected"
}
},
"et" : {
"stringUnit" : {
"state" : "translated",
"value" : "Teema"
"value" : "Teema valitud"
}
}
}
},
"Menu theme selected" : {
"comment" : "Menu theme selected for accessibility",
"Menu theme unselected" : {
"comment" : "Menu theme for accessibility",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Theme selected"
"value" : "Theme unselected"
}
},
"et" : {
"stringUnit" : {
"state" : "translated",
"value" : "Teema valitud"
"value" : "Teema valimata"
}
}
}
Expand Down
1 change: 1 addition & 0 deletions RIADigiDoc/UI/Component/AccessibilityView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,5 @@ struct AccessibilityView: View {
AccessibilityView()
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
26 changes: 16 additions & 10 deletions RIADigiDoc/UI/Component/AdvancedSettingsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,9 @@ struct AdvancedSettingsView: View {
@AppTheme private var theme
@AppTypography private var typography

@Environment(\.accessibilityVoiceOverEnabled) private var voiceOverEnabled
@Environment(LanguageSettings.self) private var languageSettings

@Environment(\.dismiss) private var dismiss

@Environment(NavigationPathManager.self) private var pathManager

@State private var checkedAskRoleAndAddress = false
Expand Down Expand Up @@ -105,14 +104,7 @@ struct AdvancedSettingsView: View {
}

Button(
action: {
Task {
await viewModel.restoreDefaultSettings()
Toast.show(
languageSettings.localized("Main settings use default settings message")
)
}
},
action: onRestoreDefaultSettingsClick,
label: {
Text(languageSettings.localized("Main settings use default settings button title"))
.font(typography.labelLarge)
Expand All @@ -128,6 +120,20 @@ struct AdvancedSettingsView: View {
}
)
}

private func onRestoreDefaultSettingsClick() {
Task {
await viewModel.restoreDefaultSettings()
let message =
languageSettings.localized("Main settings use default settings message")
if voiceOverEnabled {
var saveButtonAccessibilityAnnouncement = AttributedString(message)
saveButtonAccessibilityAnnouncement.accessibilitySpeechAnnouncementPriority = .high
AccessibilityNotification.Announcement(saveButtonAccessibilityAnnouncement).post()
}
Toast.show(message)
}
}
}

// MARK: - Preview
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,13 @@ struct AdvancedSettingsLinkRow: View {
.scaledToFit()
.frame(width: Dimensions.Icon.IconSizeXXS, height: Dimensions.Icon.IconSizeXXS)
.foregroundStyle(theme.onSurface)
.accessibilityLabel(label.lowercased())
.accessibilityHidden(true)
}
.contentShape(Rectangle())
.padding(.vertical, Dimensions.Padding.SPadding)
}
.buttonStyle(.plain)
.accessibilityLabel(label.lowercased())
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -436,4 +436,5 @@ struct CertificateDetailView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,5 @@ struct ContainerNotificationsView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
1 change: 1 addition & 0 deletions RIADigiDoc/UI/Component/Container/Crypto/EncryptView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -530,4 +530,5 @@ struct EncryptView: View {
EncryptView()
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -177,4 +177,5 @@ struct RecipientDetailView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -361,4 +361,5 @@ struct SignatureDetailView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -183,4 +183,5 @@ struct ActionMethodSelectionView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -170,4 +170,5 @@ struct IdCardView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -216,4 +216,5 @@ struct MobileIdView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -297,4 +297,5 @@ struct NFCView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -171,4 +171,5 @@ struct RoleView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,7 @@ struct SigningRootView: View {

#Preview {
SigningRootView()
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Original file line number Diff line number Diff line change
Expand Up @@ -224,4 +224,5 @@ struct SmartIdView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
1 change: 1 addition & 0 deletions RIADigiDoc/UI/Component/CryptoFileOpeningView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,5 @@ struct CryptoFileOpeningView: View {
)
.environment(Container.shared.languageSettings())
.environment(Container.shared.themeSettings())
.environment(NavigationPathManager())
}
Loading