Merge pull request #2241 from alexcfaber/feature/fix-add-folder

OPT: Cleanup Add Folder view on Mac, change SceneNavigationView to su…
This commit is contained in:
Maurice Parker 2020-07-09 14:11:49 -05:00 committed by GitHub
commit 94f956b41f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 12 deletions

View File

@ -71,22 +71,28 @@ struct AddFolderView: View {
Form {
HStack {
Spacer()
Image("FaviconTemplateImage")
Image(rsImage: AppAssets.faviconTemplateImage)
.resizable()
.renderingMode(.template)
.frame(width: 30, height: 30)
.foregroundColor(.accentColor).font(.title)
Text("Add a Folder")
.font(.title)
Spacer()
}
TextField("Name", text: $viewModel.folderName)
.textFieldStyle(RoundedBorderTextFieldStyle())
.help("The name of the folder you want to create")
accountPicker
.help("Pick the account you want to create a folder in.")
LazyVGrid(columns: [GridItem(.fixed(75), spacing: 10, alignment: .trailing),GridItem(.fixed(400), spacing: 0, alignment: .leading) ], alignment: .leading, spacing: 10, pinnedViews: [], content:{
Text("Name:").bold()
TextField("Name", text: $viewModel.folderName)
.textFieldStyle(RoundedBorderTextFieldStyle())
.help("The name of the folder you want to create")
Text("Account:").bold()
accountPicker
.help("Pick the account you want to create a folder in.")
})
buttonStack
}
.frame(maxWidth: 485)
.padding(12)
}
#endif

View File

@ -11,7 +11,8 @@ import SwiftUI
struct SceneNavigationView: View {
@StateObject private var sceneModel = SceneModel()
@State private var showSheet = false
@State private var showSheet: Bool = false
@State private var sheetToShow: ToolbarSheets = .none
#if os(iOS)
@Environment(\.horizontalSizeClass) private var horizontalSizeClass
@ -49,18 +50,27 @@ struct SceneNavigationView: View {
.onAppear {
sceneModel.startup()
}
.sheet(isPresented: $showSheet, onDismiss: { showSheet = false }) {
AddWebFeedView()
.sheet(isPresented: $showSheet, onDismiss: { sheetToShow = .none }) {
if sheetToShow == .web {
AddWebFeedView()
}
if sheetToShow == .folder {
AddFolderView()
}
}
.onChange(of: sheetToShow) { value in
value != .none ? (showSheet = true) : (showSheet = false)
}
.toolbar {
#if os(macOS)
ToolbarItem() {
Menu {
Button("Add Web Feed", action: { showSheet = true })
Button("Add Web Feed", action: { sheetToShow = .web })
Button("Add Reddit Feed", action: { })
Button("Add Twitter Feed", action: { })
Button("Add Folder", action: { })
Button("Add Folder", action: { sheetToShow = .folder})
} label : {
AppAssets.addMenuImage
}