diff --git a/VDSSample/ViewControllers/BaseViewController.swift b/VDSSample/ViewControllers/BaseViewController.swift index 3fd5137..3c31212 100644 --- a/VDSSample/ViewControllers/BaseViewController.swift +++ b/VDSSample/ViewControllers/BaseViewController.swift @@ -150,7 +150,7 @@ public class BaseViewController: UIViewController, Initable , public var formStackView = FormSection() - lazy var stackView = UIStackView().with { + public lazy var stackView = UIStackView().with { $0.axis = .vertical $0.distribution = .fill $0.alignment = .fill diff --git a/VDSSample/ViewControllers/NotificationViewController.swift b/VDSSample/ViewControllers/NotificationViewController.swift index 6bf5a09..5472a41 100644 --- a/VDSSample/ViewControllers/NotificationViewController.swift +++ b/VDSSample/ViewControllers/NotificationViewController.swift @@ -33,10 +33,21 @@ class NotificationViewController: BaseViewController { PickerSelectorView(title: "vertical", picker: self.picker, items: Notification.Layout.allCases) }() +// lazy var typePickerSelectorView = { +// PickerSelectorView(title: "inLine", picker: self.picker, items: Notification.Type.allCases) +// }() + + var notification = Notification() + override func viewDidLoad() { super.viewDidLoad() + + stackView.insertArrangedSubview(notification, at: 0) addContentTopView(view: component) + notification.title = titleDefaultText + notification.subTitle = subtitleDefaultText + component.title = titleDefaultText component.subTitle = subtitleDefaultText titleTextField.text = titleDefaultText @@ -54,6 +65,7 @@ class NotificationViewController: BaseViewController { addFormRow(label: "Surface", view: surfacePickerSelectorView) addFormRow(label: "Style", view: notificationTypePickerSelectorView) addFormRow(label: "Layout", view: layoutTypePickerSelectorView) +// addFormRow(label: "Type", view: typePickerSelectorView) addFormRow(label: "Title", view: titleTextField) addFormRow(label: "SubTitle", view: subTitleTextField) addFormRow(label: "Hide Button Group", view: buttonGroupToggle) @@ -68,16 +80,21 @@ class NotificationViewController: BaseViewController { titleTextField.textPublisher.sink { newString in self.component.title = newString + self.notification.title = newString }.store(in: &subscribers) subTitleTextField.textPublisher.sink { newString in self.component.subTitle = newString + self.notification.subTitle = newString }.store(in: &subscribers) buttonGroupToggle.onChange = { [weak self] toggle in if toggle.isOn { self?.component.primaryButtonModel = nil self?.component.secondaryButtonModel = nil + self?.notification.primaryButtonModel = nil + self?.notification.secondaryButtonModel = nil + self?.label.text = "" } else { self?.setupButtons(with: self?.firstButtonDefaultText, secondButtonText: self?.secondButtonDefaultText) @@ -103,6 +120,7 @@ class NotificationViewController: BaseViewController { hideCloseButtonToggle.onChange = { [weak self] toggle in self?.component.hideCloseButton = toggle.isOn + self?.notification.hideCloseButton = toggle.isOn } } @@ -110,20 +128,31 @@ class NotificationViewController: BaseViewController { func setupPicker() { surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in self?.component.surface = item + self?.notification.surface = item self?.contentTopView.backgroundColor = item.color } notificationTypePickerSelectorView.onPickerDidSelect = { [weak self] item in self?.component.style = item + self?.notification.style = item } layoutTypePickerSelectorView.onPickerDidSelect = { [weak self] item in guard let self else { return } self.component.layout = item + self.notification.layout = item if self.component.layout != item { self.layoutTypePickerSelectorView.set(item: self.component.layout) } } + +// typePickerSelectorView.onPickerDidSelect = { [weak self] item in +// guard let self else { return } +// self.component.type = item +// if self.component.type != item { +// self.layoutTypePickerSelectorView.set(item: self.component.layout) +// } +// } } func setupButtons(with firstButtonText: String? = nil, secondButtonText: String? = nil) { @@ -131,12 +160,18 @@ class NotificationViewController: BaseViewController { component.primaryButtonModel = .init(text: firstButtonText, onClick: { [weak self] button in self?.label.text = "\(button.text!) button click" }) + notification.primaryButtonModel = .init(text: firstButtonText, onClick: { [weak self] button in + self?.label.text = "\(button.text!) button click" + }) } if let secondButtonText { component.secondaryButtonModel = .init(text: secondButtonText, onClick: { [weak self] button in self?.label.text = "\(button.text!) button click" }) + notification.secondaryButtonModel = .init(text: secondButtonText, onClick: { [weak self] button in + self?.label.text = "\(button.text!) button click" + }) } } }