first commit
This commit is contained in:
293
maket/index.html
Normal file
293
maket/index.html
Normal file
@@ -0,0 +1,293 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Мой трекер привычек</title>
|
||||||
|
<style>
|
||||||
|
/* Общие стили */
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Arial', sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #333;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Шапка сайта */
|
||||||
|
.header {
|
||||||
|
background: linear-gradient(135deg, #4CAF50, #45a049);
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
padding: 40px 20px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.header h1 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 2.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header p {
|
||||||
|
margin: 15px 0 0 0;
|
||||||
|
font-size: 1.3em;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Основной контент */
|
||||||
|
.main-content {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Секция "О проекте" */
|
||||||
|
.about {
|
||||||
|
background-color: white;
|
||||||
|
padding: 30px;
|
||||||
|
border-radius: 15px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||||
|
border-left: 5px solid #4CAF50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about h2 {
|
||||||
|
color: #2c3e50;
|
||||||
|
border-bottom: 2px solid #4CAF50;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
font-size: 1.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about p {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
font-size: 1.1em;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about ul {
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about li {
|
||||||
|
padding: 12px 0;
|
||||||
|
font-size: 1.1em;
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
transition: transform 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about li:hover {
|
||||||
|
transform: translateX(10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.about li:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Секция с примерами привычек */
|
||||||
|
.habits-examples {
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habits-examples h2 {
|
||||||
|
color: #2c3e50;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 35px;
|
||||||
|
font-size: 1.8em;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habits-examples h2::after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: 100px;
|
||||||
|
height: 3px;
|
||||||
|
background: #4CAF50;
|
||||||
|
margin: 10px auto;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card {
|
||||||
|
background: white;
|
||||||
|
border: 2px solid #e8f5e8;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 25px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
box-shadow: 0 3px 15px rgba(0,0,0,0.08);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card:hover {
|
||||||
|
transform: translateY(-5px);
|
||||||
|
box-shadow: 0 5px 20px rgba(0,0,0,0.15);
|
||||||
|
border-color: #4CAF50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card h3 {
|
||||||
|
margin: 0 0 12px 0;
|
||||||
|
color: #4CAF50;
|
||||||
|
font-size: 1.4em;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card p {
|
||||||
|
margin: 0;
|
||||||
|
color: #666;
|
||||||
|
font-size: 1.1em;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Подвал */
|
||||||
|
.footer {
|
||||||
|
background-color: #2c3e50;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
padding: 25px;
|
||||||
|
margin-top: 50px;
|
||||||
|
border-top: 5px solid #4CAF50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer p {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Адаптивность */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.header h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header p {
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-content {
|
||||||
|
padding: 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about, .habit-card {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
.header {
|
||||||
|
padding: 30px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header h1 {
|
||||||
|
font-size: 1.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card h3 {
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Шапка сайта -->
|
||||||
|
<header class="header">
|
||||||
|
<h1>🚀 Мой трекер привычек</h1>
|
||||||
|
<p>Становись лучше каждый день!</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Основное содержание -->
|
||||||
|
<main class="main-content">
|
||||||
|
<!-- Секция "О проекте" -->
|
||||||
|
<section class="about">
|
||||||
|
<h2>О чем этот проект?</h2>
|
||||||
|
<p>Этот трекер поможет тебе формировать полезные привычки и отслеживать свой прогресс на пути к лучшей версии себя!</p>
|
||||||
|
<p>Основные возможности:</p>
|
||||||
|
<ul>
|
||||||
|
<li>✅ Отслеживать свои привычки ежедневно</li>
|
||||||
|
<li>📊 Видеть статистику и прогресс за неделю/месяц</li>
|
||||||
|
<li>🎯 Ставить цели и достигать их</li>
|
||||||
|
<li>📈 Анализировать свои успехи и области для роста</li>
|
||||||
|
<li>👥 Делиться результатами с друзьями</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Секция с примерами привычек -->
|
||||||
|
<section class="habits-examples">
|
||||||
|
<h2>Примеры привычек для отслеживания</h2>
|
||||||
|
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3>💧 Пить воду</h3>
|
||||||
|
<p>8 стаканов воды в день для поддержания водного баланса и здоровья организма</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3>📚 Читать</h3>
|
||||||
|
<p>20 минут чтения в день для постоянного обучения и развития мышления</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3>🏃 Физическая активность</h3>
|
||||||
|
<p>30 минут упражнений в день для поддержания формы и энергии</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3>🎯 Медитация</h3>
|
||||||
|
<p>10 минут медитации утром для ясности ума и снижения стресса</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3>✍️ Вести дневник</h3>
|
||||||
|
<p>5 минут вечером для рефлексии и планирования следующего дня</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3>🌿 Здоровый сон</h3>
|
||||||
|
<p>7-8 часов качественного сна для восстановления сил и продуктивности</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<!-- Подвал -->
|
||||||
|
<footer class="footer">
|
||||||
|
<p>© 2024 Мой трекер привычек. Сделано с ❤️ для вашего развития</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Простой скрипт для интерактивности карточек
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
const habitCards = document.querySelectorAll('.habit-card');
|
||||||
|
|
||||||
|
habitCards.forEach(card => {
|
||||||
|
card.addEventListener('click', function() {
|
||||||
|
this.style.backgroundColor = '#f0f9f0';
|
||||||
|
setTimeout(() => {
|
||||||
|
this.style.backgroundColor = 'white';
|
||||||
|
}, 300);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Добавляем анимацию появления элементов при загрузке
|
||||||
|
const elements = document.querySelectorAll('.about, .habit-card');
|
||||||
|
elements.forEach((element, index) => {
|
||||||
|
element.style.opacity = '0';
|
||||||
|
element.style.transform = 'translateY(20px)';
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
element.style.transition = 'all 0.6s ease';
|
||||||
|
element.style.opacity = '1';
|
||||||
|
element.style.transform = 'translateY(0)';
|
||||||
|
}, index * 200);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
321
habbit-manager.html
Normal file
321
habbit-manager.html
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Трекер привычек - Лабораторная работа</title>
|
||||||
|
<style>
|
||||||
|
/* Базовые стили */
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Arial', sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #333;
|
||||||
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
min-height: 100vh;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Блок container */
|
||||||
|
.container {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Блок page-header */
|
||||||
|
.page-header {
|
||||||
|
background: white;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 40px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
text-align: center;
|
||||||
|
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-header__title {
|
||||||
|
color: #4CAF50;
|
||||||
|
font-size: 2.5em;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-header__subtitle {
|
||||||
|
color: #666;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Блок stats-panel */
|
||||||
|
.stats-panel {
|
||||||
|
display: flex;
|
||||||
|
gap: 20px;
|
||||||
|
justify-content: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats-panel__item {
|
||||||
|
background: #f8f9fa;
|
||||||
|
padding: 15px 25px;
|
||||||
|
border-radius: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats-panel__value {
|
||||||
|
font-size: 2em;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #4CAF50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats-panel__label {
|
||||||
|
color: #666;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Блок habits-grid */
|
||||||
|
.habits-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||||
|
gap: 25px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Блок habit-card - ОСНОВНОЙ БЛОК ДЛЯ РАБОТЫ */
|
||||||
|
.habit-card {
|
||||||
|
background: white;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 25px;
|
||||||
|
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card:hover {
|
||||||
|
transform: translateY(-5px);
|
||||||
|
box-shadow: 0 10px 25px rgba(0,0,0,0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__icon {
|
||||||
|
font-size: 2.5em;
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__title {
|
||||||
|
color: #2c3e50;
|
||||||
|
font-size: 1.4em;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__description {
|
||||||
|
color: #666;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__progress {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__progress-info {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
font-size: 0.9em;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__progress-bar {
|
||||||
|
background: #e0e0e0;
|
||||||
|
border-radius: 10px;
|
||||||
|
height: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__progress-fill {
|
||||||
|
background: #4CAF50;
|
||||||
|
height: 100%;
|
||||||
|
width: 0%;
|
||||||
|
transition: width 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card__actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Блок button */
|
||||||
|
.button {
|
||||||
|
padding: 10px 20px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.9em;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button--primary {
|
||||||
|
background: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button--primary:hover {
|
||||||
|
background: #45a049;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button--secondary {
|
||||||
|
background: #f0f0f0;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button--secondary:hover {
|
||||||
|
background: #e0e0e0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Модификаторы для habit-card */
|
||||||
|
.habit-card--important {
|
||||||
|
border-left: 5px solid #ff6b6b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card--completed {
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card--new {
|
||||||
|
border: 2px dashed #4CAF50;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Блок new-habit-form */
|
||||||
|
.new-habit-form {
|
||||||
|
background: white;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 30px;
|
||||||
|
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-habit-form__title {
|
||||||
|
color: #2c3e50;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<!-- Шапка страницы -->
|
||||||
|
<header class="page-header">
|
||||||
|
<h1 class="page-header__title">🚀 Трекер полезных привычек</h1>
|
||||||
|
<p class="page-header__subtitle">Отслеживайте свой прогресс и становитесь лучше каждый день</p>
|
||||||
|
|
||||||
|
<!-- Панель статистики -->
|
||||||
|
<div class="stats-panel">
|
||||||
|
<div class="stats-panel__item">
|
||||||
|
<div class="stats-panel__value">7</div>
|
||||||
|
<div class="stats-panel__label">Привычек</div>
|
||||||
|
</div>
|
||||||
|
<div class="stats-panel__item">
|
||||||
|
<div class="stats-panel__value">64%</div>
|
||||||
|
<div class="stats-panel__label">Общий прогресс</div>
|
||||||
|
</div>
|
||||||
|
<div class="stats-panel__item">
|
||||||
|
<div class="stats-panel__value">21</div>
|
||||||
|
<div class="stats-panel__label">День подряд</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Сетка карточек привычек -->
|
||||||
|
<div class="habits-grid">
|
||||||
|
<!-- Карточка 1 -->
|
||||||
|
<div class="habit-card">
|
||||||
|
<div class="habit-card__header">
|
||||||
|
<div class="habit-card__icon">💧</div>
|
||||||
|
<h3 class="habit-card__title">Пить воду</h3>
|
||||||
|
</div>
|
||||||
|
<p class="habit-card__description">8 стаканов воды в день для поддержания водного баланса организма</p>
|
||||||
|
|
||||||
|
<div class="habit-card__progress">
|
||||||
|
<div class="habit-card__progress-info">
|
||||||
|
<span>Прогресс</span>
|
||||||
|
<span>75%</span>
|
||||||
|
</div>
|
||||||
|
<div class="habit-card__progress-bar">
|
||||||
|
<div class="habit-card__progress-fill" style="width: 75%"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card__actions">
|
||||||
|
<button class="button button--primary">Отметить выполнение</button>
|
||||||
|
<button class="button button--secondary">Подробнее</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Карточка 2 -->
|
||||||
|
<div class="habit-card habit-card--important">
|
||||||
|
<div class="habit-card__header">
|
||||||
|
<div class="habit-card__icon">📚</div>
|
||||||
|
<h3 class="habit-card__title">Читать книги</h3>
|
||||||
|
</div>
|
||||||
|
<p class="habit-card__description">20 минут чтения развивающей литературы каждый вечер</p>
|
||||||
|
|
||||||
|
<div class="habit-card__progress">
|
||||||
|
<div class="habit-card__progress-info">
|
||||||
|
<span>Прогресс</span>
|
||||||
|
<span>45%</span>
|
||||||
|
</div>
|
||||||
|
<div class="habit-card__progress-bar">
|
||||||
|
<div class="habit-card__progress-fill" style="width: 45%"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card__actions">
|
||||||
|
<button class="button button--primary">Отметить выполнение</button>
|
||||||
|
<button class="button button--secondary">Подробнее</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Карточка 3 -->
|
||||||
|
<div class="habit-card habit-card--completed">
|
||||||
|
<div class="habit-card__header">
|
||||||
|
<div class="habit-card__icon">🏃</div>
|
||||||
|
<h3 class="habit-card__title">Утренняя зарядка</h3>
|
||||||
|
</div>
|
||||||
|
<p class="habit-card__description">15 минут физических упражнений каждое утро</p>
|
||||||
|
|
||||||
|
<div class="habit-card__progress">
|
||||||
|
<div class="habit-card__progress-info">
|
||||||
|
<span>Прогресс</span>
|
||||||
|
<span>100%</span>
|
||||||
|
</div>
|
||||||
|
<div class="habit-card__progress-bar">
|
||||||
|
<div class="habit-card__progress-fill" style="width: 100%"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="habit-card__actions">
|
||||||
|
<button class="button button--primary" disabled>Выполнено</button>
|
||||||
|
<button class="button button--secondary">Подробнее</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Форма добавления новой привычки -->
|
||||||
|
<div class="new-habit-form">
|
||||||
|
<h2 class="new-habit-form__title">➕ Добавить новую привычку</h2>
|
||||||
|
<!-- Здесь студенты будут добавлять форму -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="app.js"></script>
|
||||||
|
<script src="habit-manager.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
29
habit-manager.js
Normal file
29
habit-manager.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
const HabitManager = {
|
||||||
|
habits: [], // список привычек
|
||||||
|
settings: {
|
||||||
|
dailyGoal: 3, // цель кол-ва привычек за день
|
||||||
|
enableNotification: true, // включить уведомления
|
||||||
|
theme: 'light' // тип темы дизайна приложения
|
||||||
|
}, // настройки приложения
|
||||||
|
stats: {
|
||||||
|
totalCompletions: 0, // общее кол-во выполненных привычек
|
||||||
|
currentStreak: 0, // текущая серия выполненных привычек
|
||||||
|
longestStreak: 0, // максимальная серия выполненных привычек
|
||||||
|
level: 1, // уровень пользователя
|
||||||
|
experience: 0 // опыт пользователя
|
||||||
|
} // статистика пользователя
|
||||||
|
}
|
||||||
|
|
||||||
|
HabitManager.createHabit = function (name, description, targetCount = 1) {
|
||||||
|
const habit = {
|
||||||
|
id: Math.random(),
|
||||||
|
name: name,
|
||||||
|
description: description,
|
||||||
|
targetCount: targetCount
|
||||||
|
}
|
||||||
|
|
||||||
|
this.habits.push(habit)
|
||||||
|
|
||||||
|
return habit
|
||||||
|
}
|
||||||
|
|
||||||
56
index.html
Normal file
56
index.html
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<link rel="stylesheet" href="style.css" />
|
||||||
|
<title>Трекер привычек</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="header">
|
||||||
|
<h1 class="header__title">Трекер привычек</h1>
|
||||||
|
<p class="header__description">Становись лучше каждый день</p>
|
||||||
|
</header>
|
||||||
|
<main class="main-content">
|
||||||
|
<section class="about">
|
||||||
|
<h2 class="about__title">О чем этот проект</h2>
|
||||||
|
<p class="about__description">Этот трекер поможет тебе:</p>
|
||||||
|
<ul class="about__list">
|
||||||
|
<li>✅ Отслеживать свои привычки</li>
|
||||||
|
<li>Видеть свой прогресс</li>
|
||||||
|
<li>Достигать поставленных целей</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<section class="habits-examples">
|
||||||
|
<h2 class="habits-examples__title">
|
||||||
|
Примеры привычек для отслеживания
|
||||||
|
</h2>
|
||||||
|
<div class="habit-card habit-card--completed">
|
||||||
|
<h3 class="habit-card__title">Пить воду</h3>
|
||||||
|
<p class="habit-card__description">8 стаканов воды в день для поддержания водного баланса и здоровья организма</p>
|
||||||
|
</div>
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3 class="habit-card__title">Пить воду</h3>
|
||||||
|
<p class="habit-card__description">8 стаканов воды в день для поддержания водного баланса и здоровья организма</p>
|
||||||
|
</div>
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3 class="habit-card__title">Пить воду</h3>
|
||||||
|
<p class="habit-card__description">8 стаканов воды в день для поддержания водного баланса и здоровья организма</p>
|
||||||
|
</div>
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3 class="habit-card__title">Пить воду</h3>
|
||||||
|
<p class="habit-card__description">8 стаканов воды в день для поддержания водного баланса и здоровья организма</p>
|
||||||
|
</div>
|
||||||
|
<div class="habit-card">
|
||||||
|
<h3 class="habit-card__title">Пить воду</h3>
|
||||||
|
<p class="habit-card__description">8 стаканов воды в день для поддержания водного баланса и здоровья организма</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<footer class="footer">
|
||||||
|
<p>© 2024 Мой трекер привычек. Сделано с ❤️ для вашего развития</p>
|
||||||
|
</footer>
|
||||||
|
<script src="app.js"></script>
|
||||||
|
<script src="habit-manager.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
112
style.css
Normal file
112
style.css
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: "Arial", sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #333;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
background-color: #45a049;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
padding: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__title {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__description {
|
||||||
|
margin: 10px 0 0 0;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-content {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
padding: 20px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-left: 5px solid #4caf50;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__title {
|
||||||
|
color: #2c3e50;
|
||||||
|
border-bottom: 2px solid #4caf50;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habits-examples h2 {
|
||||||
|
color: #333;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habits-examples h2::after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: 100px;
|
||||||
|
background-color: #45a049;
|
||||||
|
margin: 10px auto;
|
||||||
|
height: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habits-examples-line {
|
||||||
|
display: block;
|
||||||
|
width: 100px;
|
||||||
|
height: 3px;
|
||||||
|
background-color: #45a049;
|
||||||
|
margin-left: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.habit-card {
|
||||||
|
background: white;
|
||||||
|
border: 2px solid #e0e0e0;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 15px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card--completed {
|
||||||
|
border: 2px solid #4caf50;;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card p {
|
||||||
|
margin: 0;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card h3 {
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
color: #4caf50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.habit-card:hover {
|
||||||
|
transform: translateY(-5px);
|
||||||
|
box-shadow: 0 5px 20px rgba(0,0,0,0.15);
|
||||||
|
border-color: #4caf50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
background-color: #333;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
padding: 20px;
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user