1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /> 6 <title>Easycountdown</title> 7 <meta name="description" content="A beautiful full-screen live countdown to any moment â shareable by link." /> 8 <meta name="theme-color" content="#0a0a0f" /> 9 10 <!-- Open Graph --> 11 <meta property="og:type" content="website" /> 12 <meta property="og:title" content="Easycountdown" /> 13 <meta property="og:description" content="A beautiful full-screen live countdown to any moment â shareable by link." /> 14 <meta property="og:image" content="/og-image.png" /> 15 16 <!-- Twitter --> 17 <meta name="twitter:card" content="summary_large_image" /> 18 <meta name="twitter:title" content="Easycountdown" /> 19 <meta name="twitter:description" content="A beautiful full-screen live countdown to any moment â shareable by link." /> 20 <meta name="twitter:image" content="/og-image.png" /> 21 22 <link rel="preconnect" href="https://fonts.googleapis.com" /> 23 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 24 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@500;700&display=swap" rel="stylesheet" /> 25 <link rel="stylesheet" href="style.css" /> 26</head> 27<body> 28 <main id="app"> 29 30 <!-- ===================== SETUP MODE ===================== --> 31 <section id="setup" class="screen" hidden> 32 <div class="setup-card"> 33 <h1 class="setup-title">Easycountdown</h1> 34 <p class="setup-sub">A simple and beautiful live countdown to any moment which you can easily share by a link.</p> 35 36 <form id="setup-form" autocomplete="off"> 37 <label class="field"> 38 <span class="field-label">Title <em>(optional)</em></span> 39 <input type="text" id="title-input" maxlength="80" placeholder="Launch Day, Vacation, New Yearâ¦" /> 40 </label> 41 42 <div class="field-row"> 43 <label class="field"> 44 <span class="field-label">Date</span> 45 <input type="date" id="date-input" required /> 46 </label> 47 <label class="field"> 48 <span class="field-label">Time</span> 49 <input type="time" id="time-input" required /> 50 </label> 51 </div> 52 53 <details class="presets-wrap"> 54 <summary>Quick presets</summary> 55 <div class="presets" id="presets"></div> 56 </details> 57 58 <button type="submit" class="primary-btn">Get shareable link â</button> 59 </form> 60 </div> 61 </section> 62 63 <!-- ===================== COUNTDOWN MODE ===================== --> 64 <section id="countdown" class="screen" hidden> 65 <div class="countdown-inner"> 66 <p id="cd-title" class="cd-title"></p> 67 <p id="cd-status" class="cd-status" hidden></p> 68 69 <div id="cd-grid" class="cd-grid"> 70 <div class="unit"><span class="num" id="days">0</span><span class="label">Days</span></div> 71 <div class="unit"><span class="num" id="hours">0</span><span class="label">Hours</span></div> 72 <div class="unit"><span class="num" id="minutes">0</span><span class="label">Minutes</span></div> 73 <div class="unit"><span class="num" id="seconds">0</span><span class="label">Seconds</span></div> 74 </div> 75 76 <div id="celebrate" class="celebrate" hidden> 77 <div class="celebrate-emoji">ð</div> 78 <div class="celebrate-text">It's here!</div> 79 </div> 80 81 <div class="cd-actions"> 82 <button type="button" id="copy-btn" class="ghost-btn">Copy link</button> 83 <button type="button" id="new-btn" class="ghost-btn">New countdown</button> 84 </div> 85 </div> 86 </section> 87 88 <footer class="footer"> 89 <a href="https://hotappsummer.netlify.app" target="_blank" rel="noopener">#HotAppSummer</a> 90 <span class="dot">·</span> 91 <a href="https://x.com/halfmage" target="_blank" rel="noopener">Built by @halfmage</a> 92 </footer> 93 </main> 94 95 <canvas id="confetti" aria-hidden="true"></canvas> 96
96<script src="script.js"></script>
96 97
97<script src="https://hotappsummer-widget.netlify.app/widget.js" data-builder="Gerrit" data-icon="avatar"></script>
97 98</body> 99</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.