Demo project for LB*.
- React.js app using PokéAPI.
- Display list of Pokémons and detail (name + image) for one selected.
- Structured and readable code.
- No CSS-in-JS, any pre/post processor, BEM.
- Minimal external dependencies.
- Clear selection with one click.
- Flip-over card to show extra info, e.g. description text.
- Tilt
- Not really smooth transition from stationary to tilted.
- After deleting a card, there is no tilting on the card that took its place.
onMouseEnter
event is skipped (in Chrome, FF is fine).
- Shadow is cut-off when animating to stationary position.
zIndex
is changed back to zero way too early.
- No A11Y.
- At least
aria
attributes would be nice.
- At least
- Mobile support is sub-optimal.
- Only one card can be selected.
- No tilt.
- Adding/removing cards should be animated. Maybe reorder.
- Animating grid items is nightmare even with
TransitionGroup
. - aholachek/animate-css-grid, STRML/react-grid-layout
- Animating grid items is nightmare even with
- More bling – Trianglify.
- Ton of non-optimized code.
- Moar memo!
- BEM "bug"
- Using
Block_element__modifier
template:Block
is PascalCase to match name of the React component.element
is camelCase and prefixed with one underscore.- PascalCase seems as a better option – when one React component leaks,
element
often becomesBlock
.
- PascalCase seems as a better option – when one React component leaks,
modifier
is camelCase and prefixed with two underscores.
- Intentionally not using this SASS scoping:
.Block { &_element { &__modifier { } } }
- Using