@@ -18,8 +18,6 @@ struct CodeViewer: View {
18
18
@Environment ( \. themeTextColor) var themeTextColor
19
19
@Environment ( \. themePrimaryColor) var themePrimaryColor
20
20
21
- @State private var shouldShowPreview = false
22
-
23
21
var body : some View {
24
22
25
23
VStack ( alignment: . leading) {
@@ -44,7 +42,7 @@ struct CodeViewer: View {
44
42
} ,
45
43
onPreviewToggle: viewModel. snipItem. mode == CodeMode . html. mode ( ) || viewModel. snipItem. mode == CodeMode . markdown. mode ( ) ? {
46
44
withAnimation ( Animation . easeOut ( duration: 0.6 ) ) { ( ) -> ( ) in
47
- self . shouldShowPreview. toggle ( )
45
+ viewModel . shouldShowPreview. toggle ( )
48
46
}
49
47
} : nil
50
48
) )
@@ -73,10 +71,10 @@ struct CodeViewer: View {
73
71
onContentChange: { newCode in
74
72
viewModel. saveNewCodeSnippet ( newCode)
75
73
} )
76
- . frame ( width: self . shouldShowPreview ? reader. size. width / 2 : reader. size. width, height: reader. size. height)
74
+ . frame ( width: viewModel . shouldShowPreview ? reader. size. width / 2 : reader. size. width, height: reader. size. height)
77
75
78
76
79
- if self . shouldShowPreview {
77
+ if viewModel . shouldShowPreview {
80
78
Divider ( )
81
79
82
80
MarkdownHTMLViewer ( code: viewModel. snipItem. snippet, mode: viewModel. snipItem. mode)
@@ -105,6 +103,7 @@ struct CodeViewer: View {
105
103
final class CodeViewerViewModel : ObservableObject {
106
104
107
105
@Published var snipItem : SnipItem
106
+ @Published var shouldShowPreview = false
108
107
var onTrigger : ( SnipItemsListAction ) -> Void
109
108
var onDimiss : ( ) -> Void
110
109
0 commit comments