import SwiftUI /// Cards per `DESIGN (1).md` → Components → Cards: "White backgrounds with /// 1px borders in #E2E8F0. No shadows. Content within cards should follow /// the 24px internal padding rule." And → Shapes: 0px radius everywhere. struct ZenithCardModifier: ViewModifier { var padding: CGFloat = ZenithSpacing.cardPadding func body(content: Content) -> some View { content .padding(padding) .background(Color.zenithSurface) .overlay(Rectangle().strokeBorder(Color.zenithBorder, lineWidth: 1)) // Deliberately no `.cornerRadius` and no `.shadow` — both are // explicitly rejected by the design system ("rejects traditional // shadows and depth", "0px radius" everywhere). } } extension View { func zenithCard(padding: CGFloat = ZenithSpacing.cardPadding) -> some View { modifier(ZenithCardModifier(padding: padding)) } /// Strips the default iOS `List`/`Form` chrome (rounded row groups, /// system grey background, inset grouping) toward the flat, /// bordered-card look the rest of this design system uses. Apply to a /// `List`/`Form`; still combine with `.listRowBackground(Color.zenithSurface)` /// and `.listRowSeparatorTint(Color.zenithBorder)` on individual rows if /// you want row separators to match instead of disappearing. func zenithListBackground() -> some View { scrollContentBackground(.hidden) .background(Color.zenithBg) } }