diff --git a/Mail/Views/Bottom sheets/RestoreEmailsView.swift b/Mail/Views/Bottom sheets/RestoreEmailsView.swift index ed298e132..660c30fa6 100644 --- a/Mail/Views/Bottom sheets/RestoreEmailsView.swift +++ b/Mail/Views/Bottom sheets/RestoreEmailsView.swift @@ -38,49 +38,40 @@ struct RestoreEmailsView: View { var body: some View { VStack(alignment: .leading, spacing: 0) { - if !isCompactWindow { - HeaderCloseButtonView(title: MailResourcesStrings.Localizable.restoreEmailsTitle) { - dismiss() + Text(MailResourcesStrings.Localizable.restoreEmailsTitle) + .textStyle(.bodyMedium) + .padding(.bottom, value: .regular) + + Text(MailResourcesStrings.Localizable.restoreEmailsText) + .textStyle(.bodySecondary) + .padding(.bottom, value: .small) + + LargePicker(title: MailResourcesStrings.Localizable.restoreEmailsBackupDate, + noSelectionText: pickerNoSelectionText, + selection: $selectedDate, + items: availableDates.map(mapDates)) + .padding(.bottom, value: .medium) + .onChange(of: selectedDate) { _ in + matomo.track(eventWithCategory: .restoreEmailsBottomSheet, action: .input, name: "selectDate") } - } else { - Text(MailResourcesStrings.Localizable.restoreEmailsTitle) - .textStyle(.bodyMedium) - .padding(.bottom, 16) - .padding(.horizontal, UIPadding.bottomSheetHorizontal) - } - VStack(alignment: .leading, spacing: 0) { - Text(MailResourcesStrings.Localizable.restoreEmailsText) - .textStyle(.bodySecondary) - .padding(.bottom, 10) - - LargePicker(title: MailResourcesStrings.Localizable.restoreEmailsBackupDate, - noSelectionText: pickerNoSelectionText, - selection: $selectedDate, - items: availableDates.map(mapDates)) - .padding(.bottom, 24) - .onChange(of: selectedDate) { _ in - matomo.track(eventWithCategory: .restoreEmailsBottomSheet, action: .input, name: "selectDate") - } - - ModalButtonsView(primaryButtonTitle: MailResourcesStrings.Localizable.buttonConfirmRestoreEmails, - secondaryButtonTitle: nil, - primaryButtonEnabled: !availableDates.isEmpty, - primaryButtonAction: restoreEmails) - } - .padding(.horizontal, isCompactWindow ? UIPadding.bottomSheetHorizontal : 0) - .task { - await tryOrDisplayError { - let backupsList = try await mailboxManager.apiFetcher.listBackups(mailbox: mailboxManager.mailbox).backups - withAnimation { - availableDates = backupsList - selectedDate = backupsList.last ?? "" - pickerNoSelectionText = MailResourcesStrings.Localizable.pickerNoSelection - } + ModalButtonsView(primaryButtonTitle: MailResourcesStrings.Localizable.buttonConfirmRestoreEmails, + primaryButtonEnabled: !availableDates.isEmpty, + primaryButtonAction: restoreEmails, + secondaryButtonAction: dismiss.callAsFunction) + } + .padding(.horizontal, isCompactWindow ? UIPadding.bottomSheetHorizontal : 0) + .task { + await tryOrDisplayError { + let backupsList = try await mailboxManager.apiFetcher.listBackups(mailbox: mailboxManager.mailbox).backups + withAnimation { + availableDates = backupsList + selectedDate = backupsList.last ?? "" + pickerNoSelectionText = MailResourcesStrings.Localizable.pickerNoSelection } } - .matomoView(view: [MatomoUtils.View.bottomSheet.displayName, "RestoreEmailsView"]) } + .matomoView(view: [MatomoUtils.View.bottomSheet.displayName, "RestoreEmailsView"]) } private func restoreEmails() async {