({ mv, number, height })
| 4 | import './Counter.css'; |
| 5 | |
| 6 | function Number({ mv, number, height }) { |
| 7 | let y = useTransform(mv, latest => { |
| 8 | let placeValue = latest % 10; |
| 9 | let offset = (10 + number - placeValue) % 10; |
| 10 | let memo = offset * height; |
| 11 | if (offset > 5) { |
| 12 | memo -= 10 * height; |
| 13 | } |
| 14 | return memo; |
| 15 | }); |
| 16 | return ( |
| 17 | <motion.span className="counter-number" style={{ y }}> |
| 18 | {number} |
| 19 | </motion.span> |
| 20 | ); |
| 21 | } |
| 22 | |
| 23 | function normalizeNearInteger(num) { |
| 24 | const nearest = Math.round(num); |
no outgoing calls
no test coverage detected