mirror of
https://github.com/seemoo-lab/openhaystack.git
synced 2026-08-19 19:46:24 +00:00
Optimizing for light mode. Selected accessory icons are tinted in the accent color
This commit is contained in:
committed by
Milan Stute
parent
25dd8ac2d3
commit
c3a4610b87
@@ -14,6 +14,7 @@ struct AccessoryListEntry: View {
|
||||
@Binding var accessoryColor: Color
|
||||
@Binding var accessoryName: String
|
||||
@Binding var alertType: OpenHaystackMainView.AlertType?
|
||||
var isSelected: Bool
|
||||
var delete: (Accessory) -> Void
|
||||
var deployAccessoryToMicrobit: (Accessory) -> Void
|
||||
var zoomOn: (Accessory) -> Void
|
||||
@@ -37,7 +38,7 @@ struct AccessoryListEntry: View {
|
||||
var body: some View {
|
||||
|
||||
HStack {
|
||||
IconSelectionView(selectedImageName: $accessoryIcon, selectedColor: $accessoryColor)
|
||||
IconSelectionView(selectedImageName: $accessoryIcon, selectedColor: $accessoryColor, isSelected: self.isSelected)
|
||||
|
||||
VStack(alignment: .leading) {
|
||||
if self.editingName {
|
||||
@@ -97,16 +98,11 @@ struct AccessoryListEntry: View {
|
||||
}
|
||||
|
||||
struct AccessoryListEntry_Previews: PreviewProvider {
|
||||
@StateObject static var accessory = PreviewData.accessories.first!
|
||||
@State static var alertType: OpenHaystackMainView.AlertType?
|
||||
|
||||
static var previews: some View {
|
||||
PreviewWrapper()
|
||||
.frame(width: 300)
|
||||
}
|
||||
|
||||
struct PreviewWrapper: View {
|
||||
@StateObject var accessory = PreviewData.accessories.first!
|
||||
@State var alertType: OpenHaystackMainView.AlertType?
|
||||
|
||||
var body: some View {
|
||||
Group {
|
||||
AccessoryListEntry(
|
||||
accessory: accessory,
|
||||
accessoryIcon: Binding(
|
||||
@@ -122,10 +118,12 @@ struct AccessoryListEntry: View {
|
||||
set: { accessory.name = $0 }
|
||||
),
|
||||
alertType: self.$alertType,
|
||||
isSelected: false,
|
||||
delete: { _ in () },
|
||||
deployAccessoryToMicrobit: { _ in () },
|
||||
zoomOn: { _ in () })
|
||||
}
|
||||
.frame(width: 300)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ struct IconSelectionView: View {
|
||||
@State var showImagePicker = false
|
||||
@Binding var selectedImageName: String
|
||||
@Binding var selectedColor: Color
|
||||
var isSelected: Bool
|
||||
|
||||
var body: some View {
|
||||
|
||||
@@ -29,6 +30,7 @@ struct IconSelectionView: View {
|
||||
ZStack {
|
||||
Circle().fill(Color("PinColor"))
|
||||
Image(systemName: self.selectedImageName)
|
||||
.foregroundColor(self.isSelected ? Color.accentColor : nil)
|
||||
}
|
||||
)
|
||||
.frame(width: 32, height: 32)
|
||||
@@ -52,7 +54,7 @@ struct ColorSelectionView_Previews: PreviewProvider {
|
||||
|
||||
static var previews: some View {
|
||||
Group {
|
||||
IconSelectionView(selectedImageName: self.$selectedImageName, selectedColor: self.$selectedColor)
|
||||
IconSelectionView(selectedImageName: self.$selectedImageName, selectedColor: self.$selectedColor, isSelected: false)
|
||||
ImageSelectionList(selectedImageName: self.$selectedImageName, selectedColor: self.$selectedColor, dismiss: { () })
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ struct ManageAccessoriesView: View {
|
||||
set: { accessory.name = $0 }
|
||||
),
|
||||
alertType: self.$alertType,
|
||||
isSelected: self.focusedAccessory == accessory,
|
||||
delete: self.delete(accessory:),
|
||||
deployAccessoryToMicrobit: self.deploy(accessory:),
|
||||
zoomOn: { self.focusedAccessory = $0 })
|
||||
|
||||
Reference in New Issue
Block a user