UserPreference now supports closure based default

and you can also force the defaults to be always used through a subscription
This commit is contained in:
Mauro Romito
2025-03-20 12:01:29 +01:00
committed by Mauro
parent ff721f6577
commit 5631d4176a
5 changed files with 63 additions and 10 deletions
@@ -333,7 +333,9 @@ struct JoinRoomScreen_Previews: PreviewProvider, TestablePreview {
}
@ViewBuilder
static func makePreview(viewModel: JoinRoomScreenViewModel, mode: JoinRoomScreenMode) -> some View {
static func makePreview(viewModel: JoinRoomScreenViewModel,
mode: JoinRoomScreenMode,
customPreviewName: String? = nil) -> some View {
if mode == .forbidden {
NavigationStack {
JoinRoomScreen(context: viewModel.context)
@@ -344,7 +346,7 @@ struct JoinRoomScreen_Previews: PreviewProvider, TestablePreview {
.onAppear {
forbiddenViewModel.context.send(viewAction: .join)
}
.previewDisplayName(mode.previewDisplayName)
.previewDisplayName(customPreviewName ?? mode.previewDisplayName)
} else {
NavigationStack {
JoinRoomScreen(context: viewModel.context)
@@ -352,7 +354,7 @@ struct JoinRoomScreen_Previews: PreviewProvider, TestablePreview {
.snapshotPreferences(expect: viewModel.context.$viewState.map { state in
state.roomDetails != nil
})
.previewDisplayName(mode.previewDisplayName)
.previewDisplayName(customPreviewName ?? mode.previewDisplayName)
}
}