med-reminder/index.html

94 lines
3.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Напоминание о лекарствах</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>
:root{--ink:#0F1218;--cyan:#00E5FF;--green:#22c55e;--orange:#f59e0b;--red:#ef4444;--white:#fff;--gray-500:#5B6573;--gray-100:#F2F4F7}
*{box-sizing:border-box;margin:0;padding:0}
body{font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;color:var(--ink);background:var(--gray-100);min-height:100vh}
.card{background:white;border-radius:12px;padding:20px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
.time-block{border-left:4px solid var(--cyan);padding-left:16px;margin-bottom:20px}
.time-block.active{border-left-color:var(--green);background:#f0fdf4;border-radius:0 8px 8px 0}
.time-block.past{border-left-color:var(--gray-500);opacity:0.6}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--gray-100);padding:6px 12px;border-radius:20px;font-size:13px;margin:4px}
.pill.taken{background:#dcfce7;color:#166534;text-decoration:line-through}
.pill.current{background:#fef3c7;color:#92400e;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}
.btn{display:inline-block;padding:12px 24px;border-radius:8px;font-weight:600;border:none;cursor:pointer;font-size:15px}
.btn-primary{background:var(--cyan);color:var(--ink)}
.btn-success{background:var(--green);color:white}
.btn-danger{background:var(--red);color:white}
.btn-outline{background:transparent;border:2px solid var(--ink);color:var(--ink)}
.status-bar{position:fixed;bottom:0;left:0;right:0;background:white;padding:12px 20px;box-shadow:0 -2px 10px rgba(0,0,0,0.1);z-index:100}
.hidden{display:none!important}
</style>
</head>
<body>
<div class="max-w-2xl mx-auto p-4 pb-24">
<!-- HEADER -->
<div class="text-center mb-6">
<h1 class="text-2xl font-bold mb-2">💊 Мои лекарства</h1>
<p class="text-gray-500" id="current-time"></p>
</div>
<!-- NOTIFICATION STATUS -->
<div class="card" id="notification-card">
<div class="flex items-center justify-between">
<div>
<p class="font-semibold">🔔 Уведомления</p>
<p class="text-sm text-gray-500" id="notif-status">Проверяем...</p>
</div>
<button onclick="requestNotificationPermission()" class="btn btn-primary text-sm" id="notif-btn">Включить</button>
</div>
</div>
<!-- NEXT REMINDER -->
<div class="card bg-gradient-to-r from-cyan-50 to-blue-50 border border-cyan-200" id="next-reminder">
<p class="text-sm text-gray-500 mb-1">Следующий приём:</p>
<p class="font-bold text-lg" id="next-med-name">Загрузка...</p>
<p class="text-sm" id="next-med-time"></p>
</div>
<!-- TODAY SCHEDULE -->
<h2 class="font-bold text-lg mb-3 mt-6">📋 Расписание на сегодня</h2>
<div id="schedule"></div>
<!-- STATS -->
<div class="card mt-4">
<div class="flex justify-between items-center">
<div>
<p class="text-sm text-gray-500">Принято сегодня</p>
<p class="font-bold text-xl" id="taken-count">0 / 0</p>
</div>
<div class="w-32">
<div class="h-3 bg-gray-200 rounded-full overflow-hidden">
<div class="h-full bg-green-500 transition-all" id="progress-bar" style="width:0%"></div>
</div>
</div>
</div>
</div>
<!-- QUICK ACTIONS -->
<div class="flex gap-2 mt-4 flex-wrap">
<button onclick="markAllCurrentAsTaken()" class="btn btn-success">✅ Принял текущее</button>
<button onclick="resetDay()" class="btn btn-outline text-sm">🔄 Сбросить день</button>
</div>
</div>
<!-- FLOATING STATUS BAR -->
<div class="status-bar">
<div class="max-w-2xl mx-auto flex justify-between items-center">
<span class="text-sm" id="status-text">Загрузка...</span>
<span class="text-sm font-semibold text-green-600" id="next-in"></span>
</div>
</div>
<script src="script.js"></script>
</body>
</html>