import SwiftUI struct InlineErrorView: View { let message: String let retryTitle: String let retryAction: () -> Void var body: some View { VStack(alignment: .leading, spacing: 8) { Text(message) .font(.subheadline) .foregroundStyle(.red) Button(retryTitle, action: retryAction) .font(.subheadline.weight(.semibold)) } .frame(maxWidth: .infinity, alignment: .leading) .padding() .background(Color.red.opacity(0.08), in: RoundedRectangle(cornerRadius: 12, style: .continuous)) } } struct FeedbackBanner: View { let message: String let tint: Color var body: some View { Text(message) .font(.subheadline.weight(.semibold)) .foregroundStyle(tint) .frame(maxWidth: .infinity, alignment: .leading) .padding(.horizontal, 14) .padding(.vertical, 10) .background(tint.opacity(0.12), in: RoundedRectangle(cornerRadius: 12, style: .continuous)) .padding(.horizontal) .padding(.top, 8) } }