PageSourceSearch

https://athletica-officiate-cf1da7fe.base44.app/login

html athletica-officiate-cf1da7fe.base44.app collected 2026-10-03 05:32:52 UTC 21,557 bytes, 386 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  
4<script>
5   self["MonacoEnvironment"] = (function (paths) {
6          return {
7            globalAPI: false,
8            getWorkerUrl : function (moduleId, label) {
9              var result =  paths[label];
10              if (/^((http:)|(https:)|(file:)|(\/\/))/.test(result)) {
11                var currentUrl = String(window.location);
12                var currentOrigin = currentUrl.substr(0, currentUrl.length - window.location.hash.length - window.location.search.length - window.location.pathname.length);
13                if (result.substring(0, currentOrigin.length) !== currentOrigin) {
14                  var js = '/*' + label + '*/importScripts("' + result + '");';
15                  var blob = new Blob([js], { type: 'application/javascript' });
16                  return URL.createObjectURL(blob);
17                }
18              }
19              return result;
20            }
21          };
22        })({
23  "editorWorkerService": "/monacoeditorwork/editor.worker.bundle.js",
24  "typescript": "/monacoeditorwork/ts.worker.bundle.js",
25  "json": "/monacoeditorwork/json.worker.bundle.js",
26  "css": "/monacoeditorwork/css.worker.bundle.js",
27  "html": "/monacoeditorwork/html.worker.bundle.js",
28  "javascript": "/monacoeditorwork/ts.worker.bundle.js",
29  "less": "/monacoeditorwork/css.worker.bundle.js",
30  "scss": "/monacoeditorwork/css.worker.bundle.js",
31  "handlebars": "/monacoeditorwork/html.worker.bundle.js",
32  "razor": "/monacoeditorwork/html.worker.bundle.js"
33});
34  </script>
34
35  <!-- Runtime config — must execute before the Vite module scripts read
36         window.__APP_CONFIG__. `defer` keeps that order (deferred classic
37         scripts and module scripts run in document order after parsing) while
38         unblocking the HTML parser, so asset preloads start immediately
39         instead of stalling ~160ms (p75) on this API round trip.
40         Back on the .js path: Render's extension-keyed edge cache rule twice
41         pinned a wrong body under this URL despite `no-store` (2026-08-20 and
42         2026-08-24); Render has since removed that cache rule for us, so the
43         suffix is safe again. If poisoning recurs: bump the `?v=` cache key,
44         or switch the src to the extension-less /api/frontend-config route
45         (kept serving as an escape hatch). -->
46  
46<script defer="" src="/api/frontend-config.js?v=3">
47  </script>
47
48  <!-- Usercentrics CMP -->
49  
49<script type="application/javascript">
50   var isBypassEnabled = document.cookie.split(';').some(function(cookie) {
51        return cookie.trim().indexOf('no_cmp=') === 0;
52      });
53      var UC_UI_SUPPRESS_CMP_DISPLAY = isBypassEnabled;
54  </script>
54
55  
55<script async="" src="https://accounts.google.com/gsi/client">
56  </script>
56
57  <meta charset="utf-8"/>
58  <!-- Platform favicon: a real multi-size ICO (16/32/48) of the current sun
59         mark, served from public/. This is the ONLY rel="icon" link, and it
60         must stay that way — App.js rewrites the first match for backoffice.
61         Crawlers and link scrapers read this tag (and probe /favicon.ico
62         directly) with no JS, so the brand has to be correct statically. -->
63  <link href="https://media.base44.com/images/public/6992bd1bf436375ccf1da7fe/f09c5651d_logo.png" rel="icon" sizes="any"/>
64  
64<script>
65   // Pre-paint theme stamp for the demo Appearance (demo-appearance-themes)
66      // cohort: on a hard load the theme is applied by React (DemoThemeApplier)
67      // only after auth resolves, so the document boots light — a white flash,
68      // then light route skeletons (the FOUC this removes). DemoThemeApplier
69      // persists 'demo-display-theme-applied' only while the feature is active,
70      // so every other cohort (flag-off, native, backoffice, runtime apps)
71      // never sets it and this stays a no-op. React stays the source of truth
72      // after mount: DemoThemeApplier
73      // re-applies or clears these exact attributes. Keys must stay byte-identical
74      // with components/settings/useDemoTheme.ts — BOOT_STAMP_CONTRACT there is
75      // asserted against this file by useDemoTheme.spec.ts, so update both.
76      //
77      // Kill-switch caveat: the marker is written while the feature is active and
78      // only cleared once /me resolves. On the FIRST load after a user loses the
79      // flag — or after the kill switch is flipped mid-incident — this still
80      // stamps dark, then React settles to light: one dark→light flash, which
81      // self-heals from the next load on. Flipping the switch does not repaint
82      // already-open tabs pre-paint; it collapses them on their next load.
83      try {
84        if (localStorage.getItem('demo-display-theme-applied') === '1') {
85          var demoTheme = localStorage.getItem('demo-display-theme');
86          var demoDark = demoTheme === 'dark' ||
87            (demoTheme === 'system' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches);
88          if (demoDark) {
89            var demoRoot = document.documentElement;
90            demoRoot.setAttribute('data-ds', 'base44');
91            demoRoot.setAttribute('data-theme', 'dark');
92            demoRoot.classList.add('dark');
93            // Kill the pre-CSS white document flash; the app paints over it.
94            demoRoot.style.backgroundColor = '#09090b';
95          }
96        }
97      } catch (e) {}
98  </script>
98
99  <meta content="width=device-width, initial-scale=1.0, viewport-fit=cover" name="viewport"/>
100  <meta content="#000000" name="theme-color"/>
101  <meta content="A platform for managing sports referees, team assignments, and match schedules. " name="description"/>
102  <meta content="yes" name="mobile-web-app-capable"/>
103  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
104  <meta content="Officiate" name="apple-mobile-web-app-title"/>
105  <link href="https://media.base44.com/images/public/6992bd1bf436375ccf1da7fe/f09c5651d_logo.png" rel="apple-touch-icon" sizes="180x180"/>
106  <link href="https://athletica-officiate-cf1da7fe.base44.app/manifest.json" rel="manifest"/>
107  <title>
108   Officiate
109  </title>
110  <!-- Open Graph / Facebook -->
111  <meta content="website" property="og:type"/>
112  <meta content="https://athletica-officiate-cf1da7fe.base44.app/login" property="og:url"/>
113  <meta content="Officiate" property="og:title"/>
114  <meta content="Officiate" property="og:site_name"/>
115  <meta content="A platform for managing sports referees, team assignments, and match schedules. " property="og:description"/>
116  <meta content="https://media.base44.com/images/public/6992bd1bf436375ccf1da7fe/f09c5651d_logo.png/v1/fill/w_1200,h_630/f09c5651d_logo.png" property="og:image"/>
117  <meta content="1200" property="og:image:width"/>
118  <meta content="630" property="og:image:height"/>
119  <meta content="Base44 link preview" property="og:image:alt"/>
120  <!-- Twitter -->
121  <meta content="summary_large_image" name="twitter:card"/>
122  <meta content="https://athletica-officiate-cf1da7fe.base44.app/login" name="twitter:url"/>
123  <meta content="Officiate" name="twitter:title"/>
124  <meta content="A platform for managing sports referees, team assignments, and match schedules. " name="twitter:description"/>
125  <meta content="https://media.base44.com/images/public/6992bd1bf436375ccf1da7fe/f09c5651d_logo.png/v1/fill/w_1200,h_630/f09c5651d_logo.png" name="twitter:image"/>
126  <meta content="Base44 link preview" name="twitter:image:alt"/>
127  
127<script crossorigin="" src="/static/index-D96eRrlv.js" type="module">
128  </script>
128
129  <link crossorigin="" href="/static/rolldown-runtime-C0FnF6B9.js" rel="modulepreload"/>
130  <link crossorigin="" href="/static/runtime-QtgwY_nV.js" rel="modulepreload"/>
131  <link crossorigin="" href="/static/backend-CC2lXJt_.js" rel="modulepreload"/>
132  <link crossorigin="" href="/static/vendor-react-Ccu8BlQU.js" rel="modulepreload"/>
133  <link crossorigin="" href="/static/preload-helper-BZ1Pz5am.js" rel="modulepreload"/>
134  <link crossorigin="" href="/static/vendor-data-D4IPhVFk.js" rel="modulepreload"/>
135  <link crossorigin="" href="/static/errorReporting-C8KVtz7O.js" rel="modulepreload"/>
136  <link crossorigin="" href="/static/i18n-pkgydE_c.js" rel="modulepreload"/>
137  <link crossorigin="" href="/static/vendor-utils-C8Ev1Z53.js" rel="modulepreload"/>
138  <link crossorigin="" href="/static/mixpanelUtils-CtEUaRBr.js" rel="modulepreload"/>
139  <link crossorigin="" href="/static/bridge-Cq_Szqk4.js" rel="modulepreload"/>
140  <link crossorigin="" href="/static/axiosClient-DnVO32-R.js" rel="modulepreload"/>
141  <link crossorigin="" href="/static/domainValidation-FMKryCR2.js" rel="modulepreload"/>
142  <link crossorigin="" href="/static/vendor-ui-C97dD7rv.js" rel="modulepreload"/>
143  <link crossorigin="" href="/static/base-DLGBKAFy.js" rel="modulepreload"/>
144  <link crossorigin="" href="/static/AuthAPI-C4-6oDY6.js" rel="modulepreload"/>
145  <link crossorigin="" href="/static/useDesignSystem-CehPfIkU.js" rel="modulepreload"/>
146  <link crossorigin="" href="/static/logoutReturnPath-HjtsxsFd.js" rel="modulepreload"/>
147  <link crossorigin="" href="/static/AuthContext-BwFq1txD.js" rel="modulepreload"/>
148  <link crossorigin="" href="/static/dist-XEn2s_wS.js" rel="modulepreload"/>
149  <link crossorigin="" href="/static/featureFlags-DkMoeXMw.js" rel="modulepreload"/>
150  <link crossorigin="" href="/static/useHideNativeBottomTabs-C_i-vpDp.js" rel="modulepreload"/>
151  <link crossorigin="" href="/static/native-mobile-app-DhQk5gto.js" rel="modulepreload"/>
152  <link crossorigin="" href="/static/prop-types-D9WxI36-.js" rel="modulepreload"/>
153  <link crossorigin="" href="/static/esm-BcdKrTNz.js" rel="modulepreload"/>
154  <link crossorigin="" href="/static/use-mobile-CaU875wk.js" rel="modulepreload"/>
155  <link crossorigin="" href="/static/create-zustand-store-BANj7DdM.js" rel="modulepreload"/>
156  <link crossorigin="" href="/static/persist-to-storage-BFlqrUp_.js" rel="modulepreload"/>
157  <link crossorigin="" href="/static/actions.middleware-D_eRWZoy.js" rel="modulepreload"/>
158  <link crossorigin="" href="/static/WorkspaceAPI-NXczXWIe.js" rel="modulepreload"/>
159  <link crossorigin="" href="/static/useWorkspaceUnlockState-CC8XdN-l.js" rel="modulepreload"/>
160  <link crossorigin="" href="/static/WorkspaceContext-SU9dVSL0.js" rel="modulepreload"/>
161  <link crossorigin="" href="/static/usePlatform-C2eTT50O.js" rel="modulepreload"/>
162  <link crossorigin="" href="/static/react-BanELCRV.js" rel="modulepreload"/>
163  <link crossorigin="" href="/static/useFeatureFlags-BRZVRkZF.js" rel="modulepreload"/>
164  <link crossorigin="" href="/static/utils-CrD3uvwO.js" rel="modulepreload"/>
165  <link crossorigin="" href="/static/toast-8IacIur2.js" rel="modulepreload"/>
166  <link crossorigin="" href="/static/index-BGSEU5bQ.css" rel="stylesheet"/>
167  
167<script id="base44-runtime-tailwind-config">
168   window.tailwind = window.tailwind || {}; window.tailwind.config = { darkMode: 'class' };
169  </script>
169
170  
170<script id="base44-runtime-tailwind-cdn" src="https://cdn.tailwindcss.com">
171  </script>
171
172  
172<script>
173   (function () {
174  var titles = {"/accountsettings": "Account Settings | Athletica Officiate", "/account-settings": "Account Settings | Athletica Officiate", "/availability": "Availability | Athletica Officiate", "/notifications": "Notifications | Athletica Officiate", "/performance": "Performance | Athletica Officiate", "/scheduling": "Scheduling | Athletica Officiate", "/team-dashboard": "Team Dashboard | Athletica Officiate", "/teamdashboard": "Team Dashboard | Athletica Officiate", "/testsetup": "Test Setup | Athletica Officiate", "/test-setup": "Test Setup | Athletica Officiate", "/login": "Login | Officiate", "/register": "Register | Officiate", "/forgot-password": "Forgot Password | Officiate", "/reset-password": "Reset Password | Officiate", "/": "Officiate", "/events": "Events | Officiate", "/smartimport": "Smart Import | Officiate", "/smart-import": "Smart Import | Officiate", "/account": "Account | Officiate", "/display-preferences": "Display Preferences | Officiate", "/displaypreferences": "Display Preferences | Officiate", "/dashboard-preferences": "Dashboard Preferences | Officiate", "/dashboardpreferences": "Dashboard Preferences | Officiate", "/notificationpreferences": "Notification Preferences | Officiate", "/notification-preferences": "Notification Preferences | Officiate", "/parent-connect": "Parent Connect | Officiate", "/parentconnect": "Parent Connect | Officiate", "/privacypreferences": "Privacy Preferences | Officiate", "/privacy-preferences": "Privacy Preferences | Officiate", "/home": "Officiate"};
175  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
176  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
177  var dashed = function (s) {
178    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
179  };
180  var decode = function (s) {
181    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
182    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
183    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
184  };
185  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
186  var norm = function (path) {
187    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
188    return parts.length ? "/" + parts.join("/") : "/";
189  };
190  var lastPath = location.pathname, written = document.title, on = true;
191  var sync = function () {
192    // Path only: a hash/query change is the same page, and the SDK strips its own auth
193    // params with replaceState -- neither must clobber a server-rendered title in place.
194    if (!on || location.pathname === lastPath) return;
195    lastPath = location.pathname;
196    if (document.title !== written) { on = false; return; }
197    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
198    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
199    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
200    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
201    // a redirect landing on an unmapped path would bake the placeholder into the stored
202    // snapshot. Leaving the title alone degrades to today's behavior instead.
203    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
204    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
205    // dashes there, and the client cannot tell the two apart. The map emits every reachable
206    // shape per segment instead (_client_url_variants).
207    var title = titles[norm(location.pathname)];
208    if (title === undefined) return;
209    document.title = title;
210    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
211    // keeping the assigned string would make the next sync() read our own write as the app's.
212    written = document.title;
213  };
214  var wrap = function (fn) {
215    // The history entry is already pushed by the time sync() runs, so a throw here would
216    // surface inside the host app's router and break navigation. This is injected into apps
217    // we cannot test, so it swallows rather than trusting the trace.
218    return function () {
219      var r = fn.apply(this, arguments);
220      try { sync(); } catch (e) {}
221      return r;
222    };
223  };
224  history.pushState = wrap(history.pushState);
225  history.replaceState = wrap(history.replaceState);
226  window.addEventListener("popstate", sync);
227})();
228  </script>
228
229  <link href="https://athletica-officiate-cf1da7fe.base44.app/login" rel="canonical"/>
230  
230<script data-seo-source="builder" type="application/ld+json">
231   {"name": "Athletica Officiate", "@context": "https://schema.org", "@type": "WebSite", "url": "https://officiate.athletica-fit.com"}
232  </script>
232
233  
233<script data-seo-source="builder" type="application/ld+json">
234   {"name": "Athletica Officiate", "logo": "https://media.base44.com/images/public/6992bd1bf436375ccf1da7fe/91149de68_Appmysiteofficiate.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://officiate.athletica-fit.com"}
235  </script>
235
236  
236<script data-seo-source="builder" type="application/ld+json">
237   {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://athletica-officiate-cf1da7fe.base44.app/"}, {"@type": "ListItem", "position": 2, "name": "Login | Officiate", "item": "https://athletica-officiate-cf1da7fe.base44.app/login"}]}
238  </script>
238
239  <meta content="noindex, follow" name="robots"/>
240 </head>
241 <body>
242  <noscript>
243   You need to enable JavaScript to run this app.
244  </noscript>
245  <div id="root">
246   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
247    <main>
248     <header>
249      <h1>
250       Officiate
251      </h1>
252      <p>
253       A platform for managing sports referees, team assignments, and match schedules.
254      </p>
255     </header>
256     <nav aria-label="Pages">
257      <h2>
258       Pages
259      </h2>
260      <ul>
261       <li>
262        <a href="/">
263         Home
264        </a>
265       </li>
266       <li>
267        <a href="/AccountSettings">
268         Account Settings
269        </a>
270        — Account Settings on Athletica Officiate. A platform for managing sports referees, team assignments, and match schedules.
271       </li>
272       <li>
273        <a href="/Availability">
274         Availability
275        </a>
276        — Availability on Athletica Officiate. A platform for managing sports referees, team assignments, and match schedules.
277       </li>
278       <li>
279        <a href="/Notifications">
280         Notifications
281        </a>
282        — Notifications on Athletica Officiate. A platform for managing sports referees, team assignments, and match schedules.
283       </li>
284       <li>
285        <a href="/Performance">
286         Performance
287        </a>
288        — Performance on Athletica Officiate. A platform for managing sports referees, team assignments, and match schedules.
289       </li>
290       <li>
291        <a href="/Scheduling">
292         Scheduling
293        </a>
294        — Scheduling on Athletica Officiate. A platform for managing sports referees, team assignments, and match schedules.
295       </li>
296       <li>
297        <a href="/TeamDashboard">
298         Team Dashboard
299        </a>
300        — Team Dashboard on Athletica Officiate. A platform for managing sports referees, team assignments, and match schedules.
301       </li>
302       <li>
303        <a href="/TestSetup">
304         Test Setup
305        </a>
306        — Test Setup on Athletica Officiate. A platform for managing sports referees, team assignments, and match schedules.
307       </li>
308       <li>
309        <a href="/login">
310         Login
311        </a>
312        — Login on Officiate. A platform for managing sports referees, team assignments, and match schedules.
313       </li>
314       <li>
315        <a href="/register">
316         Register
317        </a>
318        — Register on Officiate. A platform for managing sports referees, team assignments, and match schedules.
319       </li>
320       <li>
321        <a href="/forgot-password">
322         Forgot Password
323        </a>
324        — Forgot Password on Officiate. A platform for managing sports referees, team assignments, and match schedules.
325       </li>
326       <li>
327        <a href="/reset-password">
328         Reset Password
329        </a>
330        — Reset Password on Officiate. A platform for managing sports referees, team assignments, and match schedules.
331       </li>
332       <li>
333        <a href="/Events">
334         Events
335        </a>
336        — Events on Officiate. A platform for managing sports referees, team assignments, and match schedules.
337       </li>
338       <li>
339        <a href="/SmartImport">
340         Smart Import
341        </a>
342        — Smart Import on Officiate. A platform for managing sports referees, team assignments, and match schedules.
343       </li>
344       <li>
345        <a href="/Account">
346         Account
347        </a>
348        — Account on Officiate. A platform for managing sports referees, team assignments, and match schedules.
349       </li>
350       <li>
351        <a href="/DisplayPreferences">
352         Display Preferences
353        </a>
354        — Display Preferences on Officiate. A platform for managing sports referees, team assignments, and match schedules.
355       </li>
356       <li>
357        <a href="/DashboardPreferences">
358         Dashboard Preferences
359        </a>
360        — Dashboard Preferences on Officiate. A platform for managing sports referees, team assignments, and match sc
360hedules.
361       </li>
362       <li>
363        <a href="/NotificationPreferences">
364         Notification Preferences
365        </a>
366        — Notification Preferences on Officiate. A platform for managing sports referees, team assignments, and match schedules.
367       </li>
368       <li>
369        <a href="/ParentConnect">
370         Parent Connect
371        </a>
372        — Parent Connect on Officiate. A platform for managing sports referees, team assignments, and match schedules.
373       </li>
374       <li>
375        <a href="/PrivacyPreferences">
376         Privacy Preferences
377        </a>
378        — Privacy Preferences on Officiate. A platform for managing sports referees, team assignments, and match schedules.
379       </li>
380      </ul>
381     </nav>
382    </main>
383   </div>
384  </div>
385 </body>
386</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.