|
@@ -13,7 +13,8 @@ struct ProjectPanelView: View {
|
|
|
|
|
|
|
|
@Bindable var item: Project
|
|
@Bindable var item: Project
|
|
|
|
|
|
|
|
- @State private var showDialogue = false
|
|
|
|
|
|
|
+ @State private var showSettingsDialogue = false
|
|
|
|
|
+ @State private var showFilterDialogue = false
|
|
|
@State private var moveEnabled = false
|
|
@State private var moveEnabled = false
|
|
|
|
|
|
|
|
@State private var taskFilter = ""
|
|
@State private var taskFilter = ""
|
|
@@ -37,37 +38,49 @@ struct ProjectPanelView: View {
|
|
|
.font(.title2)
|
|
.font(.title2)
|
|
|
.help("Re-ordering mode is enabled, text fields will be unresponsive")
|
|
.help("Re-ordering mode is enabled, text fields will be unresponsive")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
if !taskFilter.isEmpty {
|
|
if !taskFilter.isEmpty {
|
|
|
Label("", systemImage: "text.magnifyingglass")
|
|
Label("", systemImage: "text.magnifyingglass")
|
|
|
.foregroundStyle(.blue)
|
|
.foregroundStyle(.blue)
|
|
|
.font(.title2)
|
|
.font(.title2)
|
|
|
.help("Only showing text matching '\(taskFilter)'")
|
|
.help("Only showing text matching '\(taskFilter)'")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
if !statusFilter.all {
|
|
if !statusFilter.all {
|
|
|
Label("", systemImage: "exclamationmark.magnifyingglass")
|
|
Label("", systemImage: "exclamationmark.magnifyingglass")
|
|
|
.foregroundStyle(.blue)
|
|
.foregroundStyle(.blue)
|
|
|
.font(.title2)
|
|
.font(.title2)
|
|
|
.help(statusFilter.description)
|
|
.help(statusFilter.description)
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
Button {
|
|
Button {
|
|
|
- showDialogue = !showDialogue
|
|
|
|
|
|
|
+ showSettingsDialogue = !showSettingsDialogue
|
|
|
} label: {
|
|
} label: {
|
|
|
Label("", systemImage: "ellipsis.circle")
|
|
Label("", systemImage: "ellipsis.circle")
|
|
|
.foregroundStyle(.gray)
|
|
.foregroundStyle(.gray)
|
|
|
.font(.title)
|
|
.font(.title)
|
|
|
}
|
|
}
|
|
|
.buttonStyle(.borderless)
|
|
.buttonStyle(.borderless)
|
|
|
- .popover(isPresented: $showDialogue) {
|
|
|
|
|
|
|
+ .popover(isPresented: $showSettingsDialogue) {
|
|
|
List {
|
|
List {
|
|
|
- Label("Settings", systemImage: "gearshape")
|
|
|
|
|
- .font(.title)
|
|
|
|
|
CategoryPicker(category: $item.category)
|
|
CategoryPicker(category: $item.category)
|
|
|
- Label("Filters", systemImage: "magnifyingglass")
|
|
|
|
|
- .font(.title)
|
|
|
|
|
HStack {
|
|
HStack {
|
|
|
Label("", systemImage: "arrow.up.arrow.down")
|
|
Label("", systemImage: "arrow.up.arrow.down")
|
|
|
Toggle("Move Tasks", isOn: $moveEnabled)
|
|
Toggle("Move Tasks", isOn: $moveEnabled)
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Button {
|
|
|
|
|
+ showFilterDialogue = !showFilterDialogue
|
|
|
|
|
+ } label: {
|
|
|
|
|
+ Label("", systemImage: "magnifyingglass")
|
|
|
|
|
+ .foregroundStyle(.gray)
|
|
|
|
|
+ .font(.title)
|
|
|
|
|
+ }
|
|
|
|
|
+ .buttonStyle(.borderless)
|
|
|
|
|
+ .popover(isPresented: $showFilterDialogue) {
|
|
|
|
|
+ List {
|
|
|
HStack {
|
|
HStack {
|
|
|
Label("", systemImage: "text.magnifyingglass")
|
|
Label("", systemImage: "text.magnifyingglass")
|
|
|
TextField("Filter Tasks", text: $taskFilter)
|
|
TextField("Filter Tasks", text: $taskFilter)
|