Files
boc/landvex-site/index.html
T
Bernt 48ea61cdcc docs: add quixzoom-auth-core product to AAMOS
- Product documentation in docs/products/
- Updated MEMORY.md with product info
- quiXzoom Auth Core as AAMOS Identity product
2026-07-14 09:58:53 +00:00

83 lines
4.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="sv">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>quiXzoom Fotografera uppdrag och tjäna krediter</title>
<meta name="description" content="Den globala plattformen för mobilfotografi. Dokumentera, tjäna krediter och bidra till smart datainsamling det ekonomiska och miljövänliga valet." />
<meta name="author" content="quiXzoom" />
<!-- PWA Meta Tags -->
<meta name="theme-color" content="#2F7A69" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="quiXzoom" />
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<!-- Canonical & Open Graph -->
<link rel="canonical" href="https://app.quixzoom.com/" />
<meta property="og:title" content="quiXzoom Fotografera uppdrag och tjäna krediter" />
<meta property="og:description" content="Den globala plattformen för mobilfotografi. Dokumentera, tjäna krediter och bidra till smart datainsamling." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://app.quixzoom.com/" />
<meta property="og:locale" content="sv_SE" />
<meta property="og:image" content="https://app.quixzoom.com/og-image.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@quixzoom" />
<meta name="twitter:image" content="https://app.quixzoom.com/og-image.jpg" />
<link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
<body>
<div id="root"></div>
<!-- Loading indicator - shown while JS loads -->
<div id="loading" style="position:fixed;top:0;left:0;right:0;bottom:0;background:#F4F0EC;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.3s;">
<div style="text-align:center;">
<div style="width:40px;height:40px;border:3px solid #e5e5e5;border-top-color:#2F7A69;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto;"></div>
<p style="margin-top:16px;color:#666;font-family:system-ui,sans-serif;font-size:14px;">Laddar quiXzoom...</p>
</div>
</div>
<!-- Error display - shows JS errors on screen -->
<div id="error-display" style="display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#F4F0EC;z-index:10000;padding:20px;overflow:auto;font-family:monospace;font-size:12px;color:#333;">
<h3 style="color:#c00;margin-bottom:10px;">Fel vid uppstart:</h3>
<pre id="error-text" style="white-space:pre-wrap;word-break:break-all;background:#fff;padding:10px;border-radius:4px;"></pre>
</div>
<style>
@keyframes spin { to { transform: rotate(360deg); } }
</style>
<script>
// Global error handler - shows errors on screen
window.onerror = function(msg, url, line, col, err) {
var el = document.getElementById('error-display');
var txt = document.getElementById('error-text');
if (el && txt) {
txt.textContent = msg + '\n at ' + url + ':' + line + ':' + col + '\n' + (err && err.stack ? err.stack : '');
el.style.display = 'block';
}
console.error('[GLOBAL ERROR]', msg, err);
return false;
};
window.onunhandledrejection = function(e) {
var el = document.getElementById('error-display');
var txt = document.getElementById('error-text');
if (el && txt) {
txt.textContent = 'Unhandled Promise Rejection:\n' + (e.reason && e.reason.stack ? e.reason.stack : String(e.reason));
el.style.display = 'block';
}
console.error('[UNHANDLED REJECTION]', e.reason);
};
</script>
<link rel="stylesheet" crossorigin href="/assets/index-DPgFtObt.css">
<script type="module" crossorigin src="/assets/index-CZD3_4lD.js"></script>
<!-- Deploy Warning -->
<script>fetch("deploy-warning.html").then(r=>r.text()).then(h=>document.body.insertAdjacentHTML("beforeend",h))</script>
</body>
</html>