Back to blocks
Удобный трекер привычек
4.0
ruСаморазвитиетрекерпривычкипродуктивность
Промпт
создай удобный трекер привычек
Сгенерированный Результат
import React, { useState } from 'react'; import './App.css'; const App = () => { const [habits, setHabits] = useState([ { id: 1, name: 'Drink Water', completed: false }, { id: 2, name: 'Exercise', completed: false }, { id: 3, name: 'Read', completed: false } ]); const toggleHabit = (id) => { setHabits(habits.map(habit => habit.id === id ? { ...habit, completed: !habit.completed } : habit )); }; return ( <div className="App"> <header className="bg-blue-600 text-white p-4"> <h1 className="text-2xl font-bold">Habit Tracker</h1> </header> <main className="p-4"> <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"> {habits.map(habit => ( <div key={habit.id} className="p-4 border rounded-lg shadow-md"> <h2 className="text-xl font-semibold">{habit.name}</h2> <button onClick={() => toggleHabit(habit.id)} className={`mt-2 px-4 py-2 rounded ${habit.completed ? 'bg-green-500' : 'bg-red-500'} text-white`} > {habit.completed ? 'Completed' : 'Mark as Complete'} </button> </div> ))} </div> </main> <footer className="bg-gray-800 text-white p-4 mt-4"> <p>© 2025 Habit Tracker. All rights reserved.</p> </footer> </div> ); }; export default App;
