refactor(ui): prioritize editor space
This commit is contained in:
parent
002fde6169
commit
0b01178f24
1 changed files with 16 additions and 10 deletions
|
|
@ -155,16 +155,17 @@ private final class SaplingAppModel: ObservableObject {
|
|||
private struct MainWindow: View {
|
||||
@ObservedObject var model: SaplingAppModel
|
||||
@State private var isImportingMarkdown = false
|
||||
@State private var columnVisibility: NavigationSplitViewVisibility = .all
|
||||
|
||||
var body: some View {
|
||||
NavigationSplitView {
|
||||
NavigationSplitView(columnVisibility: $columnVisibility) {
|
||||
WorkspaceTreeView(
|
||||
workspace: model.workspace,
|
||||
onSelectFile: model.select(file:),
|
||||
onSelectProject: model.select(project:)
|
||||
)
|
||||
.frame(minWidth: 220)
|
||||
} content: {
|
||||
.navigationSplitViewColumnWidth(min: 180, ideal: 220, max: 260)
|
||||
} detail: {
|
||||
if let editorViewModel = model.editorViewModel {
|
||||
HybridMarkdownEditor(
|
||||
viewModel: editorViewModel,
|
||||
|
|
@ -174,16 +175,17 @@ private struct MainWindow: View {
|
|||
} else {
|
||||
EmptyEditorPlaceholder()
|
||||
}
|
||||
} detail: {
|
||||
SaplingInspectorView(
|
||||
project: model.selectedProject,
|
||||
document: model.editorViewModel?.document ?? model.selectedDocument,
|
||||
statuses: model.gitStatuses
|
||||
)
|
||||
.frame(minWidth: 260)
|
||||
}
|
||||
.toolbar {
|
||||
ToolbarItemGroup {
|
||||
Button {
|
||||
toggleSidebar()
|
||||
} label: {
|
||||
Label("Toggle Sidebar", systemImage: "sidebar.leading")
|
||||
}
|
||||
.help("Toggle Sidebar")
|
||||
.keyboardShortcut("0", modifiers: [.command, .option])
|
||||
|
||||
Button {
|
||||
isImportingMarkdown = true
|
||||
} label: {
|
||||
|
|
@ -232,6 +234,10 @@ private struct MainWindow: View {
|
|||
private func navigationTitle(for viewModel: HybridMarkdownEditorViewModel) -> String {
|
||||
viewModel.hasUnsavedChanges ? "\(viewModel.document.title) *" : viewModel.document.title
|
||||
}
|
||||
|
||||
private func toggleSidebar() {
|
||||
columnVisibility = columnVisibility == .all ? .detailOnly : .all
|
||||
}
|
||||
}
|
||||
|
||||
private extension UTType {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue