Add new development assets and use in mocks/previews. (#3581)

This commit is contained in:
Doug
2024-12-03 17:14:05 +00:00
committed by GitHub
parent c566c64c78
commit 4966083b58
194 changed files with 501 additions and 492 deletions
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b93f7979cdf99dfa5ff92467d0941c49605917a1e92313070c6ad8c121bf1fb
size 206381
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e573ee1599506ed89de9492677c9570da8a815bc38f33048298e98cc27d3622
size 596481
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6afb36f6920fc448de6cdf75568eabf8ff7ed8b725105e4899765490d41a73e
size 717231
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:650ecdfe3c9d19ee92992888faa8cb4b10f63fc968d0bddd4a29f0bd9612938e
size 488037
+24
View File
@@ -32,6 +32,7 @@
02A92F8F4538CECDFB4F2607 /* RoomDirectorySearchScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1562EAF6231151A675BED7A9 /* RoomDirectorySearchScreenCoordinator.swift */; };
02D8DF8EB7537EB4E9019DDB /* EventBasedTimelineItemProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 218AB05B4E3889731959C5F1 /* EventBasedTimelineItemProtocol.swift */; };
0307469D99B5FE6C7043AE39 /* KnockRequestsListScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9E8A8EC299E12490588B07C /* KnockRequestsListScreenCoordinator.swift */; };
03631FC946FF0BBAD37E22BF /* preview_avatar_user.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 87FC42213E86E8182CFD3A49 /* preview_avatar_user.jpg */; };
037006FB6DF1374F94E4058D /* Dictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFDCAC6CAAD65A2C24EA9C4B /* Dictionary.swift */; };
038AB2E86960FD240231D4C2 /* GeneratedPreviewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A2E4BD7C0CAD25EF924A4C /* GeneratedPreviewTests.swift */; };
03BD83E8BDD23AE059802E0D /* UITestsScreenIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CEBE5EA91E8691EDF364EC2 /* UITestsScreenIdentifier.swift */; };
@@ -128,6 +129,7 @@
172E6E9A612ADCF10A62CF13 /* BugReportServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A68BCE6438873D2661D93D0 /* BugReportServiceProtocol.swift */; };
1795EA6A6C4942CAE0459DF0 /* SecureBackupKeyBackupScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B612853BFB68373249777B /* SecureBackupKeyBackupScreenViewModel.swift */; };
17BC15DA08A52587466698C5 /* RoomMessageEventStringBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80E815FF3CC5E5A355E3A25E /* RoomMessageEventStringBuilder.swift */; };
1801F1467ABCEA080419E150 /* preview_avatar_user.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 87FC42213E86E8182CFD3A49 /* preview_avatar_user.jpg */; };
18867F4F1C8991EEC56EA932 /* UTType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 897DF5E9A70CE05A632FC8AF /* UTType.swift */; };
18978C9438206828C1D5AF2A /* test_animated_image.gif in Resources */ = {isa = PBXBuildFile; fileRef = 53FD6D3D38F556CEAA280C58 /* test_animated_image.gif */; };
18E3786918486D4C9726BC84 /* FormButtonStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89FBFC09F9DAFF1E4BA97849 /* FormButtonStyles.swift */; };
@@ -291,6 +293,7 @@
3B277D9538090766DA6C4566 /* StateRoomTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2AF1828A5B76B7C371240FE /* StateRoomTimelineView.swift */; };
3B28408450BCAED911283AA2 /* UserPreference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35FA991289149D31F4286747 /* UserPreference.swift */; };
3B98049F56025726FB646ABD /* SwipeToReplyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B0E0B55E2EE75AF67029924 /* SwipeToReplyView.swift */; };
3C312A3AEDE58BB1C9BBB07C /* preview_avatar_room.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 12FD5280AF55AB7F50F8E47D /* preview_avatar_room.jpg */; };
3C31E1A65EEB61E72E1113B4 /* AudioRecorderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEC57C204D77908E355EF42 /* AudioRecorderProtocol.swift */; };
3C549A0BF39F8A854D45D9FD /* Kingfisher in Frameworks */ = {isa = PBXBuildFile; productRef = 0DD568A494247444A4B56031 /* Kingfisher */; };
3C73442084BF8A6939F0F80B /* AnalyticsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5445FCE0CE15E634FDC1A2E2 /* AnalyticsService.swift */; };
@@ -444,11 +447,13 @@
5D56CE09743C6B90C21B04C2 /* RoomMembersListScreenViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E0929CEFA356090BE5FB8 /* RoomMembersListScreenViewModelTests.swift */; };
5D70FAE4D2BF4553AFFFFE41 /* NotificationItemProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25F7FE40EF7490A7E09D7BE6 /* NotificationItemProxy.swift */; };
5D99F63CC88BB29383019FC6 /* ShareExtensionModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCAC01A97A43BE07B9E94E43 /* ShareExtensionModels.swift */; };
5DB4334CBBA142376FF5FFEC /* preview_image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 200626E8353AB2729444F991 /* preview_image.jpg */; };
5DD0EF30070DC0A82C5CCD33 /* RoomMembersListManageMemberSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC853F9B4FBE039D2C16EC6B /* RoomMembersListManageMemberSheet.swift */; };
5DD85A0FE3D85AEC3C7EFE36 /* DeveloperOptionsScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C7C7CFA6B2A62A685FF6CE3 /* DeveloperOptionsScreenCoordinator.swift */; };
5EE1D4E316D66943E97FDCF2 /* BloomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7BEB970F500BFB248443FA1 /* BloomView.swift */; };
5F06AD3C66884CE793AE6119 /* FileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04DF593C3F7AF4B2FBAEB05D /* FileManager.swift */; };
5F0B5797D1BFF2A51084B4C3 /* PinnedEventsTimelineScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86D7CD5CA270BFC3EBB450CA /* PinnedEventsTimelineScreenViewModel.swift */; };
5F35069E13D71DD88633A4B2 /* preview_video.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 45A4B934BA41D6C255900265 /* preview_video.jpg */; };
5F5488FBC9CFEB6F433D74A4 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7109E709A7738E6BCC4553E6 /* Localizable.strings */; };
5FCD8AFA364206EE32B909A3 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B050A6B233D95807A09289E7 /* Settings.bundle */; };
601AB75BD52B0B4276CEB84A /* SessionVerificationScreenStateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161CD412E75F4086F422AE39 /* SessionVerificationScreenStateMachine.swift */; };
@@ -637,6 +642,7 @@
854E82E064BA53CD0BC45600 /* LocationRoomTimelineItemContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6613DE16AD26B3A74DA1F5 /* LocationRoomTimelineItemContent.swift */; };
8587A53DE8EF94FD796DC375 /* RoomAvatarImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEF5FE93A06F563B477F024A /* RoomAvatarImage.swift */; };
859E2CA2EDF343BD24DE52EB /* RoomDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6404166CBF5CC88673FF9E2 /* RoomDetails.swift */; };
85BD82E144AB99518A57DDEC /* preview_avatar_room.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 12FD5280AF55AB7F50F8E47D /* preview_avatar_room.jpg */; };
85F89F3F320F4FADCFFFE68B /* ServerSelectionScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3059CFA00C67D8787273B20 /* ServerSelectionScreenViewModel.swift */; };
864C0D3A4077BF433DBC691F /* PollRoomTimelineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5281C5CDC4A712265A0B5FBF /* PollRoomTimelineItem.swift */; };
864C69CF951BF36D25BE0C03 /* DeveloperOptionsScreenViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D0A27607AB09784C8501B5C /* DeveloperOptionsScreenViewModelTests.swift */; };
@@ -926,6 +932,7 @@
C32765D740C81AD4C42E8F50 /* CreateRoomFlowParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 935C2FB18EFB8EEE96B26330 /* CreateRoomFlowParameters.swift */; };
C3317EF833AB4060988DF098 /* SAS.strings in Resources */ = {isa = PBXBuildFile; fileRef = 135FC689EA39AE1D34153B58 /* SAS.strings */; };
C3522917C0C367C403429EEC /* CoordinatorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B251F5B4511D1CA0BA8361FE /* CoordinatorProtocol.swift */; };
C3AFDF6349E54290AA31EC88 /* preview_video.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 45A4B934BA41D6C255900265 /* preview_video.jpg */; };
C3BB6887CF13B19182E81F87 /* IdentityConfirmationScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A03E073077D92AA19C43DCF /* IdentityConfirmationScreenCoordinator.swift */; };
C405528EB4BBEA93579050EE /* VoiceMessageRecordingButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46A2AD86F7E618F468F6FAF5 /* VoiceMessageRecordingButton.swift */; };
C4078364FD9FA00EA9D00A15 /* RoomMembersListScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CDF9A107BFE6C79B58D6B5 /* RoomMembersListScreenViewModelProtocol.swift */; };
@@ -1001,6 +1008,7 @@
D2825E013A8ECFB66D9A1DE6 /* RoomChangeRolesScreenViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F841F219ACDFC1D3F42FEFB /* RoomChangeRolesScreenViewModelTests.swift */; };
D29E046C1E3045E0346C479D /* RoomRolesAndPermissionsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45571C2EBD98ED7E0CEA7AF7 /* RoomRolesAndPermissionsUITests.swift */; };
D2D70B5DB1A5E4AF0CD88330 /* target.yml in Resources */ = {isa = PBXBuildFile; fileRef = 033DB41C51865A2E83174E87 /* target.yml */; };
D31B34B3902BC597593F3ABB /* preview_image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 200626E8353AB2729444F991 /* preview_image.jpg */; };
D33AC79A50DFC26D2498DD28 /* FileRoomTimelineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5098DA7799946A61E34A2373 /* FileRoomTimelineItem.swift */; };
D34E328E9E65904358248FDD /* GlobalSearchScreenModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 436A0D98D372B17EAE9AA999 /* GlobalSearchScreenModels.swift */; };
D3FD96913D2B1AAA3149DAC7 /* CreateRoomViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69D42EE0102D2857933625DD /* CreateRoomViewModelTests.swift */; };
@@ -1367,6 +1375,7 @@
127A57D053CE8C87B5EFB089 /* Consumable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consumable.swift; sourceTree = "<group>"; };
127C8472672A5BA09EF1ACF8 /* CurrentValuePublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentValuePublisher.swift; sourceTree = "<group>"; };
128501375217576AF0FE3E92 /* RoomAttachmentPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomAttachmentPicker.swift; sourceTree = "<group>"; };
12FD5280AF55AB7F50F8E47D /* preview_avatar_room.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = preview_avatar_room.jpg; sourceTree = "<group>"; };
1304D9191300873EADA52D6E /* IntegrationTests.xctestplan */ = {isa = PBXFileReference; path = IntegrationTests.xctestplan; sourceTree = "<group>"; };
130ED565A078F7E0B59D9D25 /* UNTextInputNotificationResponse+Creator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UNTextInputNotificationResponse+Creator.swift"; sourceTree = "<group>"; };
136F80A613B55BDD071DCEA5 /* JoinRoomScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinRoomScreenModels.swift; sourceTree = "<group>"; };
@@ -1429,6 +1438,7 @@
1F7C6DDBB5D12F6EF6A3D6E1 /* CollapsibleReactionLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollapsibleReactionLayout.swift; sourceTree = "<group>"; };
1FAF8C2226A57B9AB7446B31 /* AppLockSetupPINScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLockSetupPINScreenCoordinator.swift; sourceTree = "<group>"; };
1FD51B4D5173F7FC886F5360 /* NoticeRoomTimelineItemContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeRoomTimelineItemContent.swift; sourceTree = "<group>"; };
200626E8353AB2729444F991 /* preview_image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = preview_image.jpg; sourceTree = "<group>"; };
201305507D7DFD16E544563A /* EmojiLoaderProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiLoaderProtocol.swift; sourceTree = "<group>"; };
203D1ACC20287F8986C959D3 /* target.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = target.yml; sourceTree = "<group>"; };
20872C3887F835958CE2F1D0 /* MapTilerStaticMapProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTilerStaticMapProtocol.swift; sourceTree = "<group>"; };
@@ -1610,6 +1620,7 @@
4549FCB53F43DB0B278374BC /* TemplateScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TemplateScreen.swift; sourceTree = "<group>"; };
4552D3466B1453F287223ADA /* SwipeRightAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwipeRightAction.swift; sourceTree = "<group>"; };
45571C2EBD98ED7E0CEA7AF7 /* RoomRolesAndPermissionsUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomRolesAndPermissionsUITests.swift; sourceTree = "<group>"; };
45A4B934BA41D6C255900265 /* preview_video.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = preview_video.jpg; sourceTree = "<group>"; };
45CDF9A107BFE6C79B58D6B5 /* RoomMembersListScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomMembersListScreenViewModelProtocol.swift; sourceTree = "<group>"; };
45D8149FDDA0315CDC553B4B /* UserNotificationCenterProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserNotificationCenterProtocol.swift; sourceTree = "<group>"; };
4629710C0337ADD9C8909542 /* ka */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ka; path = ka.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -1898,6 +1909,7 @@
86A6F283BC574FDB96ABBB07 /* DeveloperOptionsScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeveloperOptionsScreenViewModel.swift; sourceTree = "<group>"; };
86C8CE2630F54D5FE1591786 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist.strings; sourceTree = "<group>"; };
86D7CD5CA270BFC3EBB450CA /* PinnedEventsTimelineScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PinnedEventsTimelineScreenViewModel.swift; sourceTree = "<group>"; };
87FC42213E86E8182CFD3A49 /* preview_avatar_user.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = preview_avatar_user.jpg; sourceTree = "<group>"; };
88410BD213FDF9B28E8B671F /* UserDetailsEditScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDetailsEditScreen.swift; sourceTree = "<group>"; };
8896CDD20CA2D87EA3B848A1 /* RoomNotificationSettingsScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomNotificationSettingsScreen.swift; sourceTree = "<group>"; };
889DEDD63C68ABDA8AD29812 /* VoiceMessageMediaManagerProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoiceMessageMediaManagerProtocol.swift; sourceTree = "<group>"; };
@@ -5374,6 +5386,10 @@
78BBDF7A05CF53B5CDC13682 /* landscape_test_video.mov */,
BC51BF90469412ABDE658CDD /* portrait_test_image.jpg */,
E5E7D4EE7CA295E5039FDA21 /* portrait_test_video.mp4 */,
12FD5280AF55AB7F50F8E47D /* preview_avatar_room.jpg */,
87FC42213E86E8182CFD3A49 /* preview_avatar_user.jpg */,
200626E8353AB2729444F991 /* preview_image.jpg */,
45A4B934BA41D6C255900265 /* preview_video.jpg */,
53FD6D3D38F556CEAA280C58 /* test_animated_image.gif */,
BB576F4118C35E6B5124FA22 /* test_apple_image.heic */,
66B96842BF5F8ACA1AC84C55 /* test_audio.mp3 */,
@@ -6130,6 +6146,10 @@
E67418DACEDBC29E988E6ACD /* message.caf in Resources */,
12E6D052D055531A6783E21B /* portrait_test_image.jpg in Resources */,
5C61810ED7B7CB48346B1B9D /* portrait_test_video.mp4 in Resources */,
85BD82E144AB99518A57DDEC /* preview_avatar_room.jpg in Resources */,
03631FC946FF0BBAD37E22BF /* preview_avatar_user.jpg in Resources */,
5DB4334CBBA142376FF5FFEC /* preview_image.jpg in Resources */,
C3AFDF6349E54290AA31EC88 /* preview_video.jpg in Resources */,
DFF7D6A6C26DDD40D00AE579 /* target.yml in Resources */,
18978C9438206828C1D5AF2A /* test_animated_image.gif in Resources */,
01373C1AC4839604C4FDA404 /* test_apple_image.heic in Resources */,
@@ -6174,6 +6194,10 @@
F4582042AA4225CC1E4B8A1E /* landscape_test_video.mov in Resources */,
8F3AD08F2E706AA60F1A1D4D /* portrait_test_image.jpg in Resources */,
D97C782FE0005995C36FA04A /* portrait_test_video.mp4 in Resources */,
3C312A3AEDE58BB1C9BBB07C /* preview_avatar_room.jpg in Resources */,
1801F1467ABCEA080419E150 /* preview_avatar_user.jpg in Resources */,
D31B34B3902BC597593F3ABB /* preview_image.jpg in Resources */,
5F35069E13D71DD88633A4B2 /* preview_video.jpg in Resources */,
35E975CFDA60E05362A7CF79 /* target.yml in Resources */,
B20484642B41C2D76238BAAA /* test_animated_image.gif in Resources */,
A1672EF491FE6F3BBF7878BE /* test_apple_image.heic in Resources */,
+20 -3
View File
@@ -18,9 +18,26 @@ extension MediaProviderMock {
return nil
}
// At some stage it would be nice to return different images, but for now they can be the same.
if mediaSource?.url == .mockMXCImage || mediaSource?.url == .mockMXCAvatar {
return Asset.Images.appLogo.image
if mediaSource?.url == .mockMXCImage {
if let url = Bundle.main.url(forResource: "preview_image", withExtension: "jpg"),
let data = try? Data(contentsOf: url) {
return UIImage(data: data)
}
} else if mediaSource?.url == .mockMXCVideo {
if let url = Bundle.main.url(forResource: "preview_video", withExtension: "jpg"),
let data = try? Data(contentsOf: url) {
return UIImage(data: data)
}
} else if mediaSource?.url == .mockMXCAvatar {
if let url = Bundle.main.url(forResource: "preview_avatar_room", withExtension: "jpg"),
let data = try? Data(contentsOf: url) {
return UIImage(data: data)
}
} else if mediaSource?.url == .mockMXCUserAvatar {
if let url = Bundle.main.url(forResource: "preview_avatar_user", withExtension: "jpg"),
let data = try? Data(contentsOf: url) {
return UIImage(data: data)
}
}
return UIImage(systemName: "photo")
@@ -43,14 +43,14 @@ extension RoomMemberProxyMock {
static var mockMe: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@me:matrix.org",
displayName: "Me",
avatarURL: .mockMXCAvatar,
avatarURL: .mockMXCUserAvatar,
membership: .join))
}
static var mockMeAdmin: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@me:matrix.org",
displayName: "Me",
avatarURL: .mockMXCAvatar,
avatarURL: .mockMXCUserAvatar,
membership: .join,
powerLevel: 100,
role: .administrator))
@@ -83,7 +83,7 @@ extension RoomMemberProxyMock {
static var mockDan: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@dan:matrix.org",
displayName: "Dan",
avatarURL: .mockMXCAvatar,
avatarURL: .mockMXCUserAvatar,
membership: .join))
}
+2 -1
View File
@@ -103,9 +103,10 @@ extension URL: @retroactive ExpressibleByStringLiteral {
// MARK: Mocks
static var mockMXCAudio: URL { "mxc://matrix.org/1234567890FiLe" }
static var mockMXCAudio: URL { "mxc://matrix.org/1234567890AuDiO" }
static var mockMXCFile: URL { "mxc://matrix.org/1234567890FiLe" }
static var mockMXCImage: URL { "mxc://matrix.org/1234567890ImAgE" }
static var mockMXCVideo: URL { "mxc://matrix.org/1234567890ViDeO" }
static var mockMXCAvatar: URL { "mxc://matrix.org/1234567890AvAtAr" }
static var mockMXCUserAvatar: URL { "mxc://matrix.org/1234567890AvAtArUsEr" }
}
@@ -201,7 +201,7 @@ private extension HomeScreenRoom {
let inviter = RoomMemberProxyMock()
inviter.displayName = "Luca"
inviter.userID = "@jack:somewhi.nl"
inviter.avatarURL = avatarURL
inviter.avatarURL = avatarURL.map { _ in .mockMXCUserAvatar }
let summary = RoomSummary(roomListItem: RoomListItemSDKMock(),
id: "@someone:somewhere.com",
@@ -88,13 +88,13 @@ struct RoomMembersListMemberCell_Previews: PreviewProvider, TestablePreview {
.mockAdmin,
.mockModerator,
.init(with: .init(userID: "@nodisplayname:matrix.org", membership: .join)),
.init(with: .init(userID: "@avatar:matrix.org", displayName: "Avatar", avatarURL: .mockMXCAvatar, membership: .join))
.init(with: .init(userID: "@avatar:matrix.org", displayName: "Avatar", avatarURL: .mockMXCUserAvatar, membership: .join))
]
static let bannedMembers: [RoomMemberProxyMock] = [
.init(with: .init(userID: "@nodisplayname:matrix.org", membership: .ban)),
.init(with: .init(userID: "@fake:matrix.org", displayName: "President", membership: .ban)),
.init(with: .init(userID: "@badavatar:matrix.org", avatarURL: .mockMXCAvatar, membership: .ban))
.init(with: .init(userID: "@badavatar:matrix.org", avatarURL: .mockMXCUserAvatar, membership: .ban))
]
static let viewModel = RoomMembersListScreenViewModel(roomProxy: JoinedRoomProxyMock(.init(name: "Some room",
@@ -118,7 +118,7 @@ struct CompletionSuggestion_Previews: PreviewProvider, TestablePreview {
VStack(spacing: 8) {
CompletionSuggestionView(mediaProvider: MediaProviderMock(configuration: .init()),
items: [.user(item: MentionSuggestionItem(id: "@user_mention_1:matrix.org", displayName: "User 1", avatarURL: nil, range: .init())),
.user(item: MentionSuggestionItem(id: "@user_mention_2:matrix.org", displayName: "User 2", avatarURL: .mockMXCAvatar, range: .init()))]) { _ in }
.user(item: MentionSuggestionItem(id: "@user_mention_2:matrix.org", displayName: "User 2", avatarURL: .mockMXCUserAvatar, range: .init()))]) { _ in }
}
VStack(spacing: 8) {
CompletionSuggestionView(mediaProvider: MediaProviderMock(configuration: .init()),
@@ -304,7 +304,7 @@ struct ComposerToolbar_Previews: PreviewProvider, TestablePreview {
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
static let suggestions: [SuggestionItem] = [.user(item: MentionSuggestionItem(id: "@user_mention_1:matrix.org", displayName: "User 1", avatarURL: nil, range: .init())),
.user(item: MentionSuggestionItem(id: "@user_mention_2:matrix.org", displayName: "User 2", avatarURL: .mockMXCAvatar, range: .init()))]
.user(item: MentionSuggestionItem(id: "@user_mention_2:matrix.org", displayName: "User 2", avatarURL: .mockMXCUserAvatar, range: .init()))]
static var previews: some View {
ComposerToolbar.mock(focused: true)
@@ -38,7 +38,7 @@ struct MentionSuggestionItemView_Previews: PreviewProvider, TestablePreview {
static let mockMediaProvider = MediaProviderMock(configuration: .init())
static var previews: some View {
MentionSuggestionItemView(mediaProvider: mockMediaProvider, item: .init(id: "test", displayName: "Test", avatarURL: .mockMXCAvatar, range: .init()))
MentionSuggestionItemView(mediaProvider: mockMediaProvider, item: .init(id: "test", displayName: "Test", avatarURL: .mockMXCUserAvatar, range: .init()))
MentionSuggestionItemView(mediaProvider: mockMediaProvider, item: .init(id: "test2", displayName: nil, avatarURL: nil, range: .init()))
}
}
@@ -267,7 +267,7 @@ struct MessageComposer_Previews: PreviewProvider, TestablePreview {
eventContent: .message(.video(.init(filename: "never.mov",
caption: "Video: Through the never",
videoInfo: .mockVideo,
thumbnailInfo: .mockThumbnail)))),
thumbnailInfo: .mockVideoThumbnail)))),
.loading(eventID: "")
]
@@ -66,7 +66,7 @@ struct ReadReceiptCell_Previews: PreviewProvider, TestablePreview {
ReadReceiptCell(readReceipt: .init(userID: "@test:matrix.org",
formattedTimestamp: "10:00"),
memberState: .init(displayName: "Test",
avatarURL: .mockMXCAvatar),
avatarURL: .mockMXCUserAvatar),
mediaProvider: MediaProviderMock(configuration: .init()))
.previewDisplayName("With Image")
ReadReceiptCell(readReceipt: .init(userID: "@test:matrix.org",
@@ -277,7 +277,7 @@ struct TimelineReplyView_Previews: PreviewProvider, TestablePreview {
eventContent: .message(.video(.init(filename: "video.mp4",
caption: "Some video",
videoInfo: .mockVideo,
thumbnailInfo: .mockThumbnail))))),
thumbnailInfo: .mockVideoThumbnail))))),
TimelineReplyView(placement: .timeline,
timelineItemReplyDetails: .loaded(sender: .init(id: "", displayName: "Alice"),
eventID: "123",
@@ -374,19 +374,27 @@ struct TimelineItemBubbledStylerView_Previews: PreviewProvider, TestablePreview
static var previews: some View {
mockTimeline
.previewDisplayName("Mock Timeline")
.previewLayout(.fixed(width: 390, height: 900))
.padding(.bottom, 20)
mockTimeline
.environment(\.layoutDirection, .rightToLeft)
.previewDisplayName("Mock Timeline RTL")
.previewLayout(.fixed(width: 390, height: 900))
.padding(.bottom, 20)
replies
.previewDisplayName("Replies")
threads
.previewDisplayName("Thread decorator")
.snapshotPreferences(delay: 1)
.previewLayout(.fixed(width: 390, height: 1700))
.padding(.bottom, 20)
encryptionAuthenticity
.previewDisplayName("Encryption Indicators")
pinned
.previewDisplayName("Pinned messages")
.snapshotPreferences(delay: 1)
.previewLayout(.fixed(width: 390, height: 1150))
.padding(.bottom, 20)
}
static var mockTimeline: some View {
@@ -74,61 +74,38 @@ struct ImageRoomTimelineView_Previews: PreviewProvider, TestablePreview {
static let viewModel = TimelineViewModel.mock
static var previews: some View {
body
.environmentObject(viewModel.context)
.environment(\.timelineContext, viewModel.context)
ScrollView {
VStack(spacing: 20.0) {
ImageRoomTimelineView(timelineItem: makeTimelineItem())
ImageRoomTimelineView(timelineItem: makeTimelineItem(isEdited: true))
// Blur hashed item?
ImageRoomTimelineView(timelineItem: makeTimelineItem(caption: "This is a great image 😎"))
ImageRoomTimelineView(timelineItem: makeTimelineItem(caption: "This is a great image with a really long multiline caption.",
isEdited: true))
}
}
.environmentObject(viewModel.context)
.environment(\.timelineContext, viewModel.context)
.previewLayout(.fixed(width: 390, height: 1200))
.padding(.bottom, 20)
}
static var body: some View {
VStack(spacing: 20.0) {
ImageRoomTimelineView(timelineItem: ImageRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "image.jpg",
imageInfo: .mockImage,
thumbnailInfo: nil)))
ImageRoomTimelineView(timelineItem: ImageRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "other.png",
imageInfo: .mockImage,
thumbnailInfo: nil)))
ImageRoomTimelineView(timelineItem: ImageRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "Blurhashed.jpg",
imageInfo: .mockImage,
thumbnailInfo: nil,
blurhash: "L%KUc%kqS$RP?Ks,WEf8OlrqaekW",
contentType: .gif)))
ImageRoomTimelineView(timelineItem: ImageRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "Blurhashed.jpg",
caption: "This is a great image 😎",
imageInfo: .mockImage,
thumbnailInfo: .mockThumbnail,
blurhash: "L%KUc%kqS$RP?Ks,WEf8OlrqaekW",
contentType: .gif)))
}
private static func makeTimelineItem(caption: String? = nil, isEdited: Bool = false) -> ImageRoomTimelineItem {
ImageRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "image.jpg",
caption: caption,
imageInfo: .mockImage,
thumbnailInfo: .mockThumbnail,
blurhash: "L%KUc%kqS$RP?Ks,WEf8OlrqaekW",
contentType: .jpeg),
properties: .init(isEdited: isEdited))
}
}
@@ -41,12 +41,6 @@ struct StickerRoomTimelineView_Previews: PreviewProvider, TestablePreview {
static let viewModel = TimelineViewModel.mock
static var previews: some View {
body
.environmentObject(viewModel.context)
.environment(\.timelineContext, viewModel.context)
}
static var body: some View {
VStack(spacing: 20.0) {
StickerRoomTimelineView(timelineItem: StickerRoomTimelineItem(id: .randomEvent,
body: "Some image",
@@ -57,15 +51,6 @@ struct StickerRoomTimelineView_Previews: PreviewProvider, TestablePreview {
sender: .init(id: "Bob"),
imageInfo: .mockImage))
StickerRoomTimelineView(timelineItem: StickerRoomTimelineItem(id: .randomEvent,
body: "Some other image",
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
sender: .init(id: "Bob"),
imageInfo: .mockImage))
StickerRoomTimelineView(timelineItem: StickerRoomTimelineItem(id: .randomEvent,
body: "Blurhashed image",
timestamp: "Now",
@@ -76,5 +61,7 @@ struct StickerRoomTimelineView_Previews: PreviewProvider, TestablePreview {
imageInfo: .mockImage,
blurhash: "L%KUc%kqS$RP?Ks,WEf8OlrqaekW"))
}
.environmentObject(viewModel.context)
.environment(\.timelineContext, viewModel.context)
}
}
@@ -5,7 +5,7 @@
// Please see LICENSE in the repository root for full details.
//
import Foundation
import Compound
import SwiftUI
struct VideoRoomTimelineView: View {
@@ -78,56 +78,37 @@ struct VideoRoomTimelineView_Previews: PreviewProvider, TestablePreview {
static let viewModel = TimelineViewModel.mock
static var previews: some View {
body.environmentObject(viewModel.context)
ScrollView {
VStack(spacing: 20.0) {
VideoRoomTimelineView(timelineItem: makeTimelineItem())
VideoRoomTimelineView(timelineItem: makeTimelineItem(isEdited: true))
// Blurhash item?
VideoRoomTimelineView(timelineItem: makeTimelineItem(caption: "This is a great image 😎"))
VideoRoomTimelineView(timelineItem: makeTimelineItem(caption: "This is a great image with a really long multiline caption",
isEdited: true))
}
}
.environmentObject(viewModel.context)
.environment(\.timelineContext, viewModel.context)
.previewLayout(.fixed(width: 390, height: 975))
.padding(.bottom, 20)
}
static var body: some View {
VStack(spacing: 20.0) {
VideoRoomTimelineView(timelineItem: VideoRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "video.mp4",
videoInfo: .mockVideo,
thumbnailInfo: nil)))
VideoRoomTimelineView(timelineItem: VideoRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "other.mp4",
videoInfo: .mockVideo,
thumbnailInfo: nil)))
VideoRoomTimelineView(timelineItem: VideoRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "Blurhashed.mp4",
videoInfo: .mockVideo,
thumbnailInfo: nil,
blurhash: "L%KUc%kqS$RP?Ks,WEf8OlrqaekW")))
VideoRoomTimelineView(timelineItem: VideoRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "video.mp4",
caption: "This is a caption",
videoInfo: .mockVideo,
thumbnailInfo: nil)))
}
private static func makeTimelineItem(caption: String? = nil, isEdited: Bool = false) -> VideoRoomTimelineItem {
VideoRoomTimelineItem(id: .randomEvent,
timestamp: "Now",
isOutgoing: false,
isEditable: false,
canBeRepliedTo: true,
isThreaded: false,
sender: .init(id: "Bob"),
content: .init(filename: "video.mp4",
caption: caption,
videoInfo: .mockVideo,
thumbnailInfo: .mockVideoThumbnail,
blurhash: "L%KUc%kqS$RP?Ks,WEf8OlrqaekW"),
properties: .init(isEdited: isEdited))
}
}
@@ -349,7 +349,7 @@ private extension VideoRoomTimelineItem {
content: .init(filename: "video.mp4",
caption: caption,
videoInfo: .mockVideo,
thumbnailInfo: .mockThumbnail,
thumbnailInfo: .mockVideoThumbnail,
blurhash: "KtI~70X5V?yss9oyrYs:t6"))
}
}
@@ -284,33 +284,35 @@ struct ImageInfoProxy: Hashable {
// MARK: - Mocks
private init(source: MediaSourceProxy, size: CGSize?, aspectRatio: CGFloat?, mimeType: String?) {
private init(source: MediaSourceProxy, size: CGSize?, aspectRatio: CGFloat?) {
self.source = source
self.size = size
self.aspectRatio = aspectRatio
self.mimeType = mimeType
mimeType = source.mimeType
}
static var mockImage: ImageInfoProxy {
guard let mediaSource = try? MediaSourceProxy(url: .mockMXCImage, mimeType: "image/png") else {
guard let mediaSource = try? MediaSourceProxy(url: .mockMXCImage, mimeType: "image/jpg") else {
fatalError("Invalid mock media source URL")
}
return .init(source: mediaSource,
size: .init(width: 100, height: 100),
aspectRatio: 1,
mimeType: "image/png")
return .init(source: mediaSource, size: .init(width: 2730, height: 2048), aspectRatio: 4 / 3)
}
static var mockThumbnail: ImageInfoProxy {
guard let mediaSource = try? MediaSourceProxy(url: .mockMXCImage, mimeType: "image/png") else {
guard let mediaSource = try? MediaSourceProxy(url: .mockMXCImage, mimeType: "image/jpg") else {
fatalError("Invalid mock media source URL")
}
return .init(source: mediaSource,
size: nil,
aspectRatio: nil,
mimeType: nil)
return .init(source: mediaSource, size: .init(width: 800, height: 600), aspectRatio: 4 / 3)
}
static var mockVideoThumbnail: ImageInfoProxy {
guard let mediaSource = try? MediaSourceProxy(url: .mockMXCVideo, mimeType: "image/jpg") else {
fatalError("Invalid mock media source URL")
}
return .init(source: mediaSource, size: .init(width: 800, height: 450), aspectRatio: 16 / 9)
}
}
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ef2a54b62e2f537e2bd2b430cc899cd0928bf4e825e76bfcc42d96186daa5026
size 123993
oid sha256:106d9b668e83752856f44e0cc8c571652f41553e96207a844a44098c56575f4d
size 140208
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7d2557dc6f6c8bf357f8941d5e34eca1bad97930e73ffcb65e747f43edab5ee9
size 142395
oid sha256:3b66462d0a4670928b0ee35a8b9abbcf5c2d7617cc3a47717e462e99ad558bc3
size 143330
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:85de72de76d8bdc38d38ebbc0cf9f3cb696aef6b9567e9ee998886601aedc34a
size 124368
oid sha256:c3ead1253b52306fa36a4d0ee518380e84aaf9cb600c35aa3dee47b77e7c3dd6
size 140615
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9ace9ee3ae23e2212560269db976c2667f4e7024c8318cb744770ebf1453242
size 143790
oid sha256:e9fd7cf8993348eda6eaf43901d75b1c6a89053de2897c617ff531d4377be1fd
size 144576
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d554256c0bed2b0dec2ab2357fb0b6f44e5f927e8766f5134d0083ebf8b77d6
size 72733
oid sha256:7e6403df9877eec093085104f829f6f7a8b07136c5aa3f106baa5bbd7aecdf2d
size 87293
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:781c7c0aa241138c17c18ca152815a0476fb9722c174f24dff3afffcea9cb2d5
size 86998
oid sha256:0a24f906c2cb55429091f93a459844d4e41159d0c359087122475d75ca58de84
size 88561
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:805b359ab4c8880717b6771e0acc049b7a8eed27214d4ef1833183d349e7dfa7
size 74400
oid sha256:cea4504bec3a2fe764b6b607c62873d2d2c9c94ab5da03d8538ff14972191eca
size 88943
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dbb2e14c8bf7b0a9b5082db07e123732ac26ef431418e6d3d62011a2100a7e7e
size 91331
oid sha256:31bcc482e15d4dfdf5e98e471c6214f7476bea7a733ba975597a63169c05ddd3
size 92845
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f6e63d693948eb3139609c45c2511a6db5213ba6d312082deba2dcca31bb836d
size 92248
oid sha256:155948313888b1c61e28a992d7bebacfc03254647cde711a48ca3dde2946b7d0
size 95285
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f6e63d693948eb3139609c45c2511a6db5213ba6d312082deba2dcca31bb836d
size 92248
oid sha256:155948313888b1c61e28a992d7bebacfc03254647cde711a48ca3dde2946b7d0
size 95285
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:141cf3859c4b421be24e2409abc2d6bb4b53ff3c9878811cdbb6b67c901251a7
size 49837
oid sha256:de6d4602b7f4e588b6ff560ccb98bf45c5395c7f04c50b2a9db259a7f4283783
size 52760
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:141cf3859c4b421be24e2409abc2d6bb4b53ff3c9878811cdbb6b67c901251a7
size 49837
oid sha256:de6d4602b7f4e588b6ff560ccb98bf45c5395c7f04c50b2a9db259a7f4283783
size 52760
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad795840c41305dbe8028cfea18b8fe25d3be2ab9524bc3322ed77726df25bcb
size 101810
oid sha256:6c5ca42b4081ae60bff5fda664141e9e7ef654c068ddf2d446de2667a57af844
size 105323
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:70452fc6801a7a7778992bc40ef49c929744d76f0285e2f1aec33c09a5ae3242
size 102228
oid sha256:811aa9b4a3e0ff10a8c6ec5fcc67ea68c761830ee3b61a27e34388f08616c1e3
size 105741
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26b773b1dd1468c8298fc18062e9cc8749698536c19ca643acb1551f9293fb91
size 57194
oid sha256:b0df8cc42b1e7837261220333d0b3cde8f2127894a66936c31ed3daac426469a
size 60320
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a952ed17097a7d8d6b16d3a330e1eaf3fdea80dac026618d456b561ff10c39a
size 57608
oid sha256:185daf8b5e5baf9e119c454d8f4b3f851fa38841a80bfe6c8321fefe17986e4b
size 60734
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f10ebfd3b38c9c5f884d8413143c3ee6dd12d96b52de451ce76dd30447c7aa28
size 322442
oid sha256:c14639547f9a004eb2d29b9d32faa7c893588800a4b0eb9af33bbb02bd31f09d
size 322446
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:657d50373f7aaadceb1928130eb4b03e78c59f306f048f94439f7dcfb97823b7
size 248336
oid sha256:0772f6dc107d05323065d30ac791156015263f2f3bfce51bd95d75744ea07124
size 248350
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ec8339fcf606ac520989a6915da4f3a15a43d049e49c3e93524ad70bd8097778
size 148064
oid sha256:41267007d7aa9d30a894f9448c841ea3a7ba6f97236803489c31cde388f676ef
size 149257
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aa3fb400d0af05b6c81181a040f3746c11fafe82703f7587ae9d98cdcce44386
size 148467
oid sha256:ee00bfe537ffa952b156cd261ffd6f6a48fe0193527f371951633cf44e8735d8
size 149673
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed42c3e99db34f3dedb33b5faaf768caee7d15d8d5dfb50fbed0f97da2b990f0
size 85859
oid sha256:f910646987cb81ea2b1afa072d548dcf4430e1e8caee859b9a7415d9bb0de9d3
size 86735
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f33f9d8cc790b5a03c0da8423e948bc9faffa7580e587d509e13fb691a255eaf
size 86196
oid sha256:5a95a3a75a11c38dfc02c74262ecdd45140f8fb57d9daeadb82bfec9a77dacc8
size 87054
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c53dcda54eb95e575116aee3cba95365d7ff511db660a02a48ba99097605821
size 93632
oid sha256:dabaf0fb78fe51d87068af315b4f2b92e55aa87d91ccd784841cb22c90299752
size 94311
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c53dcda54eb95e575116aee3cba95365d7ff511db660a02a48ba99097605821
size 93632
oid sha256:dabaf0fb78fe51d87068af315b4f2b92e55aa87d91ccd784841cb22c90299752
size 94311
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe63f47dea34b2cbeb699e1354e69e2fd16bd74860542e7a44c47599f94f07f8
size 46985
oid sha256:f5e2548fd5312f9dea833e26d1e7b3ec92214b6f9fae479f142a149063d63837
size 47913
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe63f47dea34b2cbeb699e1354e69e2fd16bd74860542e7a44c47599f94f07f8
size 46985
oid sha256:f5e2548fd5312f9dea833e26d1e7b3ec92214b6f9fae479f142a149063d63837
size 47913
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:495dbe5adefdc1598ec80beea331d0f78de7021992cbca9459060e9956fe006a
size 242329
oid sha256:d10499f6d659a2d1584370a39c07708637e2ffdfad7a0b858790e0eadd95eccc
size 244272
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8f8540714ee55258a4e4bc904ad249bad76664987a37e43f027fca0fbf88319c
size 245488
oid sha256:10e904ca1164aba89afcc4206f7f925e3b4e6cb16a87e56bb8563b34d8015ac2
size 247441
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f147d11e7430cee9703d6ffd1d77aff7eaaaea933f563391864ea05d7a4ee0c
size 178416
oid sha256:4ec40a66f53b885e8dbdd5518abb3ed74bd10371dab614b02438104ec14999be
size 180019
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bdf467b1fe27e468487ec97153f7e25b12305c30397b4ebf74e85fe260da576c
size 181049
oid sha256:fc466d3f59730b45d614b1db16564b0c9dea3055d2c9abcdbe82ecad3f139c28
size 182674
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5a992e048e1aac5508ad22d87a7765e44b8a9aee0b6a39b1ba49b11193a2ecaf
size 259331
oid sha256:3702ab78b2edb32a5df416281ae7f49c3725c2c09a80abc26b2621b293d055d1
size 261814
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5197c5a72cb20ed5e560c1066d667baf08430356e7a4c9d4afa8791d43fb2b58
size 274945
oid sha256:33dbb6eab331632b1fc617a75e531aad63093675694961355d9ddfd98a69fb9c
size 277753
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c5a0737e9311c83483d6c11a80ace664ff9cf6c0f197aa908eea125b524f8e2
size 175689
oid sha256:b8a09fc2cb4a0f57a7317ed8b8cffb26dd003674ed1139406a70e41986987635
size 178089
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:553f92fd699ac9280c3f8d5cadbdafd7e79a266e68fcdd0bfdedadc760cd8269
size 194749
oid sha256:5affeefabee81ad1e2f35fb4dce63ba61502535ecf77ca89fbb0e78458a115fb
size 197008
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:05bd2d1fcf45e1027fcda440616ad6244b6652ce6088d654b27d5ac0461669cc
size 176959
oid sha256:0b891e22cd7a678a8da8d072c037f5e504bf9c2470667a6922aacfaaae2c3906
size 178863
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45b8896561b5b8b0dcb899a7a684eb0057383d668076198b3eba38c8fbf8fc17
size 190293
oid sha256:6bcbb692468dbc5207b7a8d78d45858362e4c97ae44a0a1dea83e08424f4f0e4
size 192171
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d385a376913dbe1fd2f89357e66be6a93272deeb88ef2c68c4fbcf5626e2bf7
size 122079
oid sha256:53edde007daf54308a5ec91f842ebb5dac7ffdc8a88f485f801d867e04d923bb
size 123516
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a9a7709d84f25f4e66acc254ca04eac7a7361f87312bb34297bc88762c3601b5
size 144308
oid sha256:a228e6b1c1f945a410073deee6796f198c030389b78c32ab2128290b4f3bf841
size 145979
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f2e64acc7685ad88338cdd6be6158c26c1f3e244f746240d331368026fd4a6a3
size 220584
oid sha256:1f2f8729657337139e4e7b8c6bd7d2d14e18b2ff3dfbbac1579105ab4c8bb705
size 222416
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90f8f8afd3af276369f1ab2fa6444a2fd8f57ce6b264533ee0167c2c20d3b866
size 740831
oid sha256:c1f866dbcd274f9176e3e9c7b015774b1d4983e09c4d6a36d2c0e7ef4c7497e0
size 740365
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f2e64acc7685ad88338cdd6be6158c26c1f3e244f746240d331368026fd4a6a3
size 220584
oid sha256:1f2f8729657337139e4e7b8c6bd7d2d14e18b2ff3dfbbac1579105ab4c8bb705
size 222416
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5603cf5b0486ea13e7044e07a7b9170a8651d1f995c4e225c0b3cc2c3a7b24ce
size 162192
oid sha256:aca6502389a237bcaafab9a323411b8c90bbe008fdf6913dffa8549d8484133c
size 163851
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a6a4b11e76d396bcb0ec176064401e6cfe389abeadd23847fbcbbbe439d9aa9a
size 515632
oid sha256:d5775431191c8f71588376aec8f0d37c645093136ad8c8aca1dd1bafb2b7fa05
size 516093
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5603cf5b0486ea13e7044e07a7b9170a8651d1f995c4e225c0b3cc2c3a7b24ce
size 162192
oid sha256:aca6502389a237bcaafab9a323411b8c90bbe008fdf6913dffa8549d8484133c
size 163851
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82ce96aa44eb950fb131e85d6ceeab485a5985fb48c30b4d954c65602e77686a
size 281497
oid sha256:aa6267cdf145d058df12b779a6fdcbad4ddfcc26b058daa438d35cd7559d9bcd
size 3055472
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82ce96aa44eb950fb131e85d6ceeab485a5985fb48c30b4d954c65602e77686a
size 281497
oid sha256:e9c09c56436a70734f6e4a9600875286a11d1fa7f66958cc331621aadd7a120c
size 3054384
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d08539366199fb29c4f2b01b6b399426b928a0eaae94306441d0a6cf34be4a13
size 225250
oid sha256:72b266ba096bdc3ee20f035d58314a8d50b73074cf03cfa351491f42f391c415
size 1504607
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d08539366199fb29c4f2b01b6b399426b928a0eaae94306441d0a6cf34be4a13
size 225250
oid sha256:74720a73db523afa7f12b00db51c5c580eddc2c9deef31c5cef6765beff380b0
size 1503480
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8927edf5a98a3beae9d1dd2a61985b5402b72ab5688a2960a8c65b726b28e7a8
size 2016923
oid sha256:1b4453ac118d0dd1f35839453eaa3b738df0972d2e6c77e18d5a50736b671358
size 2019171
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c9390f013722ba23d3b9ade888bc484e7b276e223f135d6641371d60da690397
size 1971897
oid sha256:3f62f20abbffc0f9cd035c5cc24e56d2ece53ad9d6a9e2dfbe9657eba1680b54
size 1974158
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:659cf8286eb523208e2fca0ba19578ff4b33a0076dea962fc3f133a089f5bca9
size 1816652
oid sha256:361078f56cb4e4178f51d42d11b92ec8452371876b740e3f014ba2a9fc13750e
size 1818925
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:630995e1d62ff737c63bda878adec6756c0baa5a0136fb898f9cbf07ef52aa43
size 1987392
oid sha256:3c90b601dcb25932fc4183cab05941d180d9b08307688cacc71f4397c217ff18
size 1988577
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:177f9b216f7716c511037ad044d08c499bc1d33b576d46dbda7d6c67bb513f1e
size 2022040
oid sha256:ec03de50d10d0dae27d01055898b1a4a6aa065424805a0f0845db4e18244eed9
size 2024510
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a13076406c868e7b86d89782752c1fe70776151623c18d6fe47e59671120e0d7
size 1972878
oid sha256:98752592d5baf1e6221e471133ec8d911f1eaa3e81e78542c2fb57a8a0beb29f
size 1975139
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:563f7440384e75819f985d659108c5e37bd8c5bca2ca79fbdb2c1ee0617ed17d
size 1824851
oid sha256:8513ac0a552b5e1a71c5ef6508f3672c17ea4c421fcfd843980bade28a676672
size 1827124
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a81a307b980a5e1d950c98d2fe2981d0cf138da722d76007dd2f61693d85c208
size 2004686
oid sha256:6139b5e77d31ef391b0845d507b160f820b3c45e50654943ad108c4b662f1cd9
size 2005800
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:329b0b5fd32c1e395f969a006d2b56d399292abdee46d6e15df89bf3a8005d89
size 851720
oid sha256:a2363b06b20e07963b9f698d22d03f5faae82d0f08bafaa557686026479be5c5
size 853847
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f6a60932fcba3f2bcd0127af134fd7005cc74a3ba02bfa1717466c35e92ad8c
size 823057
oid sha256:9137ded58efa6b4cef1fa8fe7c799ac8df5a877e8f4088535d920209d3a88c27
size 825318
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f3d9a81bc16d26c4048e4bd59fefe56159a10f2a0f32139ee84ecef7f4d001f
size 728704
oid sha256:3c61afbdc71ee87f4e36dc23f0e2bd75884ef4c55e8b03bd56baa1e821e2a8bd
size 731130
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:72ccc0e3a37d2f8728fc59240b0a11099594e8576a4d89b2ad462ba422a2d38f
size 824019
oid sha256:41450e59f11238219b376a97a79159ad9e75274bfa91830fa81840b29e7c7646
size 824980
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2fb7e4c00fd1d30189f80d8abcf05dd3048039ce61a387f98691bfb618c9218e
size 859617
oid sha256:2a41f110e51f8278fb4d0fcc397499adffb5b8d2079e2c67a4853514dd8448fd
size 861409
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bd08e040f1aff5e3ca2b50965a2bb368557134e8e3bc5bd6e390a1b4a328ae67
size 824771
oid sha256:f5192b90e7b04b85e2bf7d97fc96b0dd92624eb8cb6de9264b47df7cc1ddc67f
size 827032
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6cbcee4066b91f8649d34a66b1b42dfd036541ed7eb7043bff6618089192ae1a
size 736832
oid sha256:4470efc9cf7421f961e34c32cf4136c5621f89b1266f34c790e6dbb16c2591e6
size 739258
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9482f0f3428f1826ef0e5d7e83d65aa895fc88c8db8a756c8c93c2767300f99
size 840024
oid sha256:05556ba65c08cce60531fad7e8ed4de4b75f5de7adfabb725b5d7a35276f10dd
size 841034
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d00776a5033ba2bf44c909bd5c41a422ba3f8675bab60cee885788440f38a34a
size 76078
oid sha256:edb491f82123d0aec8e2fd8b74c5090398ea470617b53ae6369a00755ad561e0
size 79686
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d00776a5033ba2bf44c909bd5c41a422ba3f8675bab60cee885788440f38a34a
size 76078
oid sha256:edb491f82123d0aec8e2fd8b74c5090398ea470617b53ae6369a00755ad561e0
size 79686
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:87252ee182a5c1c0c8827b9fbb4679fcac0ad6829d92702f37a94d42ff069e91
size 35403
oid sha256:1fa684923490be477d8f0a664721e22eabbf9e14759165c63861ad375616dff8
size 38769
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:87252ee182a5c1c0c8827b9fbb4679fcac0ad6829d92702f37a94d42ff069e91
size 35403
oid sha256:1fa684923490be477d8f0a664721e22eabbf9e14759165c63861ad375616dff8
size 38769
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:71cb80dc579a03031aa4de25bf2af339ddd8670651c0e3a5b4fb5d0423592455
size 196910
oid sha256:827a74939755a673e095357a4e827a3519df97d509e58923a9f1865d33a6db4e
size 212428
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:71cb80dc579a03031aa4de25bf2af339ddd8670651c0e3a5b4fb5d0423592455
size 196910
oid sha256:827a74939755a673e095357a4e827a3519df97d509e58923a9f1865d33a6db4e
size 212428
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:218956837978d0f8f16b8744a064f5ed78be91a8be0a712cae7536f54867319c
size 200002
oid sha256:8a484f4cb142d33b5bc02554374e2499bb51e6c86aa10c46ed585dae30c3f32a
size 215703
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:218956837978d0f8f16b8744a064f5ed78be91a8be0a712cae7536f54867319c
size 200002
oid sha256:8a484f4cb142d33b5bc02554374e2499bb51e6c86aa10c46ed585dae30c3f32a
size 215703
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19d120c20ff2a374d05884e6599032a4a3d4982dd9e2d19bc4e28e95f79cb4e0
size 136286
oid sha256:389b5a84f277000e97039887f72f4fb8a104d8021495760c11bdd63d1b797758
size 150003
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19d120c20ff2a374d05884e6599032a4a3d4982dd9e2d19bc4e28e95f79cb4e0
size 136286
oid sha256:389b5a84f277000e97039887f72f4fb8a104d8021495760c11bdd63d1b797758
size 150003
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:da4f3b1174b24ae18c931db745a788e01793f73693fe132cb29836728db76172
size 139540
oid sha256:484fbf46d698d5c278861cd2f73f48030c8f8dc80bd12ae3d395e74268b2e5e6
size 153383
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:da4f3b1174b24ae18c931db745a788e01793f73693fe132cb29836728db76172
size 139540
oid sha256:484fbf46d698d5c278861cd2f73f48030c8f8dc80bd12ae3d395e74268b2e5e6
size 153383
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7d2de8898d28006764b1800937cb310b8e1cc0412ee7307c793096f050a80f9a
size 149110
oid sha256:54e661464dbf0687b5953c95a89a33d9750aa8e601dd038cfc8a04a3ecef8811
size 150264
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b071f66bb5f21fb1bb8362dd2814252c648cb096d7018d085677312854942520
size 150997
oid sha256:3eac656f64dc1a1ee5d9f6ccffc64f001052297384556f1aaaf8850359728950
size 152134

Some files were not shown because too many files have changed in this diff Show More