From d988cb53cf618a712e2ac9df62032ea7c4152acb Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 12 Feb 2026 19:13:53 +0100 Subject: [PATCH] feat: replace new-list alert with inline TextField --- MindDump/Views/ListsOverviewView.swift | 29 +++++++++++++------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/MindDump/Views/ListsOverviewView.swift b/MindDump/Views/ListsOverviewView.swift index d623672..7492e44 100644 --- a/MindDump/Views/ListsOverviewView.swift +++ b/MindDump/Views/ListsOverviewView.swift @@ -2,8 +2,8 @@ import SwiftUI struct ListsOverviewView: View { @Environment(ListStore.self) private var store - @State private var showingAddList = false @State private var newListName = "" + @FocusState private var isFieldFocused: Bool var body: some View { List { @@ -20,25 +20,24 @@ struct ListsOverviewView: View { } .onDelete(perform: deleteLists) - Button(action: { showingAddList = true }) { - Label("Neue Liste", systemImage: "plus") + HStack { + Image(systemName: "plus") .foregroundStyle(.blue) + TextField("Neue Liste", text: $newListName) + .focused($isFieldFocused) + .onSubmit(commitNewList) } } .navigationTitle("MindDump") - .alert("Neue Liste", isPresented: $showingAddList) { - TextField("Name", text: $newListName) - Button("Abbrechen", role: .cancel) { - newListName = "" - } - Button("Erstellen") { - let name = newListName.trimmingCharacters(in: .whitespaces) - if !name.isEmpty { - store.addList(name: name) - } - newListName = "" - } + .onAppear { isFieldFocused = false } + } + + private func commitNewList() { + let name = newListName.trimmingCharacters(in: .whitespaces) + if !name.isEmpty { + store.addList(name: name) } + newListName = "" } private func deleteLists(at offsets: IndexSet) {