Ablage und AirDrop teilen sich eine Kachel
Zwei eigene Kacheln waren zu viel des Guten: beide zeigen im Ruhezustand nichts als eine leere Fläche mit einem Satz darin, und zusammen nahmen sie ein Drittel des Panels. Jetzt übereinander in einer Kachel — oben die Ablegefläche fürs Senden, darunter die Ablage mit ihrer Liste. AirDrop steht dabei nebeneinander statt übereinander: in 52 Punkten Höhe ist für Symbol über Text kein Platz. Das eigenständige AirDrop-Widget entfällt. Gespeicherte Layouts, die es noch nennen, verlieren den Eintrag beim Laden — dafür ist der Filter da. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -187,6 +187,12 @@ private struct ShelfRow: View {
|
||||
|
||||
// MARK: - Widget
|
||||
|
||||
/// Ablage und AirDrop in **einer** Kachel.
|
||||
///
|
||||
/// Zwei eigene Kacheln waren zu viel des Guten: beide zeigen im Ruhezustand
|
||||
/// nichts als eine leere Fläche mit einem Satz darin, und zusammen nahmen sie
|
||||
/// ein Drittel des Panels. Übereinander in einer Kachel bleibt beides
|
||||
/// erreichbar und kostet halb so viel Platz.
|
||||
public struct ShelfWidget: OnyxWidget {
|
||||
public let id = "shelf"
|
||||
public var displayName: String { String(localized: "shelf.name", bundle: .module) }
|
||||
@@ -197,6 +203,17 @@ public struct ShelfWidget: OnyxWidget {
|
||||
public init(store: ShelfStore) { self.store = store }
|
||||
|
||||
public func makeView() -> AnyView {
|
||||
AnyView(ShelfView(store: store))
|
||||
AnyView(
|
||||
VStack(spacing: 8) {
|
||||
// AirDrop oben und schmal: es ist eine reine Ablegefläche ohne
|
||||
// Zustand, die Ablage darunter braucht den Platz für ihre Liste.
|
||||
AirDropView(compact: true)
|
||||
.frame(height: 52)
|
||||
|
||||
Divider().overlay(Onyx.Color.hairline)
|
||||
|
||||
ShelfView(store: store)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user