80 lines
3.8 KiB
HTML
80 lines
3.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<title>Toadstool Cottage Counter</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;700&family=Quicksand:wght@400;600;700&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer">
|
|
<link rel="icon" href="assets/icons/favicon.ico">
|
|
<link rel="icon" type="image/png" sizes="96x96" href="assets/icons/favicon-96x96.png">
|
|
<link rel="icon" type="image/svg+xml" href="assets/icons/favicon.svg">
|
|
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.png">
|
|
<link rel="manifest" href="assets/site.webmanifest">
|
|
<meta name="theme-color" content="#e4e8d5">
|
|
<link rel="stylesheet" href="assets/style.css">
|
|
</head>
|
|
<body>
|
|
|
|
<header>
|
|
<div class="brand">
|
|
<img class="brand-icon" src="assets/icons/favicon-96x96.png" alt="Toadstool Cottage Counter icon">
|
|
<h1 id="appTitle">Toadstool Cottage Counter</h1>
|
|
</div>
|
|
<div class="header-controls">
|
|
<button class="header-btn hidden" id="installBtn" title="Install app"><i class="fa-solid fa-download"></i></button>
|
|
<button class="header-btn" id="motionBtn" onclick="toggleAnimations()" title="Toggle Animations"><i class="fa-solid fa-wand-magic-sparkles"></i></button>
|
|
<button class="header-btn" id="themeBtn" onclick="toggleTheme()" title="Toggle Dark Mode"><i class="fa-solid fa-moon"></i></button>
|
|
<button class="header-btn" id="focusBtn" onclick="toggleFocusMode()" title="Focus Mode (Keeps Screen On)"><i class="fa-solid fa-eye"></i></button>
|
|
<button class="header-btn" id="saveLoadBtn" onclick="openSaveModal()" title="Save/Load"><i class="fa-solid fa-floppy-disk"></i></button>
|
|
</div>
|
|
</header>
|
|
<input type="file" id="importFile" accept="application/json" class="hidden-input" />
|
|
|
|
<div class="container" id="app"></div>
|
|
|
|
<button class="fab" onclick="openModal('addProject')">+</button>
|
|
|
|
<div class="modal-overlay" id="modalOverlay">
|
|
<div class="modal-content">
|
|
<h3 class="modal-title" id="modalTitle">Title</h3>
|
|
<input type="text" class="modal-input" id="modalInput" autocomplete="off">
|
|
<div class="modal-actions">
|
|
<button class="modal-btn btn-cancel" onclick="closeModal()">Cancel</button>
|
|
<button class="modal-btn btn-save" onclick="saveModal()">Save</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="color-overlay" id="colorOverlay">
|
|
<div class="color-modal">
|
|
<h3 class="color-title">Pick a color</h3>
|
|
<div class="color-grid" id="colorGrid"></div>
|
|
<div class="color-custom">
|
|
<label for="customColorInput">Custom:</label>
|
|
<input type="color" id="customColorInput" />
|
|
</div>
|
|
<button class="modal-btn btn-cancel" onclick="closeColorPicker()">Close</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="save-overlay" id="saveOverlay">
|
|
<div class="save-modal">
|
|
<h3 class="color-title">Save or Load</h3>
|
|
<p class="save-subtext">Choose projects to include:</p>
|
|
<div class="save-list" id="saveList"></div>
|
|
<div class="save-actions">
|
|
<button class="modal-btn btn-cancel" onclick="closeSaveModal()">Cancel</button>
|
|
<button class="modal-btn btn-save" onclick="exportSelected()">Save</button>
|
|
<button class="modal-btn btn-save" onclick="triggerImport()">Load</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="assets/app.js"></script>
|
|
<footer class="footer-bg" aria-hidden="true"></footer>
|
|
</body>
|
|
</html>
|