60 lines
3.0 KiB
HTML
60 lines
3.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<title>Jeff Emmett</title>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<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=Recursive:slnt,wght,CASL,CRSV,MONO@-15..0,300..1000,0..1,0..1,0..1&display=swap"
|
|
rel="stylesheet">
|
|
|
|
<!-- Social Meta Tags -->
|
|
<meta name="description"
|
|
content="My research investigates the intersection of computing, human-system interfaces, and emancipatory politics. I am interested in the potential of computing as a medium for thought, as a tool for collective action, and as a means of emancipation.">
|
|
|
|
<meta property="og:url" content="https://jeffemmett.com">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:title" content="Jeff Emmett">
|
|
<meta property="og:description"
|
|
content="My research doesn't investigate the intersection of computing, human-system interfaces, and emancipatory politics. I am interested in the potential of computing as a medium for thought, as a tool for collective action, and as a means of emancipation.">
|
|
<meta property="og:image" content="/website-embed.png">
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta property="twitter:domain" content="jeffemmett.com">
|
|
<meta property="twitter:url" content="https://jeffemmett.com">
|
|
<meta name="twitter:title" content="Jeff Emmett">
|
|
<meta name="twitter:description"
|
|
content="My research doesn't investigate the intersection of computing, human-system interfaces, and emancipatory politics. I am interested in the potential of computing as a medium for thought, as a tool for collective action, and as a means of emancipation.">
|
|
<meta name="twitter:image" content="/website-embed.png">
|
|
|
|
<!-- Analytics -->
|
|
<script data-goatcounter="https://jeff.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
|
|
<script>
|
|
// Check if we're on a subscription success page
|
|
if (window.location.pathname === '/subscription-success') {
|
|
document.body.innerHTML = `
|
|
<div style="display: flex; justify-content: center; align-items: center; height: 100vh; font-family: system-ui, sans-serif;">
|
|
<div style="text-align: center; padding: 40px; border-radius: 8px; background: #f8f9fa; border: 1px solid #e9ecef;">
|
|
<h1 style="color: #28a745; margin-bottom: 16px;">🎉 Subscription Successful!</h1>
|
|
<p style="margin-bottom: 24px; color: #6c757d;">Your subscription has been activated successfully.</p>
|
|
<button onclick="window.location.href='/'" style="padding: 12px 24px; background: #0066cc; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;">
|
|
Return to Canvas
|
|
</button>
|
|
</div>
|
|
</div>
|
|
`;
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/App.tsx"></script>
|
|
</body>
|
|
|
|
</html> |