From 12d12a827601119ff83d01ddc808e259922090c4 Mon Sep 17 00:00:00 2001 From: Sven Date: Sat, 11 Apr 2026 09:10:46 +0200 Subject: [PATCH] =?UTF-8?q?Schlie=C3=9Fen-Knopf,=20Reihenfolge=20der=20Tab?= =?UTF-8?q?s=20in=20der=20Detailansicht=20angepasst.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 8196 -> 8196 bytes .../UserInterfaceState.xcuserstate | Bin 33754 -> 37779 bytes .../dock-g/Views/Stacks/StackDetailView.swift | 23 +++++++++--------- dock-g/dock-g/Views/Stacks/StacksView.swift | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.DS_Store b/.DS_Store index 3c7c73c41c09dafaa71403402defe90bf2783515..769c722faa096b321a7b0416ce5662bfa2e9df64 100644 GIT binary patch delta 18 ZcmZp1XmQw}BEZNvnMY7%v!}pregHES1sMPU delta 18 ZcmZp1XmQw}BEZNnnMY7%v!}pregHEI1sDJT diff --git a/dock-g/dock-g.xcodeproj/project.xcworkspace/xcuserdata/sven.xcuserdatad/UserInterfaceState.xcuserstate b/dock-g/dock-g.xcodeproj/project.xcworkspace/xcuserdata/sven.xcuserdatad/UserInterfaceState.xcuserstate index c3f940565746b877a621c9b364fa1ac797405672..9e1a04acbecd331d84a2b1a2f3d87f387d42df11 100644 GIT binary patch delta 17545 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 IB=qn7f4w342><{9 delta 14764 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 brk`6sX}=E_vmrEZE^)_OH<`?z{rvtPc`!=e diff --git a/dock-g/dock-g/Views/Stacks/StackDetailView.swift b/dock-g/dock-g/Views/Stacks/StackDetailView.swift index 4ea7d24..588705d 100644 --- a/dock-g/dock-g/Views/Stacks/StackDetailView.swift +++ b/dock-g/dock-g/Views/Stacks/StackDetailView.swift @@ -3,8 +3,8 @@ import SwiftUI struct StackDetailView: View { let initialStack: Stack let service: DockgeService + let onDismiss: () -> Void - @Environment(\.dismiss) private var dismiss @State private var stack: Stack @State private var selectedTab = 0 @State private var isEditing = false @@ -15,9 +15,10 @@ struct StackDetailView: View { @State private var actionError: String? @State private var showDeleteConfirmation = false - init(initialStack: Stack, service: DockgeService) { + init(initialStack: Stack, service: DockgeService, onDismiss: @escaping () -> Void) { self.initialStack = initialStack self.service = service + self.onDismiss = onDismiss _stack = State(initialValue: initialStack) } @@ -81,9 +82,9 @@ private struct FloppyDiskShape: Shape { // Tabs Picker("Tab", selection: $selectedTab) { - Text("Services").tag(0) - Text("Compose").tag(1) - Text("Env").tag(2) + Text("Compose").tag(0) + Text("Env").tag(1) + Text("Services").tag(2) Text("Logs").tag(3) } .pickerStyle(.segmented) @@ -107,12 +108,12 @@ private struct FloppyDiskShape: Shape { } } ToolbarItem(placement: .navigationBarLeading) { - Button { dismiss() } label: { + Button { onDismiss() } label: { Image(systemName: "xmark") } } ToolbarItemGroup(placement: .navigationBarTrailing) { - if selectedTab == 1 || selectedTab == 2 { + if selectedTab == 0 || selectedTab == 1 { if isEditing { Button { Task { await deployChanges() } @@ -153,7 +154,7 @@ private struct FloppyDiskShape: Shape { Button("Delete Stack", role: .destructive) { Task { let error = await service.deleteStack(stack.name, endpoint: stack.endpoint) - if error == nil { dismiss() } + if error == nil { onDismiss() } if let msg = error { actionError = msg } } } @@ -246,11 +247,11 @@ private struct FloppyDiskShape: Shape { private var tabContent: some View { switch selectedTab { case 0: - ServicesTabView(stackName: stack.name, endpoint: stack.endpoint, service: service) - case 1: ComposeTabView(yaml: $editYAML, isEditing: isEditing, onSave: saveChanges) - case 2: + case 1: EnvTabView(env: $editENV, isEditing: isEditing) + case 2: + ServicesTabView(stackName: stack.name, endpoint: stack.endpoint, service: service) case 3: LogsTabView(stackName: stack.name, endpoint: stack.endpoint, service: service) default: diff --git a/dock-g/dock-g/Views/Stacks/StacksView.swift b/dock-g/dock-g/Views/Stacks/StacksView.swift index e14f3ef..1cb87c1 100644 --- a/dock-g/dock-g/Views/Stacks/StacksView.swift +++ b/dock-g/dock-g/Views/Stacks/StacksView.swift @@ -76,7 +76,7 @@ struct StacksView: View { } .sheet(item: $selectedStack) { stack in if let service = appState.dockgeService { - StackDetailView(initialStack: stack, service: service) + StackDetailView(initialStack: stack, service: service) { selectedStack = nil } } } .sheet(isPresented: $showCreateSheet) {