Skip to content
This repository was archived by the owner on Sep 12, 2024. It is now read-only.

Commit bfdff6c

Browse files
committed
Side by side preview
1 parent b2ab7dc commit bfdff6c

File tree

3 files changed

+33
-24
lines changed

3 files changed

+33
-24
lines changed

Snip/Components/CodeViewer/CodeViewer.swift

+24-22
Original file line numberDiff line numberDiff line change
@@ -61,29 +61,31 @@ struct CodeViewer: View {
6161
tag: tag))
6262
}))
6363

64-
CodeView(theme: settings.codeViewTheme,
65-
code: .constant(viewModel.snipItem.snippet),
66-
mode: .constant(viewModel.snipItem.mode),
67-
fontSize: settings.codeViewTextSize,
68-
showInvisibleCharacters: settings.codeViewShowInvisibleCharacters,
69-
lineWrapping: settings.codeViewLineWrapping,
70-
onContentChange: { newCode in
71-
viewModel.saveNewCodeSnippet(newCode)
72-
})
73-
.frame(minWidth: 100,
74-
maxWidth: .infinity,
75-
minHeight: 100,
76-
maxHeight: .infinity)
77-
.overlay(
78-
MarkdownHTMLViewer(code: viewModel.snipItem.snippet, mode: viewModel.snipItem.mode)
79-
.frame(minWidth: 100,
80-
maxWidth: .infinity,
81-
minHeight: 100,
82-
maxHeight: .infinity)
83-
.background(Color.GREY_200)
84-
.offset(x: self.shouldShowPreview ? 0 : 10000, y: 0)
85-
.transition(AnyTransition.move(edge: .trailing)), alignment: .topLeading)
8664

65+
GeometryReader { reader in
66+
HStack {
67+
CodeView(theme: settings.codeViewTheme,
68+
code: .constant(viewModel.snipItem.snippet),
69+
mode: .constant(viewModel.snipItem.mode),
70+
fontSize: settings.codeViewTextSize,
71+
showInvisibleCharacters: settings.codeViewShowInvisibleCharacters,
72+
lineWrapping: settings.codeViewLineWrapping,
73+
onContentChange: { newCode in
74+
viewModel.saveNewCodeSnippet(newCode)
75+
})
76+
.frame(width: self.shouldShowPreview ? reader.size.width / 2 : reader.size.width, height: reader.size.height)
77+
78+
79+
if self.shouldShowPreview {
80+
Divider()
81+
82+
MarkdownHTMLViewer(code: viewModel.snipItem.snippet, mode: viewModel.snipItem.mode)
83+
.frame(width: reader.size.width / 2, height: reader.size.height)
84+
.background(Color.GREY_200)
85+
.transition(AnyTransition.move(edge: .trailing))
86+
}
87+
}
88+
}
8789

8890
Divider()
8991

Snip/Components/Welcome/WelcomeView.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ struct WelcomeView: View {
5454
.font(.title)
5555
Spacer()
5656
}
57-
Text("Changelog Ver. 1.5.0")
57+
Text("Changelog Ver. \(Bundle.main.releaseVersionNumber)")
5858
.font(.subheadline)
5959
.foregroundColor(themeTextColor)
6060
.padding(EdgeInsets(top: 16, leading: 0, bottom: 16, trailing: 0))

Snip/Representables/MarkdownHTMLViewer.swift

+8-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,14 @@ struct MarkdownHTMLViewer: NSViewRepresentable {
5656
var htmlSource = ""
5757

5858
if mode == CodeMode.html.mode() {
59-
htmlSource = code
59+
60+
if !code.contains("<head>") {
61+
htmlSource = "<head><meta name=\"viewport\" content=\"initial-scale=1.0\" /></head>" + code
62+
}
63+
else {
64+
htmlSource = code
65+
}
66+
6067
}
6168
else if mode == CodeMode.markdown.mode() {
6269

0 commit comments

Comments
 (0)