ducky/web
ducky/web/src/components/hero.jsx
Enable catch-all in our ValidationError component. We're doing this an ugly, hacky way. But it works, and right now, that's what counts. To match our params/fields/headers properties on the ValidationError component, we're going to add the notParams/notFields/notHeaders properties--they match any error _not_ targeting those params/fields/headers. Basically, "any error that wouldn't be caught by these filters". Which is an ugly, but workable, solution for a catch-all ValidationError--just tell it to catch anything but the params/fields/headers that are being handled by the other ValidationErrors. Our implementation of this in the RegisterPage component validates (ha!) that it's at least workable model, if not overly pretty. Also, I anticipate some human error bugs in the future, where one of the field-specific ValidationErrors gets updated and the catch-all ValidationError does not. But whatever. For now, this is Good Enoughâ„¢.
| paddy@0 | 1 import React from 'react' |
| paddy@0 | 2 import heroStyles from '../styles/hero.scss' |
| paddy@0 | 3 |
| paddy@0 | 4 export default React.createClass({ |
| paddy@0 | 5 displayName: 'HeroUnit', |
| paddy@0 | 6 |
| paddy@0 | 7 render () { |
| paddy@0 | 8 return ( |
| paddy@0 | 9 <div className='hero'> |
| paddy@0 | 10 <div className='hero-inner'> |
| paddy@0 | 11 <img src={require('./ducky.svg')} className='hero-logo'/> |
| paddy@0 | 12 <div className='hero-copy'> |
| paddy@0 | 13 <h1>{this.props.title}</h1> |
| paddy@0 | 14 <p>{this.props.children}</p> |
| paddy@0 | 15 </div> |
| paddy@0 | 16 </div> |
| paddy@0 | 17 </div> |
| paddy@0 | 18 ) |
| paddy@0 | 19 } |
| paddy@0 | 20 }) |