diff --git a/PYLayoutDemo/PYLayoutDemo/Examples/SnackbarExample.swift b/PYLayoutDemo/PYLayoutDemo/Examples/SnackbarExample.swift index 1c876ef..746f04a 100644 --- a/PYLayoutDemo/PYLayoutDemo/Examples/SnackbarExample.swift +++ b/PYLayoutDemo/PYLayoutDemo/Examples/SnackbarExample.swift @@ -21,6 +21,7 @@ struct SnackBarExample: View { Spacer() PYSnackbarView( title: "Hay una actualización disponible", + type: .alert, isVisible: $showSnackbar, buttonTitle: "ACTUALIZAR" ) diff --git a/Sources/PYLayout/Views/Basic/Snackbar/PYSnackbarType.swift b/Sources/PYLayout/Views/Basic/Snackbar/PYSnackbarType.swift new file mode 100644 index 0000000..32622c8 --- /dev/null +++ b/Sources/PYLayout/Views/Basic/Snackbar/PYSnackbarType.swift @@ -0,0 +1,12 @@ +// +// PYSnackbarType.swift +// +// +// Created by Juan Hurtado on 20/05/22. +// + +import Foundation + +public enum PYSnackbarType { + case info, alert +} diff --git a/Sources/PYLayout/Views/Basic/Snackbar/PYSnackbarView.swift b/Sources/PYLayout/Views/Basic/Snackbar/PYSnackbarView.swift index e4d65ef..9ac63f3 100644 --- a/Sources/PYLayout/Views/Basic/Snackbar/PYSnackbarView.swift +++ b/Sources/PYLayout/Views/Basic/Snackbar/PYSnackbarView.swift @@ -13,17 +13,28 @@ public struct PYSnackbarView: View { @State var opacity: Double = 0 let title: String + let type: PYSnackbarType @Binding var isVisible: Bool let buttonTitle: String? let buttonOnTap: (() -> Void)? - public init(title: String, isVisible: Binding, buttonTitle: String? = nil, buttonOnTap: (() -> Void)? = nil) { + public init(title: String, type: PYSnackbarType = .info, isVisible: Binding, buttonTitle: String? = nil, buttonOnTap: (() -> Void)? = nil) { self.title = title + self.type = type self._isVisible = isVisible self.buttonTitle = buttonTitle self.buttonOnTap = buttonOnTap } + private func getBackgroundColor() -> Color { + switch type { + case .info: + return .gray + case .alert: + return .blue + } + } + public var body: some View { HStack { PYTextView(title, fontSize: 14, textColor: .white) @@ -37,7 +48,7 @@ public struct PYSnackbarView: View { .lineLimit(2) .padding() .frame(width: UIScreen.main.bounds.width - 40) - .background(Color.blue) + .background(getBackgroundColor()) .cornerRadius(5) .onChange(of: isVisible, perform: { isPresented in withAnimation(.spring()) {