- ManaThemeUI: geteiltes Karten-Chrome `.manaCard(...)` (continuous Squircle + optionaler Border aus EINER gemeinsamen Form, saubere Ecken) und `RoundedRectangle.mana(Radius.*)` als geteilte Ecken-Sprache. - ManaSignInCTA (Login) + ManaFeedbackCard ziehen auf `.manaCard` — identisches Chrome, Login bekommt denselben Border, beide continuous. - Rest-Chrome (Eingabefelder, Primary-Button, Feedback-Buttons, 2FA-QR/Codes/ Kopier-Buttons) auf `RoundedRectangle.mana(Radius.*)`; keine cornerRadius- Literale mehr, Radien auf Token-Skala konvergiert. - ManaAboutSection: vereinheitlichte „Über"-Sektion (App/Version/Build + Links), opt-in via `ManaAccountView(about:)`. Kein API-Bruch (alles additiv/optisch). CHANGELOG aktualisiert. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
1.1 KiB
Swift
25 lines
1.1 KiB
Swift
import ManaTokens
|
|
import SwiftUI
|
|
|
|
public extension RoundedRectangle {
|
|
/// Vereins-Standard-Form: ein `RoundedRectangle` mit **continuous**
|
|
/// (Apple-Squircle-)Ecke an einem ``ManaTokens/Radius``-Token.
|
|
///
|
|
/// Ein Aufruf statt überall `RoundedRectangle(cornerRadius:style:.continuous)`
|
|
/// zu wiederholen — hält Buttons, Eingabefelder und kleine Inline-Boxen auf
|
|
/// derselben Ecken-Sprache wie die Karten aus
|
|
/// ``SwiftUICore/View/manaCard(surface:border:cornerRadius:borderWidth:padding:alignment:)``,
|
|
/// und verhindert, dass einzelne Stellen still auf den eckigeren
|
|
/// `.circular`-Default zurückfallen.
|
|
///
|
|
/// ```swift
|
|
/// .background(brand.surface, in: RoundedRectangle.mana(Radius.md))
|
|
/// .overlay(RoundedRectangle.mana(Radius.md).strokeBorder(brand.border, lineWidth: 0.5))
|
|
/// ```
|
|
///
|
|
/// - Parameter radius: Eckenradius, idiomatisch ein ``ManaTokens/Radius``-
|
|
/// Token (`Radius.sm`/`Radius.md`/`Radius.lg`/`Radius.xl`).
|
|
static func mana(_ radius: CGFloat) -> RoundedRectangle {
|
|
RoundedRectangle(cornerRadius: radius, style: .continuous)
|
|
}
|
|
}
|