- The user taps on the type of ticket they wish to purchase.
- This action either displays a reservation confirmation panel or a required GDPR agreement that, if accepted, is followed by the panel.
- In this reservation confirmation view, the user can adjust the number of tickets to purchase (if the ticket type allows such adjustments), agree to non-required GDPR questions, and add a promo code.
- The user taps the call to action and:
a) If the ticket is free, the user is immediately shown the details for the booking. Technically:
i. I accept the relevant GDPR requirements via/api/v2/app/gdpr
ii. I create a reservation via/api/v2/app/reservations
iii. I check the created reservation pending or checked out, in which case I start polling for the booking details.
Slaying Goliath | Diane Ravitch
Sarah Carr | Charter Schools, Educational Reform, and Hope Against Hope
Robert Pondisco | How the Other Half Learns
Terry Moe | Educational Reform, Katrina, and Hidden Power
Doug Lemov | Reading
Doug Lemov | Teaching
Andy Matuschak | Books and Learning
Dan Willingham | Education, School, and Neuroscience
[Elizabeth Green | Education and Building a Better
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// MARK: Borders | |
public extension UIView { | |
/** | |
Adds borders to the given corners. | |
- Parameter corners: The corners to which borders should be added. | |
- Parameter color: The color of the borders. | |
- Parameter length: The length of each border across the view. | |
- Parameter width: The thickness of the borders. | |
*/ | |
func addBorders(to corners: Set<Corner>, color: UIColor = .black, length: CGFloat = 16.0, width: CGFloat = 1.0) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
// MARK: Nib Loadable | |
public protocol NibLoadable { | |
/// The name of the .xib file in which this view is defined. | |
static var nibName: String { get } | |
} | |
// MARK: Nib Loadable Convenience | |
public extension NibLoadable where Self: UIView { | |
static var nibName: String { return NSStringFromClass(self).components(separatedBy: ".").last! } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// InteractiveTextView.swift | |
// Views | |
// | |
// Created by James Valaitis on 05/03/2018. | |
// Copyright © 2018 VIPR Digital. All rights reserved. | |
// | |
import RxSwift | |
import UIKit |