Files
id/apps/web/index.html

76 lines
4.3 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="robots" content="noindex" />
<!-- One icon link, and it starts empty: this file is served unchanged on every
identity host, so any default here would be one brand's icon on every
other brand's tab. `App.tsx` sets the href from the resolved brand.
There is no .ico and no apple-touch-icon, because the browser prefers
those over a typed SVG and they cannot follow the resolved brand. -->
<link id="favicon" rel="icon" type="image/svg+xml" href="data:," />
<title>Sign in</title>
<!-- Google Analytics 4 (G-EKBNQ969GE) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-EKBNQ969GE"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-EKBNQ969GE', {
linker: {
domains: ['hanzo.ai', 'hanzo.id', 'docs.hanzo.ai', 'hanzo.build', 'platform.hanzo.ai', 'pay.hanzo.ai', 'hanzo.app']
}
});
</script>
<!-- Meta Pixel (1790308611893001) -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1790308611893001');
fbq('track', 'PageView');
</script>
<!-- Hanzo Analytics — first-party privacy-preserving web analytics -->
<script defer src="https://analytics.hanzo.ai/script.js" data-website-id="a323a8ae-c811-4061-9626-22caaffc612f"></script>
<!-- Hanzo Insights — behavioral analytics -->
<script>
!function(t,e){var o,n,p,r;e.__SV||(window.hi=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="hi",u.people=u.people||[],u.toString=function(t){var e="hi";return"hi"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture captureException identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on getActiveMatchingSurveys getSurveys getNextSurveyStep onSessionId setPersonProperties".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.hi||[]);
hi.init('hi_e16a2d5a8033442d87f090b24c606825',{api_host:'https://insights.hanzo.ai',person_profiles:'identified_only'});
hi.register({app:'hanzo-id',org:'hanzo'});
</script>
<!-- The stored reading, applied before the stylesheet paints, so a returning
person's page does not jump when the bundle runs. It is inline because it
has to run ahead of any module; it reads the key the appearance package
writes, and the app applies the same value again on mount. -->
<script>
(function () {
try {
var p = JSON.parse(localStorage.getItem('hanzo.appearance') || '{}')
if (typeof p.type === 'number')
document.documentElement.style.setProperty(
'--type-scale',
String(Math.min(1.4, Math.max(0.85, p.type)))
)
var d = { compact: '0.85', default: '1', comfortable: '1.15' }[p.density]
if (d) document.documentElement.style.setProperty('--density', d)
} catch (e) {}
})()
</script>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>