Spaces:
Sleeping
Sleeping
File size: 1,631 Bytes
918b48a 7f83cea 918b48a 7f83cea 918b48a 7f83cea 918b48a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
import React, { useState } from 'react';
import './App.css';
function App() {
const [count, setCount] = useState(0);
const [message, setMessage] = useState('');
const handleIncrement = () => {
setCount(count + 1);
setMessage(`You clicked ${count + 1} times!`);
};
const handleDecrement = () => {
setCount(count - 1);
setMessage(`You clicked ${count - 1} times!`);
};
const resetCounter = () => {
setCount(0);
setMessage('Counter reset!');
};
return (
<div className="App">
<header className="App-header">
<h1>Custom React Counter App</h1>
<div className="counter-container">
<div className="counter-display">
<h2>Count: {count}</h2>
</div>
<div className="button-group">
<button
className="counter-btn increment-btn"
onClick={handleIncrement}
>
+ Increment
</button>
<button
className="counter-btn decrement-btn"
onClick={handleDecrement}
>
- Decrement
</button>
<button
className="counter-btn reset-btn"
onClick={resetCounter}
>
Reset
</button>
</div>
{message && (
<div className="message">
<p>{message}</p>
</div>
)}
</div>
<footer className="app-footer">
<p>Built with React 18 • Hugging Face Spaces</p>
</footer>
</header>
</div>
);
}
export default App; |