PageSourceSearch

https://drivingschoolbooking.netlify.app/

html drivingschoolbooking.netlify.app collected 2026-10-03 10:39:57 UTC 5,965 bytes, 126 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <meta charset="UTF-8" />
5<!-- This site is hosted on Netlify. Anyone can build and deploy a site
6     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=a97b9951-3642-4289-9cde-2b1e50112b10
7     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
8    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
9    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
10    <title>DriveWell — Premium Driving School & Lesson Booking</title>
11    <meta name="description" content="Learn to drive with confidence. Book professional driving lessons with certified instructors. Beginner, standard, highway, parking, and road test preparation." />
12    <link rel="preconnect" href="https://fonts.googleapis.com" />
13    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
14    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
15    <style>
16      html, body, #root { height: 100%; margin: 0; }
17      body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #f7f8fb; color: #0f1622; }
18      /* Initial splash shown before React mounts — replaced as soon as React renders. */
19      #boot-splash {
20        position: fixed; inset: 0; display: grid; place-items: center;
21        background: linear-gradient(180deg, #ffffff 0%, #f7f8fb 100%);
22      }
23      #boot-splash .inner { text-align: center; }
24      #boot-splash .logo {
25        display: inline-flex; align-items: center; gap: 10px;
26        font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
27        font-weight: 800; letter-spacing: -0.02em; font-size: 18px; color: #0f1622;
28      }
29      #boot-splash .badge {
30        width: 36px; height: 36px; border-radius: 12px;
31        background: linear-gradient(135deg, #1934b3, #0c1e5e, #070b13);
32        display: grid; place-items: center; color: #fbcb4d;
33      }
34      #boot-splash .ring {
35        width: 28px; height: 28px; margin: 18px auto 0;
36        border: 2px solid rgba(15,22,34,0.12); border-top-color: #1934b3;
37        border-radius: 999px; animation: spin 0.8s linear infinite;
38      }
39      #boot-splash .hint { margin-top: 14px; font-size: 12px; color: #5a6a83; }
40      @keyframes spin { to { transform: rotate(360deg); } }
41
42      /* Global error overlay — only shown if window.onerror fires before React boots. */
43      #boot-error {
44        position: fixed; inset: 0; padding: 24px; overflow: auto;
45        background: #f7f8fb; display: none; z-index: 9999;
46      }
47      #boot-error .panel {
48        max-width: 640px; margin: 48px auto; background: #ffffff;
49        border: 1px solid #eceef3; border-radius: 24px; padding: 28px;
50        box-shadow: 0 24px 48px -16px rgba(15,22,34,0.18);
51      }
52      #boot-error h1 {
53        font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
54        font-size: 22px; font-weight: 800; margin: 12px 0 6px; color: #0f1622;
55      }
56      #boot-error p { font-size: 14px; color: #465268; margin: 0 0 14px; }
57      #boot-error pre {
58        background: #070b13; color: #a7f3d0; padding: 12px 14px;
59        border-radius: 12px; font-size: 11px; overflow: auto; max-height: 220px;
60        margin: 0 0 14px;
61      }
62      #boot-error button {
63        background: #0f1622; color: #fff; border: 0; border-radius: 999px;
64        padding: 10px 18px; font-weight: 600; cursor: pointer;
65      }
66      #boot-error .pill {
67        display: inline-block; padding: 4px 10px; border-radius: 999px;
68        background: #fff1f2; color: #be123c; font-size: 11px; font-weight: 700;
69        text-transform: uppercase; letter-spacing: 0.06em;
70      }
71    </style>
72    
72<script type="module" crossorigin src="/assets/index-D-BY_MX7.js"></script>
72
73    <link rel="stylesheet" crossorigin href="/assets/index-BBYCEh5j.css">
74  </head>
75  <body>
76    <div id="root">
77      <div id="boot-splash">
78        <div class="inner">
79          <div class="logo">
80            <span class="badge">
81              <svg viewBox="0 0 32 32" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
82                <circle cx="16" cy="16" r="9" />
83                <path d="M16 7v3M16 22v3M7 16h3M22 16h3" />
84                <circle cx="16" cy="16" r="2.5" fill="currentColor" />
85              </svg>
86            </span>
87            DriveWell
88          </div>
89          <div class="ring" aria-hidden="true"></div>
90          <div class="hint">Loading your driving school workspace…</div>
91        </div>
92      </div>
93    </div>
94
95    <div id="boot-error" role="alert">
96      <div class="panel">
97        <span class="pill">Boot error</span>
98        <h1>The app couldn't start.</h1>
99        <p>An error occurred before the page finished loading. Try a hard refresh (Cmd-Shift-R / Ctrl-Shift-R) to clear cached JS. If the error keeps showing, the message below will help diagnose it.</p>
100        <pre id="boot-error-msg"></pre>
101        <button onclick="window.location.reload()">Reload page</button>
102      </div>
103    </div>
104
105    
105<script>
106      (function () {
107        function showError(msg) {
108          var el = document.getElementById('boot-error');
109          var pre = document.getElementById('boot-error-msg');
110          if (el && pre) {
111            pre.textContent = String(msg || 'Unknown error');
112            el.style.display = 'block';
113          }
114        }
115        window.addEventListener('error', function (e) {
116          showError((e && (e.message || (e.error && e.error.stack))) || 'Script error');
117        });
118        window.addEventListener('unhandledrejection', function (e) {
119          var r = e && e.reason;
120          showError((r && (r.stack || r.message)) || r || 'Unhandled promise rejection');
121        });
122      })();
123    </script>
123
124
125  </body>
126</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.