Stop making previews for light & dark colour schemes. (#345)

Xcode 14 now has preview variants for this.
This commit is contained in:
Doug
2022-11-25 17:49:13 +00:00
committed by GitHub
parent 00cd2ab707
commit f776575c81
32 changed files with 29 additions and 207 deletions
@@ -67,7 +67,7 @@ public struct ElementActionButtonStyle: ButtonStyle {
} }
public struct ElementActionButtonStyle_Previews: PreviewProvider { public struct ElementActionButtonStyle_Previews: PreviewProvider {
public static var states: some View { public static var previews: some View {
VStack { VStack {
Button("Enabled") { /* preview */ } Button("Enabled") { /* preview */ }
.buttonStyle(ElementActionButtonStyle()) .buttonStyle(ElementActionButtonStyle())
@@ -87,11 +87,4 @@ public struct ElementActionButtonStyle_Previews: PreviewProvider {
} }
.padding() .padding()
} }
public static var previews: some View {
states
.preferredColorScheme(.light)
states
.preferredColorScheme(.dark)
}
} }
@@ -59,7 +59,7 @@ public struct ElementCapsuleButtonStyle: ButtonStyle {
} }
struct ElementCapsuleButtonStyle_Previews: PreviewProvider { struct ElementCapsuleButtonStyle_Previews: PreviewProvider {
public static var states: some View { public static var previews: some View {
VStack { VStack {
Button("Enabled") { /* preview */ } Button("Enabled") { /* preview */ }
.buttonStyle(.elementCapsuleProminent) .buttonStyle(.elementCapsuleProminent)
@@ -77,11 +77,4 @@ struct ElementCapsuleButtonStyle_Previews: PreviewProvider {
} }
.padding() .padding()
} }
public static var previews: some View {
states
.preferredColorScheme(.light)
states
.preferredColorScheme(.dark)
}
} }
@@ -66,17 +66,6 @@ public struct ElementGhostButtonStyle: ButtonStyle {
public struct ElementGhostButtonStyle_Previews: PreviewProvider { public struct ElementGhostButtonStyle_Previews: PreviewProvider {
public static var previews: some View { public static var previews: some View {
Group {
states
}
.preferredColorScheme(.light)
Group {
states
}
.preferredColorScheme(.dark)
}
public static var states: some View {
VStack { VStack {
Button("Enabled") { /* preview */ } Button("Enabled") { /* preview */ }
.buttonStyle(ElementGhostButtonStyle()) .buttonStyle(ElementGhostButtonStyle())
@@ -97,7 +97,7 @@ public struct BorderedInputFieldStyle: TextFieldStyle {
} }
public struct BorderedInputFieldStyle_Previews: PreviewProvider { public struct BorderedInputFieldStyle_Previews: PreviewProvider {
public static var states: some View { public static var previews: some View {
VStack { VStack {
TextField("Placeholder", text: .constant("")) TextField("Placeholder", text: .constant(""))
.textFieldStyle(BorderedInputFieldStyle()) .textFieldStyle(BorderedInputFieldStyle())
@@ -115,13 +115,4 @@ public struct BorderedInputFieldStyle_Previews: PreviewProvider {
} }
.padding() .padding()
} }
public static var previews: some View {
Group {
states
.preferredColorScheme(.light)
states
.preferredColorScheme(.dark)
}
}
} }
@@ -74,7 +74,7 @@ public struct ElementTextFieldStyle: TextFieldStyle {
@available(iOS 15.0, *) @available(iOS 15.0, *)
struct ElementTextFieldStyle_Previews: PreviewProvider { struct ElementTextFieldStyle_Previews: PreviewProvider {
public static var states: some View { public static var previews: some View {
VStack(spacing: 12) { VStack(spacing: 12) {
TextField("Placeholder", text: .constant("")) TextField("Placeholder", text: .constant(""))
.textFieldStyle(.elementInput(labelText: "Label", footerText: "Footer")) .textFieldStyle(.elementInput(labelText: "Label", footerText: "Footer"))
@@ -88,13 +88,4 @@ struct ElementTextFieldStyle_Previews: PreviewProvider {
} }
.padding() .padding()
} }
public static var previews: some View {
Group {
states
.preferredColorScheme(.light)
states
.preferredColorScheme(.dark)
}
}
} }
@@ -56,11 +56,6 @@ struct UserNotificationModalView: View {
struct UserNotificationModalView_Previews: PreviewProvider { struct UserNotificationModalView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
private static var body: some View {
VStack { VStack {
UserNotificationModalView(notification: UserNotification(type: .modal, UserNotificationModalView(notification: UserNotification(type: .modal,
title: "Successfully logged in", title: "Successfully logged in",
@@ -48,11 +48,6 @@ struct UserNotificationToastView: View {
struct UserNotificationToastView_Previews: PreviewProvider { struct UserNotificationToastView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
private static var body: some View {
VStack { VStack {
UserNotificationToastView(notification: UserNotification(title: "Successfully logged in", UserNotificationToastView(notification: UserNotification(title: "Successfully logged in",
iconName: "checkmark")) iconName: "checkmark"))
@@ -140,12 +140,6 @@ struct BugReportScreen: View {
struct BugReport_Previews: PreviewProvider { struct BugReport_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
let viewModel = BugReportViewModel(bugReportService: MockBugReportService(), screenshot: Asset.Images.appLogo.image, isModallyPresented: false) let viewModel = BugReportViewModel(bugReportService: MockBugReportService(), screenshot: Asset.Images.appLogo.image, isModallyPresented: false)
BugReportScreen(context: viewModel.context) BugReportScreen(context: viewModel.context)
.previewInterfaceOrientation(.portrait) .previewInterfaceOrientation(.portrait)
@@ -197,13 +197,9 @@ struct HomeScreen: View {
struct HomeScreen_Previews: PreviewProvider { struct HomeScreen_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body(.loading).preferredColorScheme(.light) body(.loading)
.tint(.element.accent) .tint(.element.accent)
body(.loading).preferredColorScheme(.dark) body(.loaded)
.tint(.element.accent)
body(.loaded).preferredColorScheme(.light)
.tint(.element.accent)
body(.loaded).preferredColorScheme(.dark)
.tint(.element.accent) .tint(.element.accent)
} }
@@ -104,10 +104,7 @@ struct HomeScreenRoomCell: View {
struct HomeScreenRoomCell_Previews: PreviewProvider { struct HomeScreenRoomCell_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body.tint(.element.accent)
.tint(.element.accent)
body.preferredColorScheme(.dark)
.tint(.element.accent)
} }
static var body: some View { static var body: some View {
@@ -131,12 +131,6 @@ private struct MessageComposerEditHeader: View {
struct MessageComposer_Previews: PreviewProvider { struct MessageComposer_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
VStack { VStack {
MessageComposer(text: .constant(""), MessageComposer(text: .constant(""),
focused: .constant(false), focused: .constant(false),
@@ -209,12 +209,6 @@ private class TextViewWithKeyDetection: UITextView {
struct MessageComposerTextField_Previews: PreviewProvider { struct MessageComposerTextField_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
VStack { VStack {
PreviewWrapper(text: "123") PreviewWrapper(text: "123")
PreviewWrapper(text: "") PreviewWrapper(text: "")
@@ -57,10 +57,8 @@ struct RoomHeaderView: View {
struct RoomHeaderView_Previews: PreviewProvider { struct RoomHeaderView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
bodyPlain.preferredColorScheme(.light) bodyPlain
bodyPlain.preferredColorScheme(.dark) bodyEncrypted
bodyEncrypted.preferredColorScheme(.light)
bodyEncrypted.preferredColorScheme(.dark)
} }
@ViewBuilder @ViewBuilder
@@ -70,12 +70,6 @@ struct RoomScreen: View {
struct RoomScreen_Previews: PreviewProvider { struct RoomScreen_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(), let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(),
timelineViewFactory: RoomTimelineViewFactory(), timelineViewFactory: RoomTimelineViewFactory(),
mediaProvider: MockMediaProvider(), mediaProvider: MockMediaProvider(),
@@ -156,12 +156,6 @@ struct TimelineItemBubbledStylerView<Content: View>: View {
struct TimelineItemBubbledStylerView_Previews: PreviewProvider { struct TimelineItemBubbledStylerView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
VStack(alignment: .leading, spacing: 2) { VStack(alignment: .leading, spacing: 2) {
ForEach(1..<MockRoomTimelineController().timelineItems.count, id: \.self) { index in ForEach(1..<MockRoomTimelineController().timelineItems.count, id: \.self) { index in
let item = MockRoomTimelineController().timelineItems[index] let item = MockRoomTimelineController().timelineItems[index]
@@ -73,12 +73,6 @@ struct TimelineItemPlainStylerView<Content: View>: View {
struct TimelineItemPlainStylerView_Previews: PreviewProvider { struct TimelineItemPlainStylerView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
VStack(alignment: .leading) { VStack(alignment: .leading) {
ForEach(1..<MockRoomTimelineController().timelineItems.count, id: \.self) { index in ForEach(1..<MockRoomTimelineController().timelineItems.count, id: \.self) { index in
let item = MockRoomTimelineController().timelineItems[index] let item = MockRoomTimelineController().timelineItems[index]
@@ -37,15 +37,10 @@ struct EmoteRoomTimelineView: View {
struct EmoteRoomTimelineView_Previews: PreviewProvider { struct EmoteRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder
static var body: some View { static var body: some View {
VStack(alignment: .leading, spacing: 20.0) { VStack(alignment: .leading, spacing: 20.0) {
EmoteRoomTimelineView(timelineItem: itemWith(text: "Short loin ground round tongue hamburger, fatback salami shoulder. Beef turkey sausage kielbasa strip steak. Alcatra capicola pig tail pancetta chislic.", EmoteRoomTimelineView(timelineItem: itemWith(text: "Short loin ground round tongue hamburger, fatback salami shoulder. Beef turkey sausage kielbasa strip steak. Alcatra capicola pig tail pancetta chislic.",
@@ -56,15 +56,10 @@ struct EncryptedRoomTimelineView: View {
struct EncryptedRoomTimelineView_Previews: PreviewProvider { struct EncryptedRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder
static var body: some View { static var body: some View {
VStack(alignment: .leading, spacing: 20.0) { VStack(alignment: .leading, spacing: 20.0) {
EncryptedRoomTimelineView(timelineItem: itemWith(text: "Text", EncryptedRoomTimelineView(timelineItem: itemWith(text: "Text",
@@ -36,15 +36,10 @@ struct FileRoomTimelineView: View {
struct FileRoomTimelineView_Previews: PreviewProvider { struct FileRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder
static var body: some View { static var body: some View {
VStack(spacing: 20.0) { VStack(spacing: 20.0) {
FileRoomTimelineView(timelineItem: FileRoomTimelineItem(id: UUID().uuidString, FileRoomTimelineView(timelineItem: FileRoomTimelineItem(id: UUID().uuidString,
@@ -69,12 +69,8 @@ extension FormattedBodyText {
struct FormattedBodyText_Previews: PreviewProvider { struct FormattedBodyText_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder @ViewBuilder
@@ -51,15 +51,10 @@ struct ImageRoomTimelineView: View {
struct ImageRoomTimelineView_Previews: PreviewProvider { struct ImageRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder
static var body: some View { static var body: some View {
VStack(spacing: 20.0) { VStack(spacing: 20.0) {
ImageRoomTimelineView(timelineItem: ImageRoomTimelineItem(id: UUID().uuidString, ImageRoomTimelineView(timelineItem: ImageRoomTimelineItem(id: UUID().uuidString,
@@ -37,15 +37,10 @@ struct NoticeRoomTimelineView: View {
struct NoticeRoomTimelineView_Previews: PreviewProvider { struct NoticeRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder
static var body: some View { static var body: some View {
VStack(alignment: .leading, spacing: 20.0) { VStack(alignment: .leading, spacing: 20.0) {
NoticeRoomTimelineView(timelineItem: itemWith(text: "Short loin ground round tongue hamburger, fatback salami shoulder. Beef turkey sausage kielbasa strip steak. Alcatra capicola pig tail pancetta chislic.", NoticeRoomTimelineView(timelineItem: itemWith(text: "Short loin ground round tongue hamburger, fatback salami shoulder. Beef turkey sausage kielbasa strip steak. Alcatra capicola pig tail pancetta chislic.",
@@ -48,12 +48,6 @@ struct PlaceholderAvatarImage: View {
struct PlaceholderAvatarImage_Previews: PreviewProvider { struct PlaceholderAvatarImage_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
PlaceholderAvatarImage(text: "X", contentId: "@userid:matrix.org") PlaceholderAvatarImage(text: "X", contentId: "@userid:matrix.org")
.clipShape(Circle()) .clipShape(Circle())
.frame(width: 150, height: 100) .frame(width: 150, height: 100)
@@ -33,12 +33,6 @@ struct RedactedRoomTimelineView: View {
struct RedactedRoomTimelineView_Previews: PreviewProvider { struct RedactedRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
VStack(alignment: .leading, spacing: 20.0) { VStack(alignment: .leading, spacing: 20.0) {
RedactedRoomTimelineView(timelineItem: itemWith(text: ElementL10n.eventRedacted, RedactedRoomTimelineView(timelineItem: itemWith(text: ElementL10n.eventRedacted,
timestamp: "Later", timestamp: "Later",
@@ -32,12 +32,6 @@ struct SeparatorRoomTimelineView: View {
struct SeparatorRoomTimelineView_Previews: PreviewProvider { struct SeparatorRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
let item = SeparatorRoomTimelineItem(id: UUID().uuidString, text: "This is a separator") let item = SeparatorRoomTimelineItem(id: UUID().uuidString, text: "This is a separator")
SeparatorRoomTimelineView(timelineItem: item) SeparatorRoomTimelineView(timelineItem: item)
} }
@@ -34,15 +34,10 @@ struct TextRoomTimelineView: View {
struct TextRoomTimelineView_Previews: PreviewProvider { struct TextRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder
static var body: some View { static var body: some View {
VStack(alignment: .leading, spacing: 20.0) { VStack(alignment: .leading, spacing: 20.0) {
TextRoomTimelineView(timelineItem: itemWith(text: "Short loin ground round tongue hamburger, fatback salami shoulder. Beef turkey sausage kielbasa strip steak. Alcatra capicola pig tail pancetta chislic.", TextRoomTimelineView(timelineItem: itemWith(text: "Short loin ground round tongue hamburger, fatback salami shoulder. Beef turkey sausage kielbasa strip steak. Alcatra capicola pig tail pancetta chislic.",
@@ -61,15 +61,10 @@ struct VideoRoomTimelineView: View {
struct VideoRoomTimelineView_Previews: PreviewProvider { struct VideoRoomTimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light) body
body.preferredColorScheme(.dark) body.timelineStyle(.plain)
body.preferredColorScheme(.light)
.timelineStyle(.plain)
body.preferredColorScheme(.dark)
.timelineStyle(.plain)
} }
@ViewBuilder
static var body: some View { static var body: some View {
VStack(spacing: 20.0) { VStack(spacing: 20.0) {
VideoRoomTimelineView(timelineItem: VideoRoomTimelineItem(id: UUID().uuidString, VideoRoomTimelineView(timelineItem: VideoRoomTimelineItem(id: UUID().uuidString,
@@ -199,12 +199,6 @@ private struct PinnedItem: Equatable {
struct TimelineItemList_Previews: PreviewProvider { struct TimelineItemList_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(), let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(),
timelineViewFactory: RoomTimelineViewFactory(), timelineViewFactory: RoomTimelineViewFactory(),
mediaProvider: MockMediaProvider(), mediaProvider: MockMediaProvider(),
@@ -49,12 +49,6 @@ struct TimelineView: View {
struct TimelineView_Previews: PreviewProvider { struct TimelineView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(), let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(),
timelineViewFactory: RoomTimelineViewFactory(), timelineViewFactory: RoomTimelineViewFactory(),
mediaProvider: MockMediaProvider(), mediaProvider: MockMediaProvider(),
@@ -184,12 +184,6 @@ struct SessionVerificationScreen: View {
struct SessionVerification_Previews: PreviewProvider { struct SessionVerification_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
Group { Group {
sessionVerificationScreen(state: .initial) sessionVerificationScreen(state: .initial)
sessionVerificationScreen(state: .requestingVerification) sessionVerificationScreen(state: .requestingVerification)
@@ -239,12 +239,6 @@ extension TimelineStyle: CustomStringConvertible {
struct Settings_Previews: PreviewProvider { struct Settings_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
body.preferredColorScheme(.light)
body.preferredColorScheme(.dark)
}
@ViewBuilder
static var body: some View {
let userSession = MockUserSession(clientProxy: MockClientProxy(userIdentifier: "@userid:example.com"), let userSession = MockUserSession(clientProxy: MockClientProxy(userIdentifier: "@userid:example.com"),
mediaProvider: MockMediaProvider()) mediaProvider: MockMediaProvider())
let viewModel = SettingsViewModel(withUserSession: userSession) let viewModel = SettingsViewModel(withUserSession: userSession)
+1
View File
@@ -0,0 +1 @@
Stop generating previews for light and dark colour schemes now that preview variants are a thing.