Use more Compound icons (part 2!) (#2082)

* Use Compound icons in ListRow.

* Add CompoundIcon(asset:) convenience initialiser.
This commit is contained in:
Doug
2023-11-15 09:54:43 +00:00
committed by GitHub
parent 052db0d1f0
commit 0cbba1b04c
82 changed files with 287 additions and 165 deletions

View File

@@ -637,6 +637,7 @@
A5D551E5691749066E0E0C44 /* RoomDetailsScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 837B440C4705E4B899BCB899 /* RoomDetailsScreenViewModel.swift */; };
A64B52D9F73F9A6B95AF24FE /* UserDetailsEditScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4CD503F5E0938FE53C7C6E7 /* UserDetailsEditScreenCoordinator.swift */; };
A680F54935A6ADEA4ED6C38F /* TimelineItemStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4C9547BBFEEF30AA11329B /* TimelineItemStatusView.swift */; };
A6B83EB78F025D21B6EBA90C /* CompoundIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044E501B8331B339874D1B96 /* CompoundIcon.swift */; };
A6D4C5EEA85A6A0ABA1559D6 /* RoomDetailsEditScreenModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16D09C79746BDCD9173EB3A7 /* RoomDetailsEditScreenModels.swift */; };
A6DEC1ADEC8FEEC206A0FA37 /* AttributedStringBuilderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72F37B5DA798C9AE436F2C2C /* AttributedStringBuilderProtocol.swift */; };
A722F426FD81FC67706BB1E0 /* CustomLayoutLabelStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42236480CF0431535EBE8387 /* CustomLayoutLabelStyle.swift */; };
@@ -1044,6 +1045,7 @@
0392E3FDE372C9B56FEEED8B /* test_voice_message.m4a */ = {isa = PBXFileReference; path = test_voice_message.m4a; sourceTree = "<group>"; };
03DD998E523D4EC93C7ED703 /* RoomNotificationSettingsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomNotificationSettingsScreenViewModelProtocol.swift; sourceTree = "<group>"; };
03FABD73FD8086EFAB699F42 /* MediaUploadPreviewScreenViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaUploadPreviewScreenViewModelTests.swift; sourceTree = "<group>"; };
044E501B8331B339874D1B96 /* CompoundIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompoundIcon.swift; sourceTree = "<group>"; };
045253F9967A535EE5B16691 /* Label.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = "<group>"; };
04BB8DDE245ED86C489BA983 /* AccessibilityIdentifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessibilityIdentifiers.swift; sourceTree = "<group>"; };
04DF593C3F7AF4B2FBAEB05D /* FileManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileManager.swift; sourceTree = "<group>"; };
@@ -2731,6 +2733,7 @@
B6E89E530A8E92EC44301CA1 /* Bundle.swift */,
A9FAFE1C2149E6AC8156ED2B /* Collection.swift */,
E2B1CC9AA154F4D5435BF60A /* Comparable.swift */,
044E501B8331B339874D1B96 /* CompoundIcon.swift */,
B383DCD3DCB19E00FD478A5F /* ConfirmationDialog.swift */,
2141693488CE5446BB391964 /* Date.swift */,
BFDCAC6CAAD65A2C24EA9C4B /* Dictionary.swift */,
@@ -5395,6 +5398,7 @@
56BAB81A0D03C2EF09B86294 /* ComposerToolbarModels.swift in Sources */,
5995C63B1C61DE1373AA2BCE /* ComposerToolbarViewModel.swift in Sources */,
9BEA56957B3AF954E7321658 /* ComposerToolbarViewModelProtocol.swift in Sources */,
A6B83EB78F025D21B6EBA90C /* CompoundIcon.swift in Sources */,
EA6613B29BA671F39CE1B1D2 /* ConfirmationDialog.swift in Sources */,
AC7AA215D60FBC307F984028 /* Consumable.swift in Sources */,
C3522917C0C367C403429EEC /* CoordinatorProtocol.swift in Sources */,
@@ -6664,7 +6668,7 @@
repositoryURL = "https://github.com/vector-im/compound-ios";
requirement = {
kind = revision;
revision = 849e5beaadfb449b53a28d41cc22cf303cc9045b;
revision = 7ae8b7ef4033861d0439427d5404538243afeffd;
};
};
9A472EE0218FE7DCF5283429 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */ = {

View File

@@ -14,7 +14,7 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/vector-im/compound-ios",
"state" : {
"revision" : "849e5beaadfb449b53a28d41cc22cf303cc9045b"
"revision" : "7ae8b7ef4033861d0439427d5404538243afeffd"
}
},
{

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "block.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C12.9 20 13.7667 19.8542 14.6 19.5625C15.4333 19.2708 16.2 18.85 16.9 18.3L5.7 7.1C5.15 7.8 4.72917 8.56667 4.4375 9.4C4.14583 10.2333 4 11.1 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20ZM18.3 16.9C18.85 16.2 19.2708 15.4333 19.5625 14.6C19.8542 13.7667 20 12.9 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C11.1 4 10.2333 4.14583 9.4 4.4375C8.56667 4.72917 7.8 5.15 7.1 5.7L18.3 16.9Z" fill="#1B1D22"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "devices.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.5 20C3.08333 20 2.72917 19.8542 2.4375 19.5625C2.14583 19.2708 2 18.9167 2 18.5C2 18.0833 2.14583 17.7292 2.4375 17.4375C2.72917 17.1458 3.08333 17 3.5 17H4V6C4 5.45 4.19583 4.97917 4.5875 4.5875C4.97917 4.19583 5.45 4 6 4H20C20.2833 4 20.5208 4.09583 20.7125 4.2875C20.9042 4.47917 21 4.71667 21 5C21 5.28333 20.9042 5.52083 20.7125 5.7125C20.5208 5.90417 20.2833 6 20 6H6V17H10.5C10.9167 17 11.2708 17.1458 11.5625 17.4375C11.8542 17.7292 12 18.0833 12 18.5C12 18.9167 11.8542 19.2708 11.5625 19.5625C11.2708 19.8542 10.9167 20 10.5 20H3.5ZM15 20C14.7167 20 14.4792 19.9042 14.2875 19.7125C14.0958 19.5208 14 19.2833 14 19V9C14 8.71667 14.0958 8.47917 14.2875 8.2875C14.4792 8.09583 14.7167 8 15 8H21C21.2833 8 21.5208 8.09583 21.7125 8.2875C21.9042 8.47917 22 8.71667 22 9V19C22 19.2833 21.9042 19.5208 21.7125 19.7125C21.5208 19.9042 21.2833 20 21 20H15ZM16 17H20V10H16V17Z" fill="#1B1D22"/>
</svg>

After

Width:  |  Height:  |  Size: 1011 B

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "lock.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 22C5.45 22 4.97917 21.8042 4.5875 21.4125C4.19583 21.0208 4 20.55 4 20V10C4 9.45 4.19583 8.97917 4.5875 8.5875C4.97917 8.19583 5.45 8 6 8H7V6C7 4.61667 7.4875 3.4375 8.4625 2.4625C9.4375 1.4875 10.6167 1 12 1C13.3833 1 14.5625 1.4875 15.5375 2.4625C16.5125 3.4375 17 4.61667 17 6V8H18C18.55 8 19.0208 8.19583 19.4125 8.5875C19.8042 8.97917 20 9.45 20 10V20C20 20.55 19.8042 21.0208 19.4125 21.4125C19.0208 21.8042 18.55 22 18 22H6ZM6 20H18V10H6V20ZM9 8H15V6C15 5.16667 14.7083 4.45833 14.125 3.875C13.5417 3.29167 12.8333 3 12 3C11.1667 3 10.4583 3.29167 9.875 3.875C9.29167 4.45833 9 5.16667 9 6V8Z" fill="#1B1D22"/>
</svg>

After

Width:  |  Height:  |  Size: 733 B

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "user-add.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}

View File

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 12C8.9 12 7.95833 11.6083 7.175 10.825C6.39167 10.0417 6 9.1 6 8C6 6.9 6.39167 5.95833 7.175 5.175C7.95833 4.39167 8.9 4 10 4C11.1 4 12.0417 4.39167 12.825 5.175C13.6083 5.95833 14 6.9 14 8C14 9.1 13.6083 10.0417 12.825 10.825C12.0417 11.6083 11.1 12 10 12ZM2 18V17.2C2 16.6333 2.14583 16.1125 2.4375 15.6375C2.72917 15.1625 3.11667 14.8 3.6 14.55C4.63333 14.0333 5.68333 13.6458 6.75 13.3875C7.81667 13.1292 8.9 13 10 13C11.1 13 12.1833 13.1292 13.25 13.3875C14.3167 13.6458 15.3667 14.0333 16.4 14.55C16.8833 14.8 17.2708 15.1625 17.5625 15.6375C17.8542 16.1125 18 16.6333 18 17.2V18C18 18.55 17.8042 19.0208 17.4125 19.4125C17.0208 19.8042 16.55 20 16 20H4C3.45 20 2.97917 19.8042 2.5875 19.4125C2.19583 19.0208 2 18.55 2 18ZM4 18H16V17.2C16 17.0167 15.9542 16.85 15.8625 16.7C15.7708 16.55 15.65 16.4333 15.5 16.35C14.6 15.9 13.6917 15.5625 12.775 15.3375C11.8583 15.1125 10.9333 15 10 15C9.06667 15 8.14167 15.1125 7.225 15.3375C6.30833 15.5625 5.4 15.9 4.5 16.35C4.35 16.4333 4.22917 16.55 4.1375 16.7C4.04583 16.85 4 17.0167 4 17.2V18ZM10 10C10.55 10 11.0208 9.80417 11.4125 9.4125C11.8042 9.02083 12 8.55 12 8C12 7.45 11.8042 6.97917 11.4125 6.5875C11.0208 6.19583 10.55 6 10 6C9.45 6 8.97917 6.19583 8.5875 6.5875C8.19583 6.97917 8 7.45 8 8C8 8.55 8.19583 9.02083 8.5875 9.4125C8.97917 9.80417 9.45 10 10 10Z" fill="#1B1D22"/>
<path d="M17 11H19V13C19 13.2833 19.0958 13.5208 19.2875 13.7125C19.4792 13.9042 19.7167 14 20 14C20.2833 14 20.5208 13.9042 20.7125 13.7125C20.9042 13.5208 21 13.2833 21 13V11H23C23.2833 11 23.5208 10.9042 23.7125 10.7125C23.9042 10.5208 24 10.2833 24 10C24 9.71667 23.9042 9.47917 23.7125 9.2875C23.5208 9.09583 23.2833 9 23 9H21V7C21 6.71667 20.9042 6.47917 20.7125 6.2875C20.5208 6.09583 20.2833 6 20 6C19.7167 6 19.4792 6.09583 19.2875 6.2875C19.0958 6.47917 19 6.71667 19 7V9H17C16.7167 9 16.4792 9.09583 16.2875 9.2875C16.0958 9.47917 16 9.71667 16 10C16 10.2833 16.0958 10.5208 16.2875 10.7125C16.4792 10.9042 16.7167 11 17 11Z" fill="#1B1D22"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "user.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 12C10.9 12 9.95833 11.6083 9.175 10.825C8.39167 10.0417 8 9.1 8 8C8 6.9 8.39167 5.95833 9.175 5.175C9.95833 4.39167 10.9 4 12 4C13.1 4 14.0417 4.39167 14.825 5.175C15.6083 5.95833 16 6.9 16 8C16 9.1 15.6083 10.0417 14.825 10.825C14.0417 11.6083 13.1 12 12 12ZM4 18V17.2C4 16.6333 4.14583 16.1125 4.4375 15.6375C4.72917 15.1625 5.11667 14.8 5.6 14.55C6.63333 14.0333 7.68333 13.6458 8.75 13.3875C9.81667 13.1292 10.9 13 12 13C13.1 13 14.1833 13.1292 15.25 13.3875C16.3167 13.6458 17.3667 14.0333 18.4 14.55C18.8833 14.8 19.2708 15.1625 19.5625 15.6375C19.8542 16.1125 20 16.6333 20 17.2V18C20 18.55 19.8042 19.0208 19.4125 19.4125C19.0208 19.8042 18.55 20 18 20H6C5.45 20 4.97917 19.8042 4.5875 19.4125C4.19583 19.0208 4 18.55 4 18ZM6 18H18V17.2C18 17.0167 17.9542 16.85 17.8625 16.7C17.7708 16.55 17.65 16.4333 17.5 16.35C16.6 15.9 15.6917 15.5625 14.775 15.3375C13.8583 15.1125 12.9333 15 12 15C11.0667 15 10.1417 15.1125 9.225 15.3375C8.30833 15.5625 7.4 15.9 6.5 16.35C6.35 16.4333 6.22917 16.55 6.1375 16.7C6.04583 16.85 6 17.0167 6 17.2V18ZM12 10C12.55 10 13.0208 9.80417 13.4125 9.4125C13.8042 9.02083 14 8.55 14 8C14 7.45 13.8042 6.97917 13.4125 6.5875C13.0208 6.19583 12.55 6 12 6C11.45 6 10.9792 6.19583 10.5875 6.5875C10.1958 6.97917 10 7.45 10 8C10 8.55 10.1958 9.02083 10.5875 9.4125C10.9792 9.80417 11.45 10 12 10Z" fill="#1B1D22"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -314,8 +314,8 @@
"screen_bug_report_contact_me" = "You may contact me if you have any follow up questions.";
"screen_bug_report_contact_me_title" = "Contact me";
"screen_bug_report_edit_screenshot" = "Edit screenshot";
"screen_bug_report_editor_description" = "Please describe the bug. What did you do? What did you expect to happen? What actually happened. Please go into as much detail as you can.";
"screen_bug_report_editor_placeholder" = "Describe the bug…";
"screen_bug_report_editor_description" = "Please describe the problem. What did you do? What did you expect to happen? What actually happened. Please go into as much detail as you can.";
"screen_bug_report_editor_placeholder" = "Describe the problem…";
"screen_bug_report_editor_supporting" = "If possible, please write the description in English.";
"screen_bug_report_include_crash_logs" = "Send crash logs";
"screen_bug_report_include_logs" = "Allow logs";

View File

@@ -33,6 +33,7 @@ internal enum Asset {
internal enum Images {
internal static let appLogo = ImageAsset(name: "images/app-logo")
internal static let serverSelectionIcon = ImageAsset(name: "images/server-selection-icon")
internal static let block = ImageAsset(name: "images/block")
internal static let circle = ImageAsset(name: "images/circle")
internal static let closeCircle = ImageAsset(name: "images/close-circle")
internal static let addLocation = ImageAsset(name: "images/add-location")
@@ -57,6 +58,7 @@ internal enum Asset {
internal static let textFormat = ImageAsset(name: "images/text-format")
internal static let underline = ImageAsset(name: "images/underline")
internal static let unindent = ImageAsset(name: "images/unindent")
internal static let devices = ImageAsset(name: "images/devices")
internal static let document = ImageAsset(name: "images/document")
internal static let decryptionError = ImageAsset(name: "images/decryption-error")
internal static let endedPoll = ImageAsset(name: "images/ended-poll")
@@ -67,6 +69,7 @@ internal enum Asset {
internal static let locationPin = ImageAsset(name: "images/location-pin")
internal static let locationPointerFull = ImageAsset(name: "images/location-pointer-full")
internal static let locationPointer = ImageAsset(name: "images/location-pointer")
internal static let lock = ImageAsset(name: "images/lock")
internal static let mediaPause = ImageAsset(name: "images/media-pause")
internal static let mediaPlay = ImageAsset(name: "images/media-play")
internal static let secureBackupIcon = ImageAsset(name: "images/secure-backup-icon")
@@ -82,6 +85,8 @@ internal enum Asset {
internal static let timelineEndedPoll = ImageAsset(name: "images/timeline-ended-poll")
internal static let timelinePollAttachment = ImageAsset(name: "images/timeline-poll-attachment")
internal static let timelinePoll = ImageAsset(name: "images/timeline-poll")
internal static let userAdd = ImageAsset(name: "images/user-add")
internal static let user = ImageAsset(name: "images/user")
internal static let waitingGradient = ImageAsset(name: "images/waiting-gradient")
}
}

View File

@@ -768,9 +768,9 @@ public enum L10n {
public static var screenBugReportContactMeTitle: String { return L10n.tr("Localizable", "screen_bug_report_contact_me_title") }
/// Edit screenshot
public static var screenBugReportEditScreenshot: String { return L10n.tr("Localizable", "screen_bug_report_edit_screenshot") }
/// Please describe the bug. What did you do? What did you expect to happen? What actually happened. Please go into as much detail as you can.
/// Please describe the problem. What did you do? What did you expect to happen? What actually happened. Please go into as much detail as you can.
public static var screenBugReportEditorDescription: String { return L10n.tr("Localizable", "screen_bug_report_editor_description") }
/// Describe the bug
/// Describe the problem
public static var screenBugReportEditorPlaceholder: String { return L10n.tr("Localizable", "screen_bug_report_editor_placeholder") }
/// If possible, please write the description in English.
public static var screenBugReportEditorSupporting: String { return L10n.tr("Localizable", "screen_bug_report_editor_supporting") }

View File

@@ -0,0 +1,28 @@
//
// Copyright 2023 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Compound
import SwiftUI
extension CompoundIcon {
init(asset: ImageAsset) {
self.init(customImage: asset.swiftUIImage)
}
init(asset: ImageAsset, size: CompoundIcon.Size, relativeTo font: Font) {
self.init(customImage: asset.swiftUIImage, size: size, relativeTo: font)
}
}

View File

@@ -92,7 +92,7 @@ struct BugReportScreen: View {
PhotosPicker(selection: $selectedScreenshot,
matching: .screenshots,
photoLibrary: .shared()) {
ListLabel.default(title: photosPickerTitle, systemIcon: .camera)
ListLabel.plain(title: photosPickerTitle)
}
})
.accessibilityIdentifier(A11yIdentifiers.bugReportScreen.attachScreenshot)

View File

@@ -45,7 +45,7 @@ struct VoiceMessageRecordingButton: View {
.foregroundColor(.compound.iconSecondary)
.scaledPadding(10, relativeTo: .title)
case .recording:
CompoundIcon(customImage: Asset.Images.stopRecording.swiftUIImage, size: .medium, relativeTo: .title)
CompoundIcon(asset: Asset.Images.stopRecording, size: .medium, relativeTo: .title)
.foregroundColor(.compound.iconOnSolidPrimary)
.scaledPadding(6, relativeTo: .title)
.background(

View File

@@ -32,7 +32,7 @@ struct HomeScreenUserMenuButton: View {
Text(L10n.commonSettings)
} icon: {
if context.viewState.showSettingsMenuOptionBadge {
CompoundIcon(customImage: Asset.Images.settingsIconWithBadge.swiftUIImage)
CompoundIcon(asset: Asset.Images.settingsIconWithBadge)
} else {
CompoundIcon(\.settings)
}

View File

@@ -122,7 +122,7 @@ struct RoomDetailsEditScreen: View {
}
private var avatarOverlayIcon: some View {
CompoundIcon(customImage: Asset.Images.editing.swiftUIImage, size: .xSmall, relativeTo: .compound.bodyLG)
CompoundIcon(asset: Asset.Images.editing, size: .xSmall, relativeTo: .compound.bodyLG)
.foregroundColor(.white)
.padding(3)
.background {

View File

@@ -14,9 +14,8 @@
// limitations under the License.
//
import Foundation
import Compound
import SwiftUI
import UIKit
// MARK: - Coordinator
@@ -85,8 +84,8 @@ struct RoomDetailsScreenViewState: BindableState {
areNotificationsMuted ? L10n.commonUnmute : L10n.commonMute
}
var notificationShortcutButtonImage: Image {
areNotificationsMuted ? Image(systemName: "bell.slash.fill") : Image(systemName: "bell")
var notificationShortcutButtonIcon: KeyPath<CompoundIcons, Image> {
areNotificationsMuted ? \.notificationsOff : \.notifications
}
}

View File

@@ -110,7 +110,7 @@ struct RoomDetailsScreen: View {
toggleMuteButton
case .share(let permalink):
ShareLink(item: permalink) {
Image(systemName: "square.and.arrow.up")
CompoundIcon(asset: Asset.Images.shareIos)
}
.buttonStyle(FormActionButtonStyle(title: L10n.actionShare))
}
@@ -141,7 +141,8 @@ struct RoomDetailsScreen: View {
private var aboutSection: some View {
Section {
ListRow(label: .default(title: L10n.commonPeople, systemIcon: .person),
ListRow(label: .default(title: L10n.commonPeople,
icon: CompoundIcon(asset: Asset.Images.user)),
details: .title(String(context.viewState.joinedMembersCount)),
kind: .navigationLink {
context.send(viewAction: .processTapPeople)
@@ -150,7 +151,7 @@ struct RoomDetailsScreen: View {
if context.viewState.canInviteUsers {
ListRow(label: .default(title: L10n.screenRoomDetailsInvitePeopleTitle,
systemIcon: .personBadgePlus),
icon: CompoundIcon(asset: Asset.Images.userAdd)),
kind: .navigationLink {
context.send(viewAction: .processTapInvite)
})
@@ -159,11 +160,10 @@ struct RoomDetailsScreen: View {
}
}
@ViewBuilder
private var notificationSection: some View {
Section {
ListRow(label: .default(title: L10n.screenRoomDetailsNotificationTitle,
systemIcon: .bell),
icon: \.notifications),
details: context.viewState.notificationSettingsState.isLoading ? .isWaiting(true)
: context.viewState.notificationSettingsState.isError ? .systemIcon(.exclamationmarkCircle)
: .title(context.viewState.notificationSettingsState.label),
@@ -176,7 +176,6 @@ struct RoomDetailsScreen: View {
.disabled(context.viewState.notificationSettingsState.isLoading)
}
@ViewBuilder
private var toggleMuteButton: some View {
Button {
context.send(viewAction: .processToogleMuteNotifications)
@@ -184,20 +183,20 @@ struct RoomDetailsScreen: View {
if context.viewState.isProcessingMuteToggleAction {
ProgressView()
} else {
context.viewState.notificationShortcutButtonImage
CompoundIcon(context.viewState.notificationShortcutButtonIcon)
}
}
.buttonStyle(FormActionButtonStyle(title: context.viewState.notificationShortcutButtonTitle))
.disabled(context.viewState.isProcessingMuteToggleAction)
}
@ViewBuilder
private var securitySection: some View {
if context.viewState.isEncrypted {
Section {
ListRow(label: .default(title: L10n.screenRoomDetailsEncryptionEnabledTitle,
description: L10n.screenRoomDetailsEncryptionEnabledSubtitle,
systemIcon: .lockShield,
icon: CompoundIcon(asset: Asset.Images.lock),
iconAlignment: .top),
kind: .label)
} header: {
@@ -209,9 +208,9 @@ struct RoomDetailsScreen: View {
private var leaveRoomSection: some View {
Section {
ListRow(label: .default(title: L10n.actionLeaveRoom,
systemIcon: .doorRightHandOpen,
role: .destructive),
ListRow(label: .action(title: L10n.actionLeaveRoom,
icon: \.leave,
role: .destructive),
kind: .button { context.send(viewAction: .processTapLeave) })
}
}
@@ -219,7 +218,7 @@ struct RoomDetailsScreen: View {
private func ignoreUserSection(user: RoomMemberDetails) -> some View {
Section {
ListRow(label: .default(title: user.isIgnored ? L10n.screenDmDetailsUnblockUser : L10n.screenDmDetailsBlockUser,
systemIcon: .slashCircle,
icon: CompoundIcon(asset: Asset.Images.block),
role: user.isIgnored ? nil : .destructive),
details: .isWaiting(context.viewState.isProcessingIgnoreRequest),
kind: .button {

View File

@@ -21,7 +21,7 @@ struct SwipeToReplyView: View {
let timelineItem: RoomTimelineItemProtocol
var body: some View {
CompoundIcon(customImage: Asset.Images.reply.swiftUIImage)
CompoundIcon(asset: Asset.Images.reply)
.foregroundColor(.compound.iconPrimary)
.accessibilityHidden(true)
}

View File

@@ -28,7 +28,7 @@ struct TimelineDeliveryStatusView: View {
private var icon: CompoundIcon {
switch deliveryStatus {
case .sending:
return CompoundIcon(customImage: Asset.Images.circle.swiftUIImage, size: .xSmall, relativeTo: .compound.bodyMD)
return CompoundIcon(asset: Asset.Images.circle, size: .xSmall, relativeTo: .compound.bodyMD)
case .sent:
return CompoundIcon(\.checkCircle, size: .xSmall, relativeTo: .compound.bodyMD)
}

View File

@@ -31,8 +31,7 @@ struct AnalyticsSettingsScreen: View {
var analyticsSection: some View {
Section {
ListRow(label: .default(title: L10n.screenAnalyticsSettingsShareData,
systemIcon: .chartBar),
ListRow(label: .plain(title: L10n.screenAnalyticsSettingsShareData),
kind: .toggle($context.enableAnalytics))
.onChange(of: context.enableAnalytics) { _ in
context.send(viewAction: .toggleAnalytics)

View File

@@ -23,15 +23,14 @@ struct AdvancedSettingsScreen: View {
var body: some View {
Form {
Section {
ListRow(label: .default(title: L10n.commonMessageLayout,
systemIcon: .rectangleGrid1x2),
ListRow(label: .plain(title: L10n.commonMessageLayout),
kind: .picker(selection: $context.timelineStyle,
items: TimelineStyle.allCases.map { (title: $0.name, tag: $0) }))
ListRow(label: .default(title: L10n.commonRichTextEditor, icon: Image(asset: Asset.Images.textFormat)),
ListRow(label: .plain(title: L10n.commonRichTextEditor),
kind: .toggle($context.richTextEditorEnabled))
ListRow(label: .default(title: L10n.actionViewSource, systemIcon: .mailAndTextMagnifyingglass),
ListRow(label: .plain(title: L10n.actionViewSource),
kind: .toggle($context.viewSourceEnabled))
}
}

View File

@@ -88,7 +88,7 @@ struct SettingsScreen: View {
Section {
if !context.viewState.isSessionVerified {
ListRow(label: .default(title: L10n.actionCompleteVerification,
systemIcon: .checkmarkShield),
icon: \.checkCircle),
kind: .button { context.send(viewAction: .sessionVerification) })
} else if context.viewState.chatBackupEnabled {
ListRow(label: .default(title: L10n.commonChatBackup,
@@ -104,7 +104,8 @@ struct SettingsScreen: View {
private var mainSection: some View {
Section {
if context.viewState.accountProfileURL != nil {
ListRow(label: .default(title: L10n.actionManageAccount, systemIcon: .person),
ListRow(label: .default(title: L10n.actionManageAccount,
icon: \.userProfile),
kind: .button {
context.send(viewAction: .accountProfile)
})
@@ -112,35 +113,35 @@ struct SettingsScreen: View {
}
ListRow(label: .default(title: L10n.screenNotificationSettingsTitle,
systemIcon: .bell),
icon: \.notifications),
kind: .navigationLink {
context.send(viewAction: .notifications)
})
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.notifications)
ListRow(label: .default(title: L10n.commonAnalytics,
systemIcon: .chartBar),
icon: \.polls),
kind: .navigationLink {
context.send(viewAction: .analytics)
})
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.analytics)
ListRow(label: .default(title: L10n.commonScreenLock,
systemIcon: .lock),
icon: CompoundIcon(asset: Asset.Images.lock)),
kind: .navigationLink {
context.send(viewAction: .appLock)
})
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.screenLock)
ListRow(label: .default(title: L10n.commonReportAProblem,
systemIcon: .ladybug),
icon: \.chatProblem),
kind: .navigationLink {
context.send(viewAction: .reportBug)
})
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.reportBug)
ListRow(label: .default(title: L10n.commonAbout,
systemIcon: .questionmarkCircle),
icon: \.info),
kind: .navigationLink {
context.send(viewAction: .about)
})
@@ -150,27 +151,18 @@ struct SettingsScreen: View {
private var manageSessionsSection: some View {
Section {
ListRow(label: .default(title: L10n.actionManageDevices, systemIcon: deviceIcon),
ListRow(label: .default(title: L10n.actionManageDevices,
icon: CompoundIcon(asset: Asset.Images.devices)),
kind: .button {
context.send(viewAction: .accountSessionsList)
})
}
}
private var deviceIcon: SFSymbol {
if ProcessInfo.processInfo.isiOSAppOnMac {
return .macbookAndIphone
} else if UIDevice.current.userInterfaceIdiom == .pad {
return .ipad
} else {
return .iphone
}
}
private var advancedOptionsSection: some View {
Section {
ListRow(label: .default(title: L10n.commonAdvancedSettings,
systemIcon: .gearshape2),
icon: \.settings),
kind: .navigationLink {
context.send(viewAction: .advancedSettings)
})
@@ -178,7 +170,7 @@ struct SettingsScreen: View {
if context.viewState.showDeveloperOptions {
ListRow(label: .default(title: L10n.commonDeveloperOptions,
systemIcon: .hammerCircle),
icon: CompoundIcon(asset: Asset.Images.codeBlock)),
kind: .navigationLink {
context.send(viewAction: .developerOptions)
})
@@ -189,8 +181,9 @@ struct SettingsScreen: View {
private var signOutSection: some View {
Section {
ListRow(label: .default(title: L10n.screenSignoutPreferenceItem,
systemIcon: .rectanglePortraitAndArrowRight),
ListRow(label: .action(title: L10n.screenSignoutPreferenceItem,
icon: CompoundIcon(asset: Asset.Images.signOut),
role: .destructive),
kind: .button {
context.send(viewAction: .logout)
})

View File

@@ -89,7 +89,7 @@ struct UserDetailsEditScreen: View {
}
private var avatarOverlayIcon: some View {
CompoundIcon(customImage: Asset.Images.editing.swiftUIImage, size: .xSmall, relativeTo: .compound.bodyLG)
CompoundIcon(asset: Asset.Images.editing, size: .xSmall, relativeTo: .compound.bodyLG)
.foregroundColor(.white)
.padding(4)
.background {

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bced59675a1e38b3a11f01ccad5ffcb5311b88b62ab4e0e67c0be45c9d618bb8
size 78828
oid sha256:b19e5d596dde73a4e677f422bdf6b42edd9cfefe81ac0d7f49760dba63512587
size 77669

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0e998dc5ad773333476549bd07aa33c35c5b85fac14054b010586f229f355b4f
size 126414
oid sha256:a030e3bae9b20079e98682c35a8fb18a2016c57e6fc2541e808408b4eee56346
size 126288

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9613904ca4f73523857a261447563b4d67559671f01dc57d608c86454a3ae40
size 193362
oid sha256:646ab427a87537496aca2498a646c554779aafe402fbf68ee7836edd8737e39f
size 192564

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ffbb02dbe9e489e8b3eef39ee398378dc9437a46270f3343b68f24e3153bcb3
size 200366
oid sha256:a17e180923e77c0a8e156f4c5410833f2c5d449d53e4589d4940d67bf8d27fb7
size 198747

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e5e7c48719e14b3f28dc4963ab38b3213d0578f2d5de76039ea88e0423d3c93c
size 168238
oid sha256:529a0ff29bda2dfa01be74109e2bfa3d69ec6fa9941db0c4fc24d4396cd6e482
size 168109

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9a2f4e712c9119228a204ef66394549921ca96a0ebbfc7a97c66bb9f1e0e1eb
size 106368
oid sha256:8a06eb078dfdcbe48993a9b5808d4dae20dfd80ff3de477dd89f2fdaa59b9432
size 104470

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6f518adb288d2a3647b0bfd198a13c0b52007328e0c46a085a07b03dd3e0600
size 135987
oid sha256:8df43dcc22430a23318354fcdb1bea5b762be6918cf126563e581349730410bd
size 134126

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04951f0bb428d9c78bef7542f12e3085e2bf00df118d6b5b387f268f9924d501
size 139353
oid sha256:18b5d29e4edd363a7fad9717abc4df3ce23c4fd4a1c46a499fca088be0d89c6d
size 137245

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:317c07478022e58e8268fd80e4e2c95ce12febf63051e2b775868c0ae2e66385
size 111893
oid sha256:67212973a21f47cfc4375f8067a75d3c0d1a7ae5cee31ec8e1613f7f7366d476
size 109334

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ba2969e48e045f7ab7d92201cc4eaf5b40f3773c60a6ffeb1f44d51f6a0c88f
size 143534
oid sha256:8ffd0b088771ece3693de6a8e1f2b0c7f516de320959482bc4ac48ac39a6b031
size 141490

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b9249478e9774a710f5f9d24fc60e5a3b587971e1cd580610ccecce79b96f62
size 142526
oid sha256:02ace5afce921d743edfac27da46baf85ab79654587a2ffba594285f63e9e7b9
size 138755

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f24b356237f2019ae8f4f37ffe6e17b3b3c2cccbd1c815a65bc53593a473a6c
size 85859
oid sha256:fb545a895e2fc14d925364987972c0a6d06960e67092cea6136c8309bca872de
size 85896

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b2ab425b5e78387e8c7685a560062ced41ce64082483982fd9343f3bc8092dd
size 167217
oid sha256:41ea4ea40a7130c845aaa750bf0fd5622a3c6f7196a4e750196be07159df161c
size 167036

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:641877828c934248454d8f194a497e7b52eafdbde2d523125d3492cec357136e
size 208966
oid sha256:56e8df51695c554dbc19bc80e2f004a584451927ce0f9c38847c706946ff79c7
size 207411

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8a88d419e02c297f10ac1b0c2f696e89a03ff762047251e70a15ac85234c22a
size 215655
oid sha256:9505d4872ab00c16afdbd91245bd8ed3ba43b928080a0fa9ca467ef64356c689
size 214258

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3ffc8cc9f43cd70a19c812d5cc37933de34a35b7b1705e63f24a59f03df1294b
size 243525
oid sha256:9f5afc62779254c8432eefa058690e00ce1709507a3b2d5b19574b574d2ae53f
size 241787

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e5d3eb7e725323854f9b2b6dc6136fd892b72b7a69971f7649972521a8ceea4b
size 130502
oid sha256:cdb9991c6b000b17b34c34a4ccd20f4f29f43bce7ee4ef6d855b87fbbb07136b
size 128462

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:38136f84c412cf930cf0dff2eb04761e7d26966ce551caf3d8c7132f5c253a4d
size 180587
oid sha256:176386bf2f7c06620ffb33fc1fc05327e91b8d13d0da1c7fb319a37535d6294b
size 176521

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7d7860efaea8775f9ad533b811a3a106d7cb2269da171da4d7ecd02b21ea2ef6
size 182360
oid sha256:2c78c166193c91e6b4eff59f2d023854de342d634c951ec00d6d238028598e4c
size 180269

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d2c84fbba28f0df960ec488becfdefdaca862efe9dabcb34b3128f9444ad2f0d
size 140714
oid sha256:14994a9929d4d1583a9720fea6ac3748505b64b6346c043ff7655b22681f9d78
size 137329

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4e1303ac678a6ff68a55fd48fe2d16b72cfdcd073bc1dd950cd7a950f9c7acc6
size 191705
oid sha256:6b61052c06e410d3b8e7b6c07e3bec6c49a838db6ea1fe5b5d961da0ad2aec9b
size 189138

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb1969e353f2416eee4f53e0fa324836e057df654f607900356d53f784019dad
size 170830
oid sha256:1c6bea2f3174c39d2f48c5022d08a97ab898d6746979f1f1618103e55d1904ac
size 165440

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7bfc98d7d2024f103efe75384acf86d067f3dc970865bde9a79ef89e7623dfc
size 84685
oid sha256:fc2070ef244b7e4da438520ccc53fb838c3d39fb2ae11fbe36fa325cb38b506b
size 83320

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9f1ab523823eae1bf7e339c7ecab26fa09176df26f2304bce796e2ba75e30eb
size 163306
oid sha256:96793f47feb3746e6630dc1fe387574a020a091ff2d8482202300083897cdb62
size 164437

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a8895fdf5762413792e00cf685fc305a51b0cced4e888ca851aedc14482a0290
size 228639
oid sha256:0962939d9e4e25e58de95247810e1e392f1793733104822c7fa10aaa93ea47ce
size 228989

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5c884047dd87c37ae1ab336c90033aba6111272b0a98bac865bc7610a84904b7
size 234583
oid sha256:0dfcaf6c963c8ddf79d3f40906b0e499a0aab4f1efacb96ab21f904688f73b69
size 234890

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90370fdd8e1c6b61cbb883384a2db42c3e03aa33abfce441d33faf1d4df60040
size 201611
oid sha256:3f73d9fcff69d33d95e645fee81328b9981cdb8eca44ae9c178b3df15a24966e
size 202922

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fffe679e0097334491a297d6c7ca9703a1b499aa1508c3fd22f352079b7174d8
size 120985
oid sha256:e68da097090f50930bae6ed64cd63cf9281a86b972fb20a34940dba20220f238
size 119107

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bad10df588a7066d5dbccf481a975ae95b7bf630a0f4e0820ec1733833b69896
size 150673
oid sha256:8ef218608a4ea7cd818ede81ed0d57984d07516b3e3a611f9723540b79739ded
size 148748

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0896353f486905039ce020e868fc4babaf1dc53dbd165f32659a9a7ce7714238
size 155008
oid sha256:d1ce1f34ab7f00101214c65d20f896d08db981e3cf244bd32318feb3e4e028fe
size 152967

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89617f27dfaf1d42d236471f12ad724752f59efd6cfbf60d201902260aa23b5d
size 126973
oid sha256:e4937680de01a3ed30813ebd2131365d938e0763ac728c9e1ec1e346f5845e36
size 124535

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af3f69d7d51da95a7ff58903b62dbf2e6683c965713974fe68096f05f0804865
size 158422
oid sha256:01328951fa8cf4853e19701ceb313d62bc0490a7cc17cc32fffdc3045ec2092c
size 156546

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea384d546786b66a4eb5dabc696fcc604462b44bfb8e36cb8ead96241178df4b
size 152061
oid sha256:0c00886a440f83e27b827f21ba56e1663c09d1de34fe4d221aaba64d8a06b5c7
size 148328

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:134b67cc2665eb48f3a9fde825c81cdf9be0b7d252f54aa6863f6bc3d709502f
size 108305
oid sha256:a5833be268d5efb64febfdceadaeb03e30475172e2dcc9d3aed40adf19d373d5
size 104557

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c58d7a7f01c75c0d943404ccfb84e494924ebf159e9db66a2101b76800b211f
size 231174
oid sha256:9193d085cf66079ca1db4e67cdc2f74c1884102a6957cac4f0f50c5e78166d49
size 236203

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ef0d509ad85ab4461c86fe5687377a3a12045be68e5cc6441e101a0f7a2fec92
size 215240
oid sha256:e22ac126938c1924a1027559a6656e454d0223aea326548fefa210f1b31161e4
size 214293

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8b1f4eba9e53a005cc1adffd93cc15b73a9dfe8408b467127edde2b80e710dd2
size 221063
oid sha256:4a7546c4e537da63b57b5afe1ef527a62ab9de67a636c74857152798f6f8a09c
size 220086

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:57833650b21a0c022d2451f8c2bedd902347af7d5eba58c4a93104addaf71ff1
size 288960
oid sha256:6a5d47938ca196eb361632bf3956797c18f5ad4ddeb277eb915712e778f630a6
size 294756

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd936b28332e1c7e919b5f7d0af0db3dddf39316a6e8f8bbc6d8ccbef41c5f45
size 167181
oid sha256:23f9f3dfd8aee1b20ea0dc8ebeffeb3e6777bb5bcbe1dfeb5b9543f8381dec90
size 165075

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1855fd88b897e115dea4e256efcbe84f6694b1aa87697c77b1a3a531346cf9a2
size 208043
oid sha256:67a9216e1bc2441f636b3d46e407085ba5c49b32c623ca8cc9be36f009469dbf
size 205823

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:66a0ced41b7608a062d4856336d799f3a72e125abe441510a18a5cd1ac084062
size 196212
oid sha256:0abbaba27e38437b0746c8a8a27a29489df4d3b669bbe62024a97f36fa92c71c
size 193869

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f3f3e5bbbe39617d7f43095cacd37a496efa37d5098b9c9250c06b0278d36b89
size 171338
oid sha256:37e559d74a6cb3984389c5976c0264f75f9153c47baac0603d430a666c286c5f
size 166624

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2efee82a06efc18f7bf12ccd7e207c87eacb5fee90b328c4896f772e647ebcc4
size 216354
oid sha256:a323c10922eaa93a47c32ff8221d8c932b71e5e726bce3822eaa74384a9d4bab
size 212658

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cae392557a63d6146d08592718d4c88e781b643c25a25014231585a2db6e1c56
size 183124
oid sha256:3b19b6ac4ff25ef69d1f7d34bfcd6fb98b5b81141e2f48fef18052898b770f2b
size 180672

View File

@@ -481,7 +481,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
_ = await context.$viewState.debounce(for: .milliseconds(100), scheduler: DispatchQueue.main).values.first()
XCTAssertEqual(context.viewState.notificationShortcutButtonTitle, L10n.commonUnmute)
XCTAssertEqual(context.viewState.notificationShortcutButtonImage, Image(systemName: "bell.slash.fill"))
XCTAssertEqual(context.viewState.notificationShortcutButtonIcon, \.notificationsOff)
}
func testNotificationRoomNotMuted() async throws {
@@ -495,7 +495,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
try await deferred.fulfill()
XCTAssertEqual(context.viewState.notificationShortcutButtonTitle, L10n.commonMute)
XCTAssertEqual(context.viewState.notificationShortcutButtonImage, Image(systemName: "bell"))
XCTAssertEqual(context.viewState.notificationShortcutButtonIcon, \.notifications)
}
func testUnmuteTappedFailure() async throws {

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:611a03f4bfe757a2840db576c57c9b2864cdc551d20d317205e61394cb1f9530
size 110573
oid sha256:c4489916e40b76a93cf89fdc677f8ea8e50e9ad42954881621505ddc837a59d9
size 103582

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b585309091ede3935172515db5eaef38cf77f6dd49d5f5bbace57be30b9d73ca
size 95563
oid sha256:85b985d45867e305258e43cf7181d74d5be39258d68f3484731e4c2bdc3ea2da
size 93646

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ae0ec5bf85972c150ba144ed92323706e62fe5409652d48114f96094352d9f0
size 177920
oid sha256:29d00818b332c8c1c33c8540099fe41ffaa45a70c3df28959819f841f005d6c7
size 176727

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d4b1d940f4b6dec8ca5a0c1dc9b1e55588df21fc480c322f7b34e09dbf066a15
size 269470
oid sha256:99253b776ad880042ed56f785b4112ebbe00cc8c6ee12758416a127d19385aeb
size 268418

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:51316c0a9133039fc1c7a3cf685bc65ffa22c9af0245624b0e4a5cdc9d22f4ce
size 172308
oid sha256:bd1d42f3e1b290a8afe9f9bcff020bb2516ac5bee17488e483b58c72e2d68ab8
size 169767

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40b59c0b5ae823c10aa9e471a8f445a806dc62d7f1d2838d9e4da03bac345059
size 175568
oid sha256:bc9f816d6b60e9147b7f64f6a649650e73bf2ddf6ff7d50a4902a6e02d35c41a
size 172982

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ed061b73116d25b12c148d60944581f02ddff9a647f5d53eb61c129200f7b7a
size 106938
oid sha256:485b9d96a003d14cfcc81a607e1cf22277b7a6daabe14cfaf3ab817dd9ff2040
size 105327

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b30e9a51aac90844f4cce2d8dfc0045992e7f09438c9ed2bfaa9332f35b2df46
size 178165
oid sha256:895dd83310e0768ff726fb0b737272370700a87c7e1d12bf0588ed63f700b266
size 175844

View File

@@ -49,7 +49,7 @@ packages:
# path: ../matrix-rust-sdk
Compound:
url: https://github.com/vector-im/compound-ios
revision: 849e5beaadfb449b53a28d41cc22cf303cc9045b
revision: 7ae8b7ef4033861d0439427d5404538243afeffd
# path: ../compound-ios
AnalyticsEvents:
url: https://github.com/matrix-org/matrix-analytics-events