Skip to content

Commit

Permalink
refactor: Display CreateFolderView where needed
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippeWeidmann committed Apr 20, 2023
1 parent 4f9c993 commit 5fe7553
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
7 changes: 5 additions & 2 deletions Mail/Views/Menu Drawer/Folders/UserFoldersListView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ struct UserFoldersListView: View {
var folders: [NestableFolder]

@State private var isExpanded = true
@State private var isShowingCreateFolderAlert = false

@EnvironmentObject var splitViewManager: SplitViewManager
@EnvironmentObject var globalAlert: GlobalAlert

let isCompact: Bool

Expand All @@ -58,13 +58,16 @@ struct UserFoldersListView: View {

Button {
matomo.track(eventWithCategory: .createFolder, name: "fromMenuDrawer")
globalAlert.state = .createNewFolder(mode: .create)
isShowingCreateFolderAlert.toggle()
} label: {
MailResourcesAsset.addCircle.swiftUIImage
.resizable()
.frame(width: 16, height: 16)
}
.accessibilityLabel(MailResourcesStrings.Localizable.newFolderDialogTitle)
.customAlert(isPresented: $isShowingCreateFolderAlert) {
CreateFolderView(mode: .create)
}
}
.padding(.horizontal, UIConstants.menuDrawerHorizontalPadding)
.padding(.vertical, UIConstants.menuDrawerVerticalPadding)
Expand Down
2 changes: 0 additions & 2 deletions Mail/Views/SheetView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@ struct SheetView<Content>: View where Content: View {
}
.customAlert(isPresented: $alert.isShowing) {
switch alert.state {
case let .createNewFolder(mode):
CreateFolderView(mode: mode)
case let .reportPhishing(message):
ReportPhishingView(message: message)
case let .reportDisplayProblem(message):
Expand Down
3 changes: 0 additions & 3 deletions Mail/Views/SplitView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ class GlobalBottomSheet: DisplayedFloatingPanelState<GlobalBottomSheet.State> {

class GlobalAlert: SheetState<GlobalAlert.State> {
enum State {
case createNewFolder(mode: CreateFolderView.Mode)
case reportPhishing(message: Message)
case reportDisplayProblem(message: Message)
}
Expand Down Expand Up @@ -150,8 +149,6 @@ struct SplitView: View {
}
.customAlert(isPresented: $alert.isShowing) {
switch alert.state {
case .createNewFolder(let mode):
CreateFolderView(mode: mode)
case .reportPhishing(let message):
ReportPhishingView(message: message)
case .reportDisplayProblem(let message):
Expand Down
7 changes: 5 additions & 2 deletions Mail/Views/Thread/MoveEmailView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ import SwiftUI
struct MoveEmailView: View {
typealias MoveHandler = (Folder) -> Void

@EnvironmentObject private var alert: GlobalAlert
@EnvironmentObject private var mailboxManager: MailboxManager

// swiftlint:disable empty_count
@ObservedResults(Folder.self, where: { $0.role != .draft && $0.parents.count == 0 && $0.toolType == nil }) var folders
@State private var isShowingCreateFolderAlert = false

@LazyInjectService private var matomo: MatomoUtils

Expand All @@ -54,14 +54,17 @@ struct MoveEmailView: View {
ToolbarItem(placement: .navigationBarTrailing) {
Button {
matomo.track(eventWithCategory: .createFolder, name: "fromMove")
alert.state = .createNewFolder(mode: .move(moveHandler: moveHandler))
isShowingCreateFolderAlert.toggle()
} label: {
MailResourcesAsset.folderAdd.swiftUIImage
}
}
}
.environment(\.folderCellType, .indicator)
.matomoView(view: ["MoveEmailView"])
.customAlert(isPresented: $isShowingCreateFolderAlert) {
CreateFolderView(mode: .move(moveHandler: moveHandler))
}
}

private func listOfFolders(nestableFolders: [NestableFolder]) -> some View {
Expand Down

0 comments on commit 5fe7553

Please sign in to comment.