Tickle Me Counter!

A super basic react counter application

Click the button to increase the tickle count!

This is a react component rendered in MDX!

# of Tickles: 0

JSX

import React, { useState } from 'react'; import './cool-counter.scss'; const Counter = () => { const [count, setCount] = useState(0); return ( <section id="coolcounter"> <div> <h2> Click the button to increase the tickle count!</h2> <h3> # of Tickles: {count} </h3> <button type="button" className="glow-on-hover" onClick={() => { setCount(count + 1); }} > Tickle Me! </button> </div> </section> ); }; export default Counter;

CSS

#coolcounter { body { margin: 0; padding: 0; width: 100%; height: 100vh; display: flex; flex-direction: row; justify-content: center; align-items: center; background: #000; } .glow-on-hover { width: 220px; height: 50px; border: none; outline: none; color: #fff; background: #111; cursor: pointer; position: relative; z-index: 0; border-radius: 10px; } .glow-on-hover:before { content: ''; background: linear-gradient( 45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000 ); position: absolute; top: -2px; left: -2px; background-size: 400%; z-index: -1; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); animation: glowing 20s linear infinite; opacity: 0; transition: opacity 0.3s ease-in-out; border-radius: 10px; } .glow-on-hover:active { color: #000; } .glow-on-hover:active:after { background: transparent; } .glow-on-hover:hover:before { opacity: 1; } .glow-on-hover:after { z-index: -1; content: ''; position: absolute; width: 100%; height: 100%; background: #111; left: 0; top: 0; border-radius: 10px; } @keyframes glowing { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } }