File size: 4,168 Bytes
70b7901
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>PoolCheck Pro - Attendant Tracker</title>
  <script src="https://cdn.tailwindcss.com"></script>
  <script src="https://unpkg.com/lucide@latest"></script>
  <style>
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
    body { font-family: 'Inter', sans-serif; }
    ::-webkit-scrollbar { width: 8px; }
    ::-webkit-scrollbar-track { background: #f1f5f9; }
    ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
    ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
    .animate-fade-in { animation: fadeIn 0.4s ease-out; }
    @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
    @media print {
      .no-print { display: none !important; }
      body { background: white; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
      #app { display: none !important; }
      #report-modal { position: static !important; display: block !important; overflow: visible !important; }
      #report-modal > div { display: block !important; position: static !important; }
      #report-modal .absolute.inset-0.bg-black\\/50 { display: none !important; }
    }
  </style>
</head>
<body class="bg-slate-50 text-slate-800 min-h-screen flex flex-col">

  <!-- Navbar -->
  <nav class="bg-white/90 backdrop-blur border-b border-slate-200 sticky top-0 z-40 no-print">
    <div class="max-w-6xl mx-auto px-4 h-16 flex items-center justify-between">
      <div class="flex items-center gap-2 font-bold text-xl text-cyan-700 cursor-pointer" onclick="navigate('dashboard')">
        <i data-lucide="waves"></i> PoolCheck Pro
      </div>
      <div class="flex items-center gap-1 bg-slate-100 p-1 rounded-lg">
        <button onclick="navigate('dashboard')" id="nav-dashboard" class="nav-btn px-4 py-1.5 rounded-md text-sm font-medium transition">Dashboard</button>
        <button onclick="navigate('checklist')" id="nav-checklist" class="nav-btn px-4 py-1.5 rounded-md text-sm font-medium transition">Checklist</button>
      </div>
    </div>
  </nav>

  <!-- Main Content -->
  <main id="app" class="flex-1"></main>

  <!-- Report Modal -->
  <div id="report-modal" class="fixed inset-0 z-50 hidden">
    <div class="absolute inset-0 bg-black/50 backdrop-blur-sm no-print" onclick="closeReport()"></div>
    <div class="absolute inset-x-0 bottom-0 md:inset-0 md:flex md:items-center md:justify-center pointer-events-none">
      <div class="bg-white w-full md:w-[850px] md:h-[92vh] h-[90vh] rounded-t-2xl md:rounded-2xl shadow-2xl flex flex-col pointer-events-auto overflow-hidden">
        <div class="p-4 border-b border-slate-100 flex items-center justify-between no-print">
          <h3 class="font-bold text-lg flex items-center gap-2"><i data-lucide="file-text"></i> Generated Report</h3>
          <div class="flex gap-2">
            <button onclick="window.print()" class="bg-cyan-600 hover:bg-cyan-700 text-white px-4 py-2 rounded-lg text-sm font-medium flex items-center gap-2 transition">
              <i data-lucide="printer"></i> Print / Save PDF
            </button>
            <button onclick="closeReport()" class="bg-slate-100 hover:bg-slate-200 text-slate-700 px-4 py-2 rounded-lg text-sm font-medium transition">
              Close
            </button>
          </div>
        </div>
        <div id="report-content" class="flex-1 overflow-y-auto p-6 md:p-10 bg-white"></div>
      </div>
    </div>
  </div>

  <!-- Toast Notification -->
  <div id="toast" class="fixed bottom-4 right-4 bg-slate-800 text-white px-4 py-3 rounded-xl shadow-lg transform translate-y-20 opacity-0 transition-all duration-300 z-50 flex items-center gap-3 no-print">
    <i data-lucide="check-circle" class="text-emerald-400 w-5 h-5"></i>
    <span id="toast-msg" class="text-sm font-medium">Saved</span>
  </div>

  <script src="app.js"></script>
  <script>lucide.createIcons();</script>
<script src="https://deepsite.hf.co/deepsite-badge.js"></script>
</body>
</html>