mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Add more flexible background support to FullscreenDialog (#2675)
Hide the background when the main content extends underneath the bottom content.
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "join-room-background.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"preserves-vector-representation" : true
|
||||
}
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
<svg width="387" height="508" viewBox="0 0 387 508" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M389.733 0.0917094C286.963 -0.463031 188.22 32.824 115.226 92.6301C42.2316 152.436 0.965681 233.862 0.506133 318.995C0.0465862 404.129 40.431 485.995 112.775 546.586C185.12 607.177 283.498 641.528 386.268 642.082L388 321.087L389.733 0.0917094Z" fill="url(#paint0_radial_570_35739)" fill-opacity="0.12"/>
|
||||
<defs>
|
||||
<radialGradient id="paint0_radial_570_35739" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(388.002 321.087) rotate(-89.6907) scale(320.689 387.125)">
|
||||
<stop stop-color="#0DBD8B"/>
|
||||
<stop offset="1" stop-color="#1273EB" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 723 B |
@@ -38,6 +38,7 @@ internal enum Asset {
|
||||
internal static let composerAttachment = ImageAsset(name: "images/composer-attachment")
|
||||
internal static let stopRecording = ImageAsset(name: "images/stop-recording")
|
||||
internal static let settingsIconWithBadge = ImageAsset(name: "images/settings-icon-with-badge")
|
||||
internal static let joinRoomBackground = ImageAsset(name: "images/join-room-background")
|
||||
internal static let launchBackground = ImageAsset(name: "images/launch-background")
|
||||
internal static let locationMarkerShape = ImageAsset(name: "images/location-marker-shape")
|
||||
internal static let mediaPause = ImageAsset(name: "images/media-pause")
|
||||
|
||||
@@ -25,6 +25,7 @@ import SwiftUI
|
||||
/// environment value, so make sure to set this to match the screen's background.
|
||||
struct FullscreenDialog<Content: View, BottomContent: View>: View {
|
||||
@Environment(\.dynamicTypeSize) private var dynamicTypeSize
|
||||
@Environment(\.backgroundStyle) private var backgroundStyle
|
||||
|
||||
/// Padding applied to the top of the content automatically. Use `UIConstants` for preset values.
|
||||
var topPadding: CGFloat = UIConstants.titleTopPaddingToNavigationBar
|
||||
@@ -33,18 +34,41 @@ struct FullscreenDialog<Content: View, BottomContent: View>: View {
|
||||
/// The spacing between the content and the buttons.
|
||||
var spacing: CGFloat = 16
|
||||
|
||||
var showBackgroundGradient = false
|
||||
/// The type of background that should be shown behind the content. This
|
||||
/// will be hidden if the main content extends behind the bottom content.
|
||||
var background: FullscreenDialogBackground?
|
||||
|
||||
/// The main content shown at the top of the layout.
|
||||
@ViewBuilder var content: () -> Content
|
||||
/// The content shown at the bottom of the layout.
|
||||
@ViewBuilder var bottomContent: () -> BottomContent
|
||||
|
||||
var body: some View {
|
||||
if dynamicTypeSize < .accessibility1 {
|
||||
standardLayout
|
||||
/// Whether or not the screen should show its background.
|
||||
@State private var showsBackground = true
|
||||
/// The background style given to the bottom content.
|
||||
private var bottomContentBackgroundStyle: AnyShapeStyle? {
|
||||
if background != nil, showsBackground {
|
||||
AnyShapeStyle(Color.clear)
|
||||
} else {
|
||||
accessibilityLayout
|
||||
backgroundStyle
|
||||
}
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
if let background, showsBackground {
|
||||
Color.clear
|
||||
.background(alignment: .bottom) {
|
||||
background.image
|
||||
}
|
||||
.ignoresSafeArea()
|
||||
}
|
||||
|
||||
if dynamicTypeSize < .accessibility1 {
|
||||
standardLayout
|
||||
} else {
|
||||
accessibilityLayout
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,28 +88,20 @@ struct FullscreenDialog<Content: View, BottomContent: View>: View {
|
||||
}
|
||||
.scrollBounceBehavior(.basedOnSize)
|
||||
.safeAreaInset(edge: .bottom) {
|
||||
if showBackgroundGradient {
|
||||
adjustedBottomContent(geometry: geometry)
|
||||
.background(Asset.Images.backgroundBottom.swiftUIImage.resizable().ignoresSafeArea())
|
||||
} else {
|
||||
adjustedBottomContent(geometry: geometry)
|
||||
.background()
|
||||
VStack(spacing: 0) {
|
||||
bottomContent()
|
||||
.readableFrame()
|
||||
.padding(.horizontal, horizontalPadding)
|
||||
.padding(.top, spacing)
|
||||
.padding(.bottom, UIConstants.actionButtonBottomPadding)
|
||||
|
||||
Spacer()
|
||||
.frame(height: UIConstants.spacerHeight(in: geometry))
|
||||
}
|
||||
.background(bottomContentBackgroundStyle ?? AnyShapeStyle(Color.clear))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func adjustedBottomContent(geometry: GeometryProxy) -> some View {
|
||||
VStack(spacing: 0) {
|
||||
bottomContent()
|
||||
.readableFrame()
|
||||
.padding(.horizontal, horizontalPadding)
|
||||
.padding(.top, spacing)
|
||||
.padding(.bottom, UIConstants.actionButtonBottomPadding)
|
||||
|
||||
Spacer()
|
||||
.frame(height: UIConstants.spacerHeight(in: geometry))
|
||||
}
|
||||
.introspect(.scrollView, on: .supportedVersions, customize: updateBackgroundVisibility)
|
||||
}
|
||||
|
||||
/// A continuously scrolling layout used for accessibility font sizes.
|
||||
@@ -116,6 +132,48 @@ struct FullscreenDialog<Content: View, BottomContent: View>: View {
|
||||
.scrollBounceBehavior(.basedOnSize)
|
||||
}
|
||||
}
|
||||
|
||||
func updateBackgroundVisibility(scrollView: UIScrollView) {
|
||||
guard dynamicTypeSize < .accessibility1 else {
|
||||
showsBackground = true
|
||||
return
|
||||
}
|
||||
let insetHeight = scrollView.adjustedContentInset.top + scrollView.adjustedContentInset.bottom
|
||||
let availableHeight = scrollView.frame.height - insetHeight
|
||||
showsBackground = scrollView.contentSize.height < availableHeight
|
||||
}
|
||||
}
|
||||
|
||||
/// The different types of background supported by the `FullscreenDialog` view.
|
||||
enum FullscreenDialogBackground {
|
||||
/// The bottom gradient from the FTUE flow.
|
||||
case gradient
|
||||
/// The subtle bloom from the room discovery and permalink flows.
|
||||
case bloom
|
||||
|
||||
private var asset: ImageAsset {
|
||||
switch self {
|
||||
case .gradient:
|
||||
Asset.Images.backgroundBottom
|
||||
case .bloom:
|
||||
Asset.Images.joinRoomBackground
|
||||
}
|
||||
}
|
||||
|
||||
private var capInsets: EdgeInsets {
|
||||
switch self {
|
||||
case .gradient:
|
||||
EdgeInsets(top: 0, leading: 0, bottom: 250, trailing: 0)
|
||||
case .bloom:
|
||||
EdgeInsets() // This one covers the entire screen.
|
||||
}
|
||||
}
|
||||
|
||||
/// The image that represents the background.
|
||||
var image: Image {
|
||||
Image(asset: asset)
|
||||
.resizable(capInsets: capInsets)
|
||||
}
|
||||
}
|
||||
|
||||
struct FullscreenDialog_Previews: PreviewProvider, TestablePreview {
|
||||
@@ -126,7 +184,26 @@ struct FullscreenDialog_Previews: PreviewProvider, TestablePreview {
|
||||
buttons
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.previewDisplayName("Plain")
|
||||
|
||||
FullscreenDialog(topPadding: UIConstants.iconTopPaddingToNavigationBar, background: .gradient) {
|
||||
content
|
||||
} bottomContent: {
|
||||
buttons
|
||||
}
|
||||
.background()
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.previewDisplayName("Gradient")
|
||||
|
||||
FullscreenDialog(topPadding: UIConstants.iconTopPaddingToNavigationBar, background: .bloom) {
|
||||
content
|
||||
} bottomContent: {
|
||||
buttons
|
||||
}
|
||||
.background()
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.previewDisplayName("Bloom")
|
||||
}
|
||||
|
||||
private static var content: some View {
|
||||
|
||||
@@ -55,7 +55,7 @@ struct AppLockScreen: View {
|
||||
.font(.compound.bodyMDSemibold)
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.disabled(context.viewState.forcedLogoutIndicator != nil)
|
||||
.overlay {
|
||||
context.viewState.forcedLogoutIndicator.map(UserIndicatorModalView.init)
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ struct ServerConfirmationScreen: View {
|
||||
buttons
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.introspect(.window, on: .supportedVersions) { window in
|
||||
context.send(viewAction: .updateWindow(window))
|
||||
}
|
||||
|
||||
+2
-2
@@ -21,13 +21,13 @@ struct AnalyticsPromptScreen: View {
|
||||
@ObservedObject var context: AnalyticsPromptScreenViewModel.Context
|
||||
|
||||
var body: some View {
|
||||
FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, showBackgroundGradient: true) {
|
||||
FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, background: .gradient) {
|
||||
mainContent
|
||||
} bottomContent: {
|
||||
buttons
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.navigationBarHidden(true)
|
||||
.navigationBarBackButtonHidden(true)
|
||||
.interactiveDismissDisabled()
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ struct IdentityConfirmationScreen: View {
|
||||
actionButtons
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.navigationBarHidden(true)
|
||||
.navigationBarBackButtonHidden(true)
|
||||
.interactiveDismissDisabled()
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ struct IdentityConfirmedScreen: View {
|
||||
actionButtons
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.navigationBarHidden(true)
|
||||
.navigationBarBackButtonHidden(true)
|
||||
.interactiveDismissDisabled()
|
||||
|
||||
+2
-2
@@ -21,13 +21,13 @@ struct NotificationPermissionsScreen: View {
|
||||
@ObservedObject var context: NotificationPermissionsScreenViewModel.Context
|
||||
|
||||
var body: some View {
|
||||
FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, showBackgroundGradient: true) {
|
||||
FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, background: .gradient) {
|
||||
mainContent
|
||||
} bottomContent: {
|
||||
buttons
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.navigationBarHidden(true)
|
||||
.navigationBarBackButtonHidden(true)
|
||||
.interactiveDismissDisabled()
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ struct SessionVerificationScreen: View {
|
||||
actionButtons
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.interactiveDismissDisabled()
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ struct PlaceholderScreen: View {
|
||||
}
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.ignoresSafeArea(edges: .top) // Remain vertically centred even if there's a navigation bar.
|
||||
.ignoresSafeArea(.keyboard) // Specifically for the lock screen, but make sense everywhere.
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ struct QRCodeLoginScreen: View {
|
||||
.toolbar { toolbar }
|
||||
.toolbar(.visible, for: .navigationBar)
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgSubtleSecondary))
|
||||
.backgroundStyle(.compound.bgSubtleSecondary)
|
||||
.interactiveDismissDisabled()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ struct ResetRecoveryKeyScreen: View {
|
||||
.toolbar { toolbar }
|
||||
.toolbar(.visible, for: .navigationBar)
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgSubtleSecondary))
|
||||
.backgroundStyle(.compound.bgSubtleSecondary)
|
||||
.interactiveDismissDisabled()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ struct SecureBackupKeyBackupScreen: View {
|
||||
.buttonStyle(.compound(.primary))
|
||||
}
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.interactiveDismissDisabled()
|
||||
.toolbar { toolbar }
|
||||
.alert(item: $context.alertInfo)
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ struct SecureBackupLogoutConfirmationScreen: View {
|
||||
}
|
||||
.toolbar { toolbar }
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.alert(item: $context.alertInfo)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ struct SecureBackupRecoveryKeyScreen: View {
|
||||
.toolbar { toolbar }
|
||||
.toolbar(.visible, for: .navigationBar)
|
||||
.background()
|
||||
.environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
|
||||
.backgroundStyle(.compound.bgCanvasDefault)
|
||||
.interactiveDismissDisabled()
|
||||
.alert(item: $context.alertInfo)
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0a46cd7cf5e0e13a6d7c60300a9fcb6311c20bb2bae22778a2783a2f0afc7c0e
|
||||
size 415851
|
||||
oid sha256:9d9f4fd014234c687d03c529490fe08e5ba11104f398ca1a571fcd8381abec9f
|
||||
size 532444
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f83e16e68a399d2e9db7c69e3fd6fe83a42ebe497b23cb4dde5b6d230d373c4c
|
||||
size 508866
|
||||
oid sha256:f09f74d990c3da296b044d967eb825e91ee496a53fae7a8bfa070e1b56b99b0f
|
||||
size 609180
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7815860f7b70f4aca237db12ec782a0b39276e5b3e5144cb1535254992a25c57
|
||||
size 248416
|
||||
oid sha256:6016d580c905a76047da354f0a8752e87fd0b822bf8365680cec216f19e5e85e
|
||||
size 329675
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ef5bc386c26e9f4777531b8e439de9cad04a98d02e25d4f7298192589720b0b9
|
||||
size 325644
|
||||
oid sha256:84dbbc0b29b1113d020d287c8f23a99227e270f818921c673d389feb2bc307b8
|
||||
size 375338
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:86e1421b4be07786d755bd195b59f2175d8694a45a9c575d47cbd600b606a09e
|
||||
size 135685
|
||||
oid sha256:74fc0d2d0d9933d5f98a667b41780d01bbb59617695e2543944d1f0c3122d461
|
||||
size 137574
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5f7e77738f7863830162825f0eb3b5c12edb20700820c2897aba02608aad391e
|
||||
size 166823
|
||||
oid sha256:a96a4e42c4885f64ca9ae5425f9722a4f2ff56b7d24f04c7f2891673a27b8300
|
||||
size 166347
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:adc608df7c433918afd74184c2dc8fac1325735bd907d78cadd011f62dacd2b4
|
||||
size 2029382
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:62ddd486d339d84a8d65ff50a5ba584404988f9b501624ae4981a3f8891b3381
|
||||
size 550131
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8b99d07d370c72d8504a637b94c0d2d1f8b4b1fdd5cb37e2e434db666533105f
|
||||
size 2076410
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0594e7c15aff74d608977d79678e89262dff1ce065075fc5b91b7f8821bdc3df
|
||||
size 598942
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4b346bf5b6890198d31fd71d810e40e151805ffba2640a9e11ae19fcecbda544
|
||||
size 803815
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:abf88f24e35529bdb843deeaeef81675c179142e838112ecfa84bde3e289d34e
|
||||
size 352164
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0e9e5802254e8a4fd34b4e229e04ac84bb6bc2f59e621b3f7c34f29099f178aa
|
||||
size 840535
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:15292878c6b446e64ca547dc96e37e827cac88e7fdc1b68a38c74d18987c4f8e
|
||||
size 385602
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47d502c8c6fbec6e38497bf9aabe3803f9006145d5c7e9c0997f892405826bc1
|
||||
size 119605
|
||||
oid sha256:f3ac13eb903ab6386f788382ea3362e6ef49f0aa065dd672953f1960bad44a27
|
||||
size 115060
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:86e9a45f6ab26a072edfba0258e275d2f234765ecf0a69f1301aba6108090d07
|
||||
size 153905
|
||||
oid sha256:783830e86a68a1aec227f6e16fc865451cdb3407e7b7967a00bf1d3920d8db92
|
||||
size 146800
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8dfc9897f5cef15fa16a1e51ec869b6dfd3c05a1376300ffed7440ff4b490d0c
|
||||
size 120872
|
||||
oid sha256:6bc0ea81f20ba4f97cc525eabd4e9955f76c948331a1ac404fd42772693131bf
|
||||
size 117972
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0dd9ce4a46cff45390876e7dfdbaeecce78c69a40a403f8563544e05e3efc379
|
||||
size 162211
|
||||
oid sha256:99d546bca4f5b9778c8944fbf57c9136531ef645b0a3fcbf2b1543d94b4fd20c
|
||||
size 160769
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ab736cdeff320ccf70d67b34009536b723ce9abe7348d8f885caf74a17967229
|
||||
size 389835
|
||||
oid sha256:f9fd41d407eca80245dbd7d9462131db5305a68206dcd89e9460ea4dc2d4abf9
|
||||
size 458333
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3b591ed050b9a913a500c0ef0bb935bd7940dfe631a3486810ab18b5ebbe947c
|
||||
size 441047
|
||||
oid sha256:a768fa136c264adeda2a1bf69824f61168c90e62f02ade2d233c868c8fe681d9
|
||||
size 518529
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:10a1bb28971bb64a6679b6a4cfd08c060f5305e40032768db88ffd24a97dab8c
|
||||
size 214792
|
||||
oid sha256:7024f450b746dc43240851b23ef2a8e3946286bf55247bc83b462f3a3da468f8
|
||||
size 298163
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:95219b6d0cff9700acf62799558ad527ed405cafb4565fbe8c48e8b3210d7b4c
|
||||
size 254130
|
||||
oid sha256:ad2c880710176f46fad128730d9a900bdbccf6e2fb016adcfa9c22197433ebd8
|
||||
size 331878
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3d8c27b325869c82555047403415f58e28872e76e5f045cd064b2ab3ba243fc1
|
||||
size 196801
|
||||
oid sha256:ff25bc3029988cee77b4c1d9becc37ca0a3abd6638d2875f78bb91b63b6bbe1a
|
||||
size 192109
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dc127a68581e3163e6f2349bd7e2ffc201ce2fa8fd066187b483ddb33fd67fa0
|
||||
size 304422
|
||||
oid sha256:30187fa7afc621ec8a65952abf4bfbe638bfee1c05e16312dee18bda108b505b
|
||||
size 297626
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f6d0962c09da93a8abcc499017c24c28555622e3e02d978043b3c7f3874729f2
|
||||
size 156994
|
||||
oid sha256:1d37f835ba792370556557e0d930dd4c29483988b1089b7f5a51f2e5df6aa2a2
|
||||
size 150133
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:df6d9523e1659465f080f56e76db707fbe027803be5f83e0e9b8dc064d1251a8
|
||||
size 217178
|
||||
oid sha256:d47b96e1b3e0daef441d6d8e72a5352236ca2179747eb4325e11976e13bcb0ab
|
||||
size 216771
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:72957ae7c97f9744b9b193a5dcf29186496e61e9c499bf1c3f89b9ebbad59899
|
||||
size 168810
|
||||
oid sha256:27d25926a9db7249cda1ae9449f036f15c09f4f9bf9447d85fe5f4930146b4af
|
||||
size 165867
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d2d6da8197ab943403b33b3c4703baed7a17640088532f39d0981dcfee731fd4
|
||||
size 179473
|
||||
oid sha256:92e854056c64f77f63d527a819906023bd967cbb47f45a8fbd510cfd69119165
|
||||
size 180737
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:570000708276664f570068aa2d3d37c7653b1b6648ec40225c6506b4ca470738
|
||||
size 182423
|
||||
oid sha256:70bf7b57723f70226bb18fd2666f5a4c46b1a196ab1a91179243bb3cf5d4d112
|
||||
size 177211
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:edb78e9330dad85dbea6b78e5251de463d5256467d156b5c115412f70ffb6e40
|
||||
size 89995
|
||||
oid sha256:50d35c393731af81a2ab187a113b5d2c88822d23ca2a593b5994e689eeacf387
|
||||
size 89850
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:25533cfa9ee0295d1e013299cb86f878f56c19cb1a94b198166fe440bcee5626
|
||||
size 248296
|
||||
oid sha256:a045cff484a6ab76f22d51dd511daa1c9ee023554eba0a116df04c63b756e924
|
||||
size 235455
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:65299eb62433150284141905f7e25362c2ff63efe8b700bb5c4775bd180d4f2b
|
||||
size 280657
|
||||
oid sha256:414ec12316ce70d964e7e431cb609b10ac6783f542039f9b130985acf47d57f3
|
||||
size 272704
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6692132cf228596dcbcdf91663d7f4e4eebbe573d1bbfc01133572d9c96ee2ac
|
||||
size 268702
|
||||
oid sha256:bf1c234fbe0f16d39229fd7cba21a2b954d1f724246f5207885b814d797a16d3
|
||||
size 258329
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:db402366ea030a33cee42151bb53fe0246552e5c62007db21973e1b2dd65d46b
|
||||
size 111948
|
||||
oid sha256:0143e508fca5b5ea461ebec6aff9017942a71a09f6e8214aa1b1c2fd26bc144a
|
||||
size 106783
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:94a5247597c0ecea03828ce9af2ddce60e8d4ead94b3a5b3c2f7235e82fbdb1e
|
||||
size 950201
|
||||
oid sha256:1e5f98176127ced83705e2cf1cc9b7ed6a32ebd3e14ba013e52beea93a218420
|
||||
size 1252858
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:11cf81ee41b64880234d75a79e9b688af1fe65fe9d07aa6d2b5e4167e233107c
|
||||
size 1029275
|
||||
oid sha256:8925356519bc00c59ed882cfb323ccc84b82eebab211220d970e66510b5d7682
|
||||
size 1326430
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad617473bc4b434ef5747bce48b8116fcb856cadf28002aaccb336a2eac6819d
|
||||
size 898564
|
||||
oid sha256:755cfdbe182fd8be23ba44fd0f647492d2292804072e664ced66ffbdbb01e190
|
||||
size 1207910
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:94a5247597c0ecea03828ce9af2ddce60e8d4ead94b3a5b3c2f7235e82fbdb1e
|
||||
size 950201
|
||||
oid sha256:1e5f98176127ced83705e2cf1cc9b7ed6a32ebd3e14ba013e52beea93a218420
|
||||
size 1252858
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:70429603bfa79aa57a3bc454347db2a3f38195da8f80642a52f284cc9cbef61c
|
||||
size 917802
|
||||
oid sha256:b47967c28f4fc56014ccc56f66eadce1132d6513c7a9d4e8bb6db1e366aa0e49
|
||||
size 1226969
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:11cf81ee41b64880234d75a79e9b688af1fe65fe9d07aa6d2b5e4167e233107c
|
||||
size 1029275
|
||||
oid sha256:8925356519bc00c59ed882cfb323ccc84b82eebab211220d970e66510b5d7682
|
||||
size 1326430
|
||||
|
||||
Reference in New Issue
Block a user