Skip to content

Commit

Permalink
Use generated UIColors everywhere. (#1405)
Browse files Browse the repository at this point in the history
- Fix destructive buttons in the menu.
  • Loading branch information
pixlwave authored Jul 26, 2023
1 parent ed68ed1 commit f2ffded
Show file tree
Hide file tree
Showing 10 changed files with 37 additions and 17 deletions.
2 changes: 1 addition & 1 deletion DesignKit/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ let package = Package(
.library(name: "DesignKit", targets: ["DesignKit"])
],
dependencies: [
.package(url: "https://github.com/vector-im/compound-ios.git", revision: "d9e119fbef20857eb790dd4aafbe16ff46011eca"),
.package(url: "https://github.com/vector-im/compound-ios.git", revision: "1f3eb60c4f87249d95addf84ce1aef22c2968763"),
.package(url: "https://github.com/vector-im/element-design-tokens.git", exact: "0.0.3"),
.package(url: "https://github.com/siteline/SwiftUI-Introspect.git", from: "0.9.0")
],
Expand Down
4 changes: 2 additions & 2 deletions DesignKit/Sources/TextFields/ElementTextFieldStyle.swift
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public struct ElementTextFieldStyle: TextFieldStyle {
}

/// The color of the placeholder text inside the text field.
private var placeholderColor: Color {
private var placeholderColor: UIColor {
.compound.textPlaceholder
}

Expand Down Expand Up @@ -134,7 +134,7 @@ public struct ElementTextFieldStyle: TextFieldStyle {
.introspect(.textField, on: .iOS(.v16)) { textField in
textField.clearButtonMode = .whileEditing
textField.attributedPlaceholder = NSAttributedString(string: textField.placeholder ?? "",
attributes: [NSAttributedString.Key.foregroundColor: UIColor(placeholderColor)])
attributes: [NSAttributedString.Key.foregroundColor: placeholderColor])
textField.accessibilityIdentifier = accessibilityIdentifier
}

Expand Down
4 changes: 2 additions & 2 deletions ElementX.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3664,7 +3664,7 @@
path = Timeline;
sourceTree = "<group>";
};
"TEMP_43147A32-A06C-4EEF-8C45-FDEA43A25C1E" /* element-x-ios */ = {
"TEMP_8B4A8977-AAD5-44D7-8CB7-F1BC31A64C84" /* element-x-ios */ = {
isa = PBXGroup;
children = (
41553551C55AD59885840F0E /* secrets.xcconfig */,
Expand Down Expand Up @@ -5399,7 +5399,7 @@
repositoryURL = "https://github.com/vector-im/compound-ios";
requirement = {
kind = revision;
revision = d9e119fbef20857eb790dd4aafbe16ff46011eca;
revision = 1f3eb60c4f87249d95addf84ce1aef22c2968763;
};
};
9A472EE0218FE7DCF5283429 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */ = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/vector-im/compound-design-tokens.git",
"state" : {
"revision" : "cc950d575f8536ff5bebbd02e28c0b8ab541aa29"
"revision" : "aa55111d94486acbfd3344cf4d08b64723bd6703"
}
},
{
"identity" : "compound-ios",
"kind" : "remoteSourceControl",
"location" : "https://github.com/vector-im/compound-ios.git",
"state" : {
"revision" : "d9e119fbef20857eb790dd4aafbe16ff46011eca"
"revision" : "1f3eb60c4f87249d95addf84ce1aef22c2968763"
}
},
{
Expand Down
4 changes: 1 addition & 3 deletions ElementX/Sources/Application/Application.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,7 @@ struct Application: App {
.statusBarHidden(shouldHideStatusBar)
.introspect(.window, on: .iOS(.v16)) { window in
// Workaround for SwiftUI not consistently applying the tint colour to Alerts/Confirmation Dialogs.
window.tintColor = UIColor(named: "colorGray1400",
in: Bundle(identifier: "CompoundDesignTokens-CompoundDesignTokens-resources"),
compatibleWith: nil)
window.tintColor = .compound.textActionPrimary
}
.task {
appCoordinator.start()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ struct AttributedStringBuilder: AttributedStringBuilderProtocol {
attributedString.enumerateAttribute(.backgroundColor, in: .init(location: 0, length: attributedString.length), options: []) { value, range, _ in
if let value = value as? UIColor,
value == temporaryCodeBlockMarkingColor {
attributedString.addAttribute(.backgroundColor, value: UIColor(.compound._bgCodeBlock) as Any, range: range)
attributedString.addAttribute(.backgroundColor, value: UIColor.compound._bgCodeBlock as Any, range: range)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ private struct UITextViewWrapper: UIViewRepresentable {
textView.isMultiline = $isMultiline
textView.delegate = context.coordinator
textView.elementDelegate = context.coordinator
textView.textColor = UIColor(.compound.textPrimary)
textView.textColor = .compound.textPrimary
textView.isEditable = true
textView.font = font
textView.isSelectable = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,23 @@ struct TimelineItemMacContextMenu: View {
TimelineItemMenuAction.react.label
}
}

ForEach(menuActions.actions) { action in
Button { send(action) } label: { action.label }
Button(role: action.isDestructive ? .destructive : nil) {
send(action)
} label: {
action.label
}
}
}

Section {
ForEach(menuActions.debugActions) { action in
Button { send(action) } label: { action.label }
Button(role: action.isDestructive ? .destructive : nil) {
send(action)
} label: {
action.label
}
}
}
}
Expand Down
16 changes: 14 additions & 2 deletions ElementX/Sources/Screens/RoomScreen/View/TimelineItemMenu.swift
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,17 @@ enum TimelineItemMenuAction: Identifiable, Hashable {
}
}

/// The item's label.
/// Whether or not the action is destructive.
var isDestructive: Bool {
switch self {
case .redact, .report:
return true
default:
return false
}
}

/// The action's label.
var label: some View {
switch self {
case .copy: return Label(L10n.actionCopy, systemImage: "doc.on.doc")
Expand Down Expand Up @@ -232,7 +242,9 @@ public struct TimelineItemMenu: View {

private func viewsForActions(_ actions: [TimelineItemMenuAction]) -> some View {
ForEach(actions, id: \.self) { action in
Button { send(action) } label: {
Button(role: action.isDestructive ? .destructive : nil) {
send(action)
} label: {
action.label
.labelStyle(FixedIconSizeLabelStyle())
.multilineTextAlignment(.leading)
Expand Down
2 changes: 1 addition & 1 deletion project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ packages:
minorVersion: 5.13.0
Compound:
url: https://github.com/vector-im/compound-ios
revision: d9e119fbef20857eb790dd4aafbe16ff46011eca
revision: 1f3eb60c4f87249d95addf84ce1aef22c2968763
# path: ../compound-ios
Algorithms:
url: https://github.com/apple/swift-algorithms
Expand Down

0 comments on commit f2ffded

Please sign in to comment.