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
@@ -617,54 +617,108 @@
|
||||
</main>
|
||||
|
||||
<!-- FOOTER -->
|
||||
<footer>
|
||||
<div class="footer-inner">
|
||||
<div>
|
||||
<div class="footer-logo">Landvex</div>
|
||||
<div class="footer-copy">© 2026 Landvex Inc</div>
|
||||
<div style="font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.6">Landvex Inc · Houston, Texas (US HQ) · Landvex AB · Org.nr 559141-7042 · Tyresö, Sweden (EU operations) · <a href="mailto:contact@landvex.com" style="color:inherit">contact@landvex.com</a></div>
|
||||
<div style="font-size:11px;color:var(--text-muted);margin-top:4px">quiXzoom field data is collected by quiXzoom Inc (Delaware) and licensed to Landvex for intelligence production. <a href="https://www.quixzoom.com/" style="color:inherit">quiXzoom →</a></div>
|
||||
<div class="footer-tagline">Control intelligence for the physical world.</div>
|
||||
<footer>
|
||||
<div class="footer-container" style="max-width:1200px;margin:0 auto;padding:48px 24px 32px;">
|
||||
<!-- Main Footer Grid -->
|
||||
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:48px;">
|
||||
|
||||
<!-- Column 1: Products -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Produkter</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/infrastructure-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">VIMS</a></li>
|
||||
<li><a href="/intelligence/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence</a></li>
|
||||
<li><a href="/reality-alerts/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Reality Alerts</a></li>
|
||||
<li><a href="/enterprise/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Enterprise</a></li>
|
||||
<li><a href="/pilot/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Pilotprogram</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 2: Solutions -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Lösningar</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/verticals/bridge-inspection/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Broinspektion</a></li>
|
||||
<li><a href="/verticals/road-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Vägövervakning</a></li>
|
||||
<li><a href="/verticals/infrastructure/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Infrastruktur</a></li>
|
||||
<li><a href="/verticals/utilities/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Utilities</a></li>
|
||||
<li><a href="/use-cases/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Användningsfall</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 3: Resources -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Resurser</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/blog/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence Insights</a></li>
|
||||
<li><a href="/guides/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Guider</a></li>
|
||||
<li><a href="/developers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Developer API</a></li>
|
||||
<li><a href="/status/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Systemstatus</a></li>
|
||||
<li><a href="/reports/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Rapporter</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 4: Company -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Företag</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/about/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Om oss</a></li>
|
||||
<li><a href="/careers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Karriär</a></li>
|
||||
<li><a href="/press/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Press</a></li>
|
||||
<li><a href="/contact/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Kontakt</a></li>
|
||||
<li><a href="https://www.quixzoom.com" target="_blank" rel="noopener" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">quiXzoom →</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="/privacy/">Privacy</a>
|
||||
<a href="/terms/">Terms</a>
|
||||
<a href="/cookie-policy/">Cookies</a>
|
||||
<a href="/compliance/">Compliance</a>
|
||||
<a href="/trust/">Trust Centre</a>
|
||||
<a href="/dpa/">DPA</a>
|
||||
<a href="/data-lineage/">Data Lineage</a>
|
||||
<a href="/subprocessors/">Sub-processors</a>
|
||||
<a href="/methodology/">Methodology</a>
|
||||
<a href="/data-quality/">Data Quality</a>
|
||||
<a href="/security/">Security</a>
|
||||
<a href="/comparison/">Compare</a>
|
||||
<a href="/sla/">SLA & Coverage</a>
|
||||
<a href="/cities/stockholm/">Stockholm</a>
|
||||
<a href="/cities/berlin/">Berlin</a>
|
||||
<a href="/cities/paris/">Paris</a>
|
||||
<a href="/cities/london/">London</a>
|
||||
<a href="/cities/bangkok/">Bangkok</a>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/careers/">Careers</a>
|
||||
<a href="/accessibility/">Accessibility</a>
|
||||
<a href="/responsible-disclosure/">Responsible disclosure</a>
|
||||
<a href="/blog/">Intelligence Insights</a>
|
||||
<a href="/guides/">Guides</a>
|
||||
<a href="https://www.quixzoom.com/" target="_blank" rel="noopener">quiXzoom →</a>
|
||||
<a href="mailto:contact@landvex.com">contact@landvex.com</a>
|
||||
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on LinkedIn">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="2" y="9" width="4" height="12" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle cx="4" cy="4" r="2" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="https://x.com/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on X">
|
||||
<svg width="15" height="15" viewBox="0 0 24 24" fill="#888" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<!-- Divider -->
|
||||
<div style="border-top:1px solid #E5E5E5;padding-top:32px;">
|
||||
|
||||
<!-- Legal & Compliance Row -->
|
||||
<div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:24px;">
|
||||
<div style="display:flex;flex-wrap:wrap;gap:16px 24px;">
|
||||
<a href="/privacy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Privacy</a>
|
||||
<a href="/terms/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Terms</a>
|
||||
<a href="/cookie-policy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Cookies</a>
|
||||
<a href="/compliance/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Compliance</a>
|
||||
<a href="/trust/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Trust Centre</a>
|
||||
<a href="/dpa/" style="font-size:12px;color:#6E6E73;text-decoration:none;">DPA</a>
|
||||
<a href="/sla/" style="font-size:12px;color:#6E6E73;text-decoration:none;">SLA</a>
|
||||
<a href="/security/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Security</a>
|
||||
<a href="/accessibility/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Accessibility</a>
|
||||
<a href="/responsible-disclosure/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Responsible Disclosure</a>
|
||||
</div>
|
||||
<div style="display:flex;gap:16px;">
|
||||
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="LinkedIn">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
|
||||
</a>
|
||||
<a href="https://x.com/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="X">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Company Info Row -->
|
||||
<div style="display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;">
|
||||
<div>
|
||||
<div style="font-size:12px;color:#86868B;line-height:1.6;">
|
||||
<strong style="color:#0A0A0A;">Landvex Inc.</strong> · Houston, Texas · USA<br>
|
||||
<strong style="color:#0A0A0A;">Landvex AB</strong> · Org.nr 559141-7042 · Tyresö, Sweden · EU<br>
|
||||
<a href="mailto:contact@landvex.com" style="color:#86868B;text-decoration:none;">contact@landvex.com</a> ·
|
||||
<a href="mailto:security@landvex.com" style="color:#86868B;text-decoration:none;">security@landvex.com</a>
|
||||
</div>
|
||||
<div style="font-size:11px;color:#86868B;margin-top:8px;line-height:1.5;">
|
||||
Field data powered by <a href="https://www.quixzoom.com" style="color:#86868B;text-decoration:underline;">quiXzoom</a> ·
|
||||
<a href="/data-lineage/" style="color:#86868B;text-decoration:underline;">Data Lineage</a> ·
|
||||
<a href="/subprocessors/" style="color:#86868B;text-decoration:underline;">Sub-processors</a> ·
|
||||
<a href="/methodology/" style="color:#86868B;text-decoration:underline;">Methodology</a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="font-size:12px;color:#86868B;">
|
||||
© 2026 Landvex Inc / Landvex AB. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -250,37 +250,111 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<div class="footer-inner">
|
||||
<div>
|
||||
<div class="footer-logo">Landvex</div>
|
||||
<div class="footer-copy">© 2026 Landvex Inc · Landvex AB (org.nr 559141-7042)</div>
|
||||
<div class="footer-tagline">Decision intelligence for the physical world.</div>
|
||||
<div style="font-size:11px;color:var(--text-muted);margin-top:8px;line-height:1.6">Landvex AB · Org.nr 559141-7042<br>Tyreso, Sweden · <a href="mailto:contact@landvex.com" style="color:inherit">contact@landvex.com</a></div>
|
||||
<footer>
|
||||
<div class="footer-container" style="max-width:1200px;margin:0 auto;padding:48px 24px 32px;">
|
||||
<!-- Main Footer Grid -->
|
||||
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:48px;">
|
||||
|
||||
<!-- Column 1: Products -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Produkter</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/infrastructure-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">VIMS</a></li>
|
||||
<li><a href="/intelligence/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence</a></li>
|
||||
<li><a href="/reality-alerts/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Reality Alerts</a></li>
|
||||
<li><a href="/enterprise/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Enterprise</a></li>
|
||||
<li><a href="/pilot/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Pilotprogram</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 2: Solutions -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Lösningar</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/verticals/bridge-inspection/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Broinspektion</a></li>
|
||||
<li><a href="/verticals/road-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Vägövervakning</a></li>
|
||||
<li><a href="/verticals/infrastructure/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Infrastruktur</a></li>
|
||||
<li><a href="/verticals/utilities/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Utilities</a></li>
|
||||
<li><a href="/use-cases/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Användningsfall</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 3: Resources -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Resurser</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/blog/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence Insights</a></li>
|
||||
<li><a href="/guides/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Guider</a></li>
|
||||
<li><a href="/developers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Developer API</a></li>
|
||||
<li><a href="/status/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Systemstatus</a></li>
|
||||
<li><a href="/reports/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Rapporter</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 4: Company -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Företag</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/about/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Om oss</a></li>
|
||||
<li><a href="/careers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Karriär</a></li>
|
||||
<li><a href="/press/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Press</a></li>
|
||||
<li><a href="/contact/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Kontakt</a></li>
|
||||
<li><a href="https://www.quixzoom.com" target="_blank" rel="noopener" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">quiXzoom →</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Divider -->
|
||||
<div style="border-top:1px solid #E5E5E5;padding-top:32px;">
|
||||
|
||||
<!-- Legal & Compliance Row -->
|
||||
<div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:24px;">
|
||||
<div style="display:flex;flex-wrap:wrap;gap:16px 24px;">
|
||||
<a href="/privacy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Privacy</a>
|
||||
<a href="/terms/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Terms</a>
|
||||
<a href="/cookie-policy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Cookies</a>
|
||||
<a href="/compliance/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Compliance</a>
|
||||
<a href="/trust/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Trust Centre</a>
|
||||
<a href="/dpa/" style="font-size:12px;color:#6E6E73;text-decoration:none;">DPA</a>
|
||||
<a href="/sla/" style="font-size:12px;color:#6E6E73;text-decoration:none;">SLA</a>
|
||||
<a href="/security/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Security</a>
|
||||
<a href="/accessibility/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Accessibility</a>
|
||||
<a href="/responsible-disclosure/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Responsible Disclosure</a>
|
||||
</div>
|
||||
<div style="display:flex;gap:16px;">
|
||||
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="LinkedIn">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
|
||||
</a>
|
||||
<a href="https://x.com/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="X">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Company Info Row -->
|
||||
<div style="display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;">
|
||||
<div>
|
||||
<div style="font-size:12px;color:#86868B;line-height:1.6;">
|
||||
<strong style="color:#0A0A0A;">Landvex Inc.</strong> · Houston, Texas · USA<br>
|
||||
<strong style="color:#0A0A0A;">Landvex AB</strong> · Org.nr 559141-7042 · Tyresö, Sweden · EU<br>
|
||||
<a href="mailto:contact@landvex.com" style="color:#86868B;text-decoration:none;">contact@landvex.com</a> ·
|
||||
<a href="mailto:security@landvex.com" style="color:#86868B;text-decoration:none;">security@landvex.com</a>
|
||||
</div>
|
||||
<div style="font-size:11px;color:#86868B;margin-top:8px;line-height:1.5;">
|
||||
Field data powered by <a href="https://www.quixzoom.com" style="color:#86868B;text-decoration:underline;">quiXzoom</a> ·
|
||||
<a href="/data-lineage/" style="color:#86868B;text-decoration:underline;">Data Lineage</a> ·
|
||||
<a href="/subprocessors/" style="color:#86868B;text-decoration:underline;">Sub-processors</a> ·
|
||||
<a href="/methodology/" style="color:#86868B;text-decoration:underline;">Methodology</a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="font-size:12px;color:#86868B;">
|
||||
© 2026 Landvex Inc / Landvex AB. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="/about/">About</a>
|
||||
<a href="/privacy/">Privacy</a>
|
||||
<a href="/terms/">Terms</a>
|
||||
<a href="/methodology/">Methodology</a>
|
||||
<a href="/data-quality/">Data Quality</a>
|
||||
<a href="/security/">Security</a>
|
||||
<a href="/comparison/">Compare</a>
|
||||
<a href="/sla/">SLA & Coverage</a>
|
||||
<a href="/careers/">Careers</a>
|
||||
<a href="/accessibility/" style="color: #1d1d1f">Accessibility</a>
|
||||
<a href="/responsible-disclosure/">Responsible disclosure</a>
|
||||
<a href="https://www.quixzoom.com/" target="_blank" rel="noopener">quiXzoom →</a>
|
||||
<a href="mailto:contact@landvex.com">contact@landvex.com</a>
|
||||
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on LinkedIn">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><rect x="2" y="9" width="4" height="12" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="4" cy="4" r="2" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||||
</a>
|
||||
<a href="https://x.com/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on X">
|
||||
<svg width="15" height="15" viewBox="0 0 24 24" fill="#888"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -448,8 +448,110 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<p>© 2026 LandveX AB · <a href="/">Home</a> · <a href="/methodology/">Methodology</a> · <a href="/enterprise/">Enterprise</a></p>
|
||||
<footer>
|
||||
<div class="footer-container" style="max-width:1200px;margin:0 auto;padding:48px 24px 32px;">
|
||||
<!-- Main Footer Grid -->
|
||||
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:48px;">
|
||||
|
||||
<!-- Column 1: Products -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Produkter</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/infrastructure-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">VIMS</a></li>
|
||||
<li><a href="/intelligence/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence</a></li>
|
||||
<li><a href="/reality-alerts/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Reality Alerts</a></li>
|
||||
<li><a href="/enterprise/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Enterprise</a></li>
|
||||
<li><a href="/pilot/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Pilotprogram</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 2: Solutions -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Lösningar</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/verticals/bridge-inspection/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Broinspektion</a></li>
|
||||
<li><a href="/verticals/road-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Vägövervakning</a></li>
|
||||
<li><a href="/verticals/infrastructure/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Infrastruktur</a></li>
|
||||
<li><a href="/verticals/utilities/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Utilities</a></li>
|
||||
<li><a href="/use-cases/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Användningsfall</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 3: Resources -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Resurser</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/blog/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence Insights</a></li>
|
||||
<li><a href="/guides/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Guider</a></li>
|
||||
<li><a href="/developers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Developer API</a></li>
|
||||
<li><a href="/status/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Systemstatus</a></li>
|
||||
<li><a href="/reports/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Rapporter</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Column 4: Company -->
|
||||
<div>
|
||||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Företag</h4>
|
||||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||||
<li><a href="/about/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Om oss</a></li>
|
||||
<li><a href="/careers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Karriär</a></li>
|
||||
<li><a href="/press/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Press</a></li>
|
||||
<li><a href="/contact/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Kontakt</a></li>
|
||||
<li><a href="https://www.quixzoom.com" target="_blank" rel="noopener" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">quiXzoom →</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Divider -->
|
||||
<div style="border-top:1px solid #E5E5E5;padding-top:32px;">
|
||||
|
||||
<!-- Legal & Compliance Row -->
|
||||
<div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:24px;">
|
||||
<div style="display:flex;flex-wrap:wrap;gap:16px 24px;">
|
||||
<a href="/privacy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Privacy</a>
|
||||
<a href="/terms/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Terms</a>
|
||||
<a href="/cookie-policy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Cookies</a>
|
||||
<a href="/compliance/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Compliance</a>
|
||||
<a href="/trust/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Trust Centre</a>
|
||||
<a href="/dpa/" style="font-size:12px;color:#6E6E73;text-decoration:none;">DPA</a>
|
||||
<a href="/sla/" style="font-size:12px;color:#6E6E73;text-decoration:none;">SLA</a>
|
||||
<a href="/security/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Security</a>
|
||||
<a href="/accessibility/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Accessibility</a>
|
||||
<a href="/responsible-disclosure/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Responsible Disclosure</a>
|
||||
</div>
|
||||
<div style="display:flex;gap:16px;">
|
||||
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="LinkedIn">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
|
||||
</a>
|
||||
<a href="https://x.com/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="X">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Company Info Row -->
|
||||
<div style="display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;">
|
||||
<div>
|
||||
<div style="font-size:12px;color:#86868B;line-height:1.6;">
|
||||
<strong style="color:#0A0A0A;">Landvex Inc.</strong> · Houston, Texas · USA<br>
|
||||
<strong style="color:#0A0A0A;">Landvex AB</strong> · Org.nr 559141-7042 · Tyresö, Sweden · EU<br>
|
||||
<a href="mailto:contact@landvex.com" style="color:#86868B;text-decoration:none;">contact@landvex.com</a> ·
|
||||
<a href="mailto:security@landvex.com" style="color:#86868B;text-decoration:none;">security@landvex.com</a>
|
||||
</div>
|
||||
<div style="font-size:11px;color:#86868B;margin-top:8px;line-height:1.5;">
|
||||
Field data powered by <a href="https://www.quixzoom.com" style="color:#86868B;text-decoration:underline;">quiXzoom</a> ·
|
||||
<a href="/data-lineage/" style="color:#86868B;text-decoration:underline;">Data Lineage</a> ·
|
||||
<a href="/subprocessors/" style="color:#86868B;text-decoration:underline;">Sub-processors</a> ·
|
||||
<a href="/methodology/" style="color:#86868B;text-decoration:underline;">Methodology</a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="font-size:12px;color:#86868B;">
|
||||
© 2026 Landvex Inc / Landvex AB. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
|
||||
|
After Width: | Height: | Size: 61 KiB |
@@ -0,0 +1,2 @@
|
||||
import{a as m,o as x,n as p,j as e,L as h,aX as i,t as j,x as r,af as g,ag as u,aj as f,y as a,M as N}from"./index-4raZdHhl.js";import{R as b}from"./ROICalculator-B6e607hM.js";import{A as v}from"./arrow-left-DYs052F3.js";import{T as t}from"./trending-up-DdnDBoTo.js";import{I as w}from"./image-BGgGtVzJ.js";import{E as y}from"./eye-sqjG5ACi.js";import"./badge-BPKjF9yI.js";import"./select-RNODx0yH.js";import"./chevron-down-Cer5UTvx.js";import"./check-_HnxN-f7.js";import"./index-BwaE_Z5U.js";import"./megaphone-3l9pZop2.js";const z=()=>{const{t:s}=m(),{user:d,isLoading:c}=x(),{ordererProfile:n,isLoading:l,isActiveOrderer:o}=p();return c||l?e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:e.jsx(h,{className:"w-8 h-8 animate-spin text-primary"})}):d?!n||!o?e.jsx(i,{to:"/orderer/dashboard",replace:!0}):e.jsxs("div",{className:"min-h-screen bg-background text-foreground p-6",children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx(j,{variant:"ghost",size:"icon",onClick:()=>window.close(),children:e.jsx(v,{className:"w-5 h-5"})}),e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[e.jsx(t,{className:"w-6 h-6 text-primary"}),"Ads"]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Kampanjplanering och ROI-beräkning"})]})]}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[e.jsxs(r,{className:"glass-card",children:[e.jsxs(g,{children:[e.jsxs(u,{className:"flex items-center gap-2",children:[e.jsx(t,{className:"w-5 h-5 text-primary"}),s("orderer.ads.title")]}),e.jsx(f,{children:s("orderer.ads.description")})]}),e.jsx(a,{className:"space-y-4",children:e.jsxs("div",{className:"grid gap-3",children:[e.jsx(r,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(w,{className:"w-8 h-8 text-primary"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:s("orderer.ads.brandAwareness")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("orderer.ads.brandAwarenessDesc")})]})]})}),e.jsx(r,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(N,{className:"w-8 h-8 text-accent"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:s("orderer.ads.localPresence")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("orderer.ads.localPresenceDesc")})]})]})}),e.jsx(r,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(y,{className:"w-8 h-8 text-warning"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:s("orderer.ads.impressions")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("orderer.ads.impressionsDesc")})]})]})})]})})]}),e.jsx("div",{className:"lg:col-span-1",children:e.jsx(b,{})})]})]}):e.jsx(i,{to:"/auth",replace:!0})};export{z as default};
|
||||
//# sourceMappingURL=AdsPopout-BCZ9aS54.js.map
|
||||
@@ -0,0 +1,2 @@
|
||||
import{j as e,b9 as t,t as r}from"./index-4raZdHhl.js";import{A as s}from"./arrow-left-DYs052F3.js";const a=()=>e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx("header",{className:"sticky top-0 z-50 bg-background/80 backdrop-blur-md border-b border-border",children:e.jsxs("div",{className:"container flex items-center gap-4 h-14 px-4",children:[e.jsx(t,{to:"/",children:e.jsx(r,{variant:"ghost",size:"icon",className:"shrink-0",children:e.jsx(s,{className:"w-5 h-5"})})}),e.jsx("h1",{className:"font-semibold truncate",children:"Integritetspolicy"})]})}),e.jsx("main",{className:"container max-w-2xl pb-20 px-4 pt-6",children:e.jsxs("div",{className:"space-y-6 text-sm text-foreground/90 leading-relaxed",children:[e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"1. Introduktion"}),e.jsx("p",{className:"text-muted-foreground",children:"Denna integritetspolicy beskriver hur quiXzoom samlar in, använder och skyddar dina personuppgifter. Policyn uppdateras löpande och den senaste versionen finns alltid tillgänglig här."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"2. Biometrisk data (GDPR Art. 9)"}),e.jsx("p",{className:"text-muted-foreground",children:"För identitetsverifiering samlar vi in foto på ditt ID-handling samt selfie för ansiktsmatchning. Detta utgör biometrisk data enligt GDPR artikel 9. Rättslig grund: ditt uttryckliga samtycke (GDPR Art. 9.2.a). Bilderna raderas automatiskt efter 30 dagar. Endast verifieringsresultatet (godkänd/nekad) sparas längre."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"3. Ansvarig för personuppgifter"}),e.jsx("p",{className:"text-muted-foreground",children:"LandveX AB (org.nr 559141-7042) är personuppgiftsansvarig. Kontakt: support@quixzoom.com"})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"4. Dina rättigheter"}),e.jsx("p",{className:"text-muted-foreground",children:"Du har rätt att begära tillgång till, rättelse, radering eller begränsning av behandlingen av dina personuppgifter. Du kan när som helst återkalla ditt samtycke till biometrisk insamling via dina kontoinställningar."})]}),e.jsx("div",{className:"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4 mt-8",children:e.jsx("p",{className:"text-amber-700 dark:text-amber-400 text-sm font-medium",children:"Fullständig integritetspolicy under upparbetning. Komplett version publiceras inom kort."})})]})})]});export{a as default};
|
||||
//# sourceMappingURL=Integritetspolicy-C04nIJkj.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Integritetspolicy-C04nIJkj.js","sources":["../../src/pages/Integritetspolicy.tsx"],"sourcesContent":["import { ArrowLeft } from 'lucide-react';\nimport { Link } from 'react-router-dom';\nimport { Button } from '@/components/ui/button';\n\nconst Integritetspolicy = () => {\n return (\n <div className=\"min-h-screen bg-background\">\n <header className=\"sticky top-0 z-50 bg-background/80 backdrop-blur-md border-b border-border\">\n <div className=\"container flex items-center gap-4 h-14 px-4\">\n <Link to=\"/\">\n <Button variant=\"ghost\" size=\"icon\" className=\"shrink-0\">\n <ArrowLeft className=\"w-5 h-5\" />\n </Button>\n </Link>\n <h1 className=\"font-semibold truncate\">Integritetspolicy</h1>\n </div>\n </header>\n\n <main className=\"container max-w-2xl pb-20 px-4 pt-6\">\n <div className=\"space-y-6 text-sm text-foreground/90 leading-relaxed\">\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">1. Introduktion</h2>\n <p className=\"text-muted-foreground\">\n Denna integritetspolicy beskriver hur quiXzoom samlar in, använder och skyddar dina personuppgifter.\n Policyn uppdateras löpande och den senaste versionen finns alltid tillgänglig här.\n </p>\n </section>\n\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">2. Biometrisk data (GDPR Art. 9)</h2>\n <p className=\"text-muted-foreground\">\n För identitetsverifiering samlar vi in foto på ditt ID-handling samt selfie för ansiktsmatchning.\n Detta utgör biometrisk data enligt GDPR artikel 9. Rättslig grund: ditt uttryckliga samtycke\n (GDPR Art. 9.2.a). Bilderna raderas automatiskt efter 30 dagar. Endast verifieringsresultatet\n (godkänd/nekad) sparas längre.\n </p>\n </section>\n\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">3. Ansvarig för personuppgifter</h2>\n <p className=\"text-muted-foreground\">\n LandveX AB (org.nr 559141-7042) är personuppgiftsansvarig.\n Kontakt: support@quixzoom.com\n </p>\n </section>\n\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">4. Dina rättigheter</h2>\n <p className=\"text-muted-foreground\">\n Du har rätt att begära tillgång till, rättelse, radering eller begränsning av behandlingen av\n dina personuppgifter. Du kan när som helst återkalla ditt samtycke till biometrisk insamling\n via dina kontoinställningar.\n </p>\n </section>\n\n <div className=\"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4 mt-8\">\n <p className=\"text-amber-700 dark:text-amber-400 text-sm font-medium\">\n Fullständig integritetspolicy under upparbetning. Komplett version publiceras inom kort.\n </p>\n </div>\n </div>\n </main>\n </div>\n );\n};\n\nexport default Integritetspolicy;\n"],"names":["Integritetspolicy","jsxs","jsx","Link","Button","ArrowLeft"],"mappings":"oGAIA,MAAMA,EAAoB,IAEtBC,EAAAA,KAAC,MAAA,CAAI,UAAU,6BACb,SAAA,CAAAC,EAAAA,IAAC,UAAO,UAAU,6EAChB,SAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,8CACb,SAAA,CAAAC,MAACC,GAAK,GAAG,IACP,SAAAD,EAAAA,IAACE,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,WAC5C,SAAAF,MAACG,EAAA,CAAU,UAAU,SAAA,CAAU,EACjC,EACF,EACAH,EAAAA,IAAC,KAAA,CAAG,UAAU,yBAAyB,SAAA,mBAAA,CAAiB,CAAA,CAAA,CAC1D,CAAA,CACF,QAEC,OAAA,CAAK,UAAU,sCACd,SAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,uDACb,SAAA,CAAAA,OAAC,UAAA,CACC,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,kBAAe,EAC1DA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,yLAAA,CAGrC,CAAA,EACF,SAEC,UAAA,CACC,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,mCAAgC,EAC3EA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,6TAAA,CAKrC,CAAA,EACF,SAEC,UAAA,CACC,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,kCAA+B,EAC1EA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,0FAAA,CAGrC,CAAA,EACF,SAEC,UAAA,CACC,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,sBAAmB,EAC9DA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,yNAAA,CAIrC,CAAA,EACF,EAEAA,EAAAA,IAAC,OAAI,UAAU,iEACb,eAAC,IAAA,CAAE,UAAU,yDAAyD,SAAA,0FAAA,CAEtE,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF"}
|
||||
@@ -0,0 +1,2 @@
|
||||
import{a0 as r,r as s,j as e}from"./index-4raZdHhl.js";const o=()=>{const t=r();return s.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",t.pathname)},[t.pathname]),e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),e.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"}),e.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"})]})})};export{o as default};
|
||||
//# sourceMappingURL=NotFound-V7w-wg5A.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"NotFound-V7w-wg5A.js","sources":["../../src/pages/NotFound.tsx"],"sourcesContent":["import { useLocation } from \"react-router-dom\";\nimport { useEffect } from \"react\";\n\nconst NotFound = () => {\n const location = useLocation();\n\n useEffect(() => {\n console.error(\"404 Error: User attempted to access non-existent route:\", location.pathname);\n }, [location.pathname]);\n\n return (\n <div className=\"flex min-h-screen items-center justify-center bg-muted\">\n <div className=\"text-center\">\n <h1 className=\"mb-4 text-4xl font-bold\">404</h1>\n <p className=\"mb-4 text-xl text-muted-foreground\">Oops! Page not found</p>\n <a href=\"/\" className=\"text-primary underline hover:text-primary/90\">\n Return to Home\n </a>\n </div>\n </div>\n );\n};\n\nexport default NotFound;\n"],"names":["NotFound","location","useLocation","useEffect","jsxs","jsx"],"mappings":"uDAGA,MAAMA,EAAW,IAAM,CACrB,MAAMC,EAAWC,EAAA,EAEjBC,OAAAA,EAAAA,UAAU,IAAM,CACd,QAAQ,MAAM,0DAA2DF,EAAS,QAAQ,CAC5F,EAAG,CAACA,EAAS,QAAQ,CAAC,QAGnB,MAAA,CAAI,UAAU,yDACb,SAAAG,EAAAA,KAAC,MAAA,CAAI,UAAU,cACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,0BAA0B,SAAA,MAAG,EAC3CA,EAAAA,IAAC,IAAA,CAAE,UAAU,qCAAqC,SAAA,uBAAoB,QACrE,IAAA,CAAE,KAAK,IAAI,UAAU,+CAA+C,SAAA,gBAAA,CAErE,CAAA,CAAA,CACF,CAAA,CACF,CAEJ"}
|
||||
@@ -0,0 +1,2 @@
|
||||
import{u as w,a as b,o as v,aO as k,j as e,aw as l,am as n,t as d,x as t,y as i,M as o,E as C,B as x}from"./index-4raZdHhl.js";import{f as L,s as B,e as _,d as A}from"./sv-KqUX0hpM.js";const M=r=>{switch(r){case"de":return A;case"en":return _;default:return B}};function S(){const r=w(),{t:a,i18n:u}=b(),{user:h,isLoading:p}=v(),{notifications:c,isLoading:f,markAsRead:g}=k(),j=M(u.language);if(p)return e.jsxs("div",{className:"min-h-screen bg-background p-4",children:[e.jsx(l,{className:"h-12 w-full mb-4"}),e.jsx(l,{className:"h-20 w-full mb-2"}),e.jsx(l,{className:"h-20 w-full"})]});if(!h)return e.jsxs("div",{className:"min-h-screen bg-background pb-24",children:[e.jsxs("div",{className:"bg-gradient-to-br from-primary to-primary/80 text-primary-foreground p-6 pt-[calc(env(safe-area-inset-top)+1.5rem)]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(n,{className:"h-6 w-6 text-primary-foreground"}),e.jsx("h1",{className:"text-2xl font-bold",children:a("notifications.title")})]}),e.jsx("p",{className:"text-primary-foreground/70 text-sm",children:a("notifications.keepTrack")}),e.jsx(d,{className:"w-full mt-4 bg-primary-foreground text-primary hover:bg-primary-foreground/90",onClick:()=>r("/auth"),children:a("auth.login","Logga in")})]}),e.jsxs("div",{className:"p-4 space-y-3",children:[e.jsx(t,{className:"opacity-60",children:e.jsxs(i,{className:"p-4 flex items-start gap-3",children:[e.jsx("div",{className:"h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0",children:e.jsx(o,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium text-muted-foreground",children:a("notifications.newNearby")}),e.jsx("p",{className:"text-sm text-muted-foreground/60 mt-1",children:a("notifications.previewMission")})]})]})}),e.jsx(t,{className:"opacity-40",children:e.jsxs(i,{className:"p-4 flex items-start gap-3",children:[e.jsx("div",{className:"h-10 w-10 rounded-full bg-green-500/10 flex items-center justify-center flex-shrink-0",children:e.jsx(C,{className:"h-5 w-5 text-green-500"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium text-muted-foreground",children:a("notifications.previewApproved")}),e.jsx("p",{className:"text-sm text-muted-foreground/60 mt-1",children:a("notifications.previewReward")})]})]})}),e.jsx(t,{className:"border-primary/30 bg-primary/5 hidden",children:e.jsxs(i,{className:"p-6 text-center",children:[e.jsx("p",{className:"text-muted-foreground mb-4",children:a("notifications.loginToSee")}),e.jsx(d,{onClick:()=>r("/auth"),className:"w-full",children:a("auth.login")})]})})]}),e.jsx(x,{})]});const N=s=>{switch(s){case"new_mission":return e.jsx(o,{className:"h-5 w-5 text-primary"});default:return e.jsx(n,{className:"h-5 w-5 text-muted-foreground"})}},y=async s=>{var m;s.read||await g(s.id),s.type==="new_mission"&&((m=s.data)!=null&&m.mission_id)&&r(`/mission/${s.data.mission_id}`)};return e.jsxs("div",{className:"min-h-screen bg-background pb-24",children:[e.jsx("div",{className:"p-4 pt-[calc(env(safe-area-inset-top)+1rem)] space-y-3",children:f?[1,2,3].map(s=>e.jsx(l,{className:"h-20 w-full"},s)):c.length===0?e.jsx(t,{className:"mt-8",children:e.jsxs(i,{className:"p-8 text-center",children:[e.jsx(n,{className:"h-12 w-12 mx-auto text-muted-foreground mb-3"}),e.jsx("p",{className:"text-muted-foreground",children:a("notifications.empty")})]})}):c.map(s=>e.jsx(t,{className:`cursor-pointer transition-colors ${s.read?"":"bg-primary/5 border-primary/20"}`,onClick:()=>y(s),children:e.jsxs(i,{className:"p-4 flex items-start gap-3",children:[e.jsx("div",{className:"h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0",children:N(s.type)}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("p",{className:`font-medium ${s.read?"text-muted-foreground":"text-foreground"}`,children:s.title}),!s.read&&e.jsx("div",{className:"h-2 w-2 rounded-full bg-primary flex-shrink-0 mt-2"})]}),s.message&&e.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mt-1",children:s.message}),e.jsx("p",{className:"text-xs text-muted-foreground/60 mt-2",children:L(new Date(s.created_at),"PPp",{locale:j})})]})]})},s.id))}),e.jsx(x,{})]})}export{S as default};
|
||||
//# sourceMappingURL=Notifications-DI6Yfwlb.js.map
|
||||
@@ -0,0 +1,2 @@
|
||||
import{u as g,aP as f,r as c,j as e,x as m,y as x,I as j,t as h,L as N,v as w,an as C,D as b}from"./index-4raZdHhl.js";import{Q as v}from"./qr-code-DcR1IDg8.js";import{C as k}from"./circle-check-Uir7jLAa.js";import{C as y}from"./circle-alert-Bn3q8rDA.js";function R(){var d,u;g();const[p]=f(),[t,l]=c.useState(p.get("code")??""),[n,o]=c.useState(!1),[a,r]=c.useState(null),i=async()=>{if(!t.trim()){w.error("Ange kupongkod");return}o(!0),r(null);try{const s=await C(`/vouchers?code=${t.trim().toLowerCase()}`);if(!s){r({success:!1,error:"Kupong hittades inte"});return}if(s.status==="redeemed"){r({success:!1,error:"Kupongen är redan inlöst"});return}if(s.status==="expired"||new Date(s.expires_at)<new Date){r({success:!1,error:"Kupongen har gått ut"});return}await b(`/vouchers/${s.id}`,{status:"redeemed",redeemed_at:new Date().toISOString()}),r({success:!0,voucher:{title:s.title,brand:s.orderer_brand??"",user_id:s.user_id}})}catch(s){r({success:!1,error:s.message})}finally{o(!1)}};return e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-sm space-y-4",children:[e.jsxs("div",{className:"text-center",children:[e.jsx(v,{className:"w-12 h-12 text-primary mx-auto mb-2"}),e.jsx("h1",{className:"text-2xl font-bold",children:"Lös in kupong"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Ange kupongkoden eller scanna QR"})]}),!a&&e.jsx(m,{children:e.jsxs(x,{className:"pt-6 space-y-4",children:[e.jsx(j,{value:t,onChange:s=>l(s.target.value),placeholder:"Kupongkod (t.ex. a3f2b9c1d4e5)",className:"font-mono",onKeyDown:s=>s.key==="Enter"&&i()}),e.jsxs(h,{onClick:i,disabled:n,className:"w-full",children:[n?e.jsx(N,{className:"w-4 h-4 mr-2 animate-spin"}):null,n?"Verifierar...":"Lös in"]})]})}),a&&e.jsx(m,{className:a.success?"border-green-500/50 bg-green-500/10":"border-red-500/50 bg-red-500/10",children:e.jsxs(x,{className:"pt-6 text-center space-y-3",children:[a.success?e.jsx(k,{className:"w-16 h-16 text-green-500 mx-auto"}):e.jsx(y,{className:"w-12 h-12 text-red-500 mx-auto"}),e.jsxs("div",{children:[e.jsx("h2",{className:"font-semibold text-lg",children:a.success?"Inlöst!":"Fel"}),a.success?e.jsxs("p",{className:"text-sm text-muted-foreground",children:[(d=a.voucher)==null?void 0:d.title," — ",(u=a.voucher)==null?void 0:u.brand]}):e.jsx("p",{className:"text-sm text-red-600",children:a.error})]}),e.jsx(h,{onClick:()=>{r(null),l("")},variant:"outline",className:"w-full",children:a.success?"Nästa kupong":"Försök igen"})]})})]})})}export{R as default};
|
||||
//# sourceMappingURL=RedeemVoucher-BZ3Lf9He.js.map
|
||||
@@ -0,0 +1,2 @@
|
||||
import{u as F,aP as K,r as t,v as o,j as e,p as h,t as w,q as g,s as y,I as j}from"./index-4raZdHhl.js";import{C as R}from"./circle-check-Uir7jLAa.js";import{s as B,E as v}from"./types-CFveQdRf.js";import{E as N}from"./eye-sqjG5ACi.js";const J=()=>{const n=F(),[b]=K(),l=b.get("token"),[c,k]=t.useState(""),[f,P]=t.useState(""),[d,S]=t.useState(!1),[m,C]=t.useState(!1),[p,x]=t.useState(!1),[E,L]=t.useState(!0),[T,q]=t.useState(!1),[O,$]=t.useState(!1),[r,u]=t.useState({}),z=B().min(6,"Lösenordet måste vara minst 6 tecken");t.useEffect(()=>{if(!l){o.error("Ogiltig eller saknad återställningslänk"),n("/auth");return}async function s(){try{const i=await(await fetch(`https://api.quixzoom.com/api/qz/auth/reset-password/verify?token=${l}`)).json();i.ok?q(!0):(o.error(i.error||"Länken har gått ut eller är ogiltig"),setTimeout(()=>n("/auth"),2e3))}catch{o.error("Kunde inte verifiera länken"),setTimeout(()=>n("/auth"),2e3)}finally{L(!1)}}s()},[l,n]);const V=()=>{const s={},a=z.safeParse(c);return a.success||(s.password=a.error.errors[0].message),c!==f&&(s.confirmPassword="Lösenorden matchar inte"),u(s),Object.keys(s).length===0},D=async s=>{if(s.preventDefault(),!!V()){x(!0);try{const i=await(await fetch("https://api.quixzoom.com/api/qz/auth/reset-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:l,newPassword:c})})).json();i.ok?($(!0),o.success("Lösenordet har uppdaterats!")):o.error(i.error||"Kunde inte uppdatera lösenordet")}catch{o.error("Kunde inte ansluta till servern")}finally{x(!1)}}};return E?e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:e.jsx("div",{className:"animate-pulse text-muted-foreground",children:"Verifierar länk..."})}):O?e.jsx("div",{className:"min-h-screen bg-background flex flex-col items-center justify-center p-4",children:e.jsxs(h.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},className:"text-center space-y-4",children:[e.jsx(R,{className:"w-16 h-16 text-green-500 mx-auto"}),e.jsx("h1",{className:"text-2xl font-bold",children:"Lösenordet uppdaterat!"}),e.jsx("p",{className:"text-muted-foreground",children:"Du kan nu logga in med ditt nya lösenord."}),e.jsx(w,{onClick:()=>n("/auth"),className:"w-full max-w-sm",children:"Gå till inloggning"})]})}):T?e.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[e.jsxs("div",{className:"bg-gradient-to-br from-primary to-primary/80 text-primary-foreground p-6 pt-[calc(env(safe-area-inset-top)+1.5rem)]",children:[e.jsx("h1",{className:"text-2xl font-bold",children:"Välj nytt lösenord"}),e.jsx("p",{className:"text-primary-foreground/70 text-sm mt-1",children:"Ange ett nytt säkert lösenord för ditt konto."})]}),e.jsx("main",{className:"flex-1 flex items-center justify-center px-4",children:e.jsx(h.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4},className:"w-full max-w-sm",children:e.jsxs("form",{onSubmit:D,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"password",className:"text-sm text-muted-foreground",children:"Nytt lösenord"}),e.jsxs("div",{className:"relative",children:[e.jsx(y,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(j,{id:"password",type:d?"text":"password",placeholder:"••••••••",value:c,onChange:s=>{k(s.target.value),r.password&&u(a=>({...a,password:void 0}))},className:`pl-10 pr-10 ${r.password?"border-destructive":""}`}),e.jsx("button",{type:"button",onClick:()=>S(!d),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:d?e.jsx(v,{className:"w-4 h-4"}):e.jsx(N,{className:"w-4 h-4"})})]}),r.password&&e.jsx("p",{className:"text-xs text-destructive",children:r.password})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"confirmPassword",className:"text-sm text-muted-foreground",children:"Bekräfta nytt lösenord"}),e.jsxs("div",{className:"relative",children:[e.jsx(y,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(j,{id:"confirmPassword",type:m?"text":"password",placeholder:"••••••••",value:f,onChange:s=>{P(s.target.value),r.confirmPassword&&u(a=>({...a,confirmPassword:void 0}))},className:`pl-10 pr-10 ${r.confirmPassword?"border-destructive":""}`}),e.jsx("button",{type:"button",onClick:()=>C(!m),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:m?e.jsx(v,{className:"w-4 h-4"}):e.jsx(N,{className:"w-4 h-4"})})]}),r.confirmPassword&&e.jsx("p",{className:"text-xs text-destructive",children:r.confirmPassword})]}),e.jsx(w,{type:"submit",className:"w-full",disabled:p,children:p?"Uppdaterar...":"Uppdatera lösenord"})]})})})]}):null};export{J as default};
|
||||
//# sourceMappingURL=ResetPassword-D158S-ZO.js.map
|
||||
@@ -0,0 +1,2 @@
|
||||
import{j as e,b9 as r,t as a}from"./index-4raZdHhl.js";import{A as t}from"./arrow-left-DYs052F3.js";const i=()=>e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx("header",{className:"sticky top-0 z-50 bg-background/80 backdrop-blur-md border-b border-border",children:e.jsxs("div",{className:"container flex items-center gap-4 h-14 px-4",children:[e.jsx(r,{to:"/",children:e.jsx(a,{variant:"ghost",size:"icon",className:"shrink-0",children:e.jsx(t,{className:"w-5 h-5"})})}),e.jsx("h1",{className:"font-semibold truncate",children:"Användarvillkor"})]})}),e.jsx("main",{className:"container max-w-2xl pb-20 px-4 pt-6",children:e.jsxs("div",{className:"space-y-6 text-sm text-foreground/90 leading-relaxed",children:[e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"1. Allmänna villkor"}),e.jsx("p",{className:"text-muted-foreground",children:"Välkommen till quiXzoom. Genom att använda vår tjänst godkänner du dessa villkor. Tjänsten tillhandahålls av LandveX AB (org.nr 559141-7042)."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"2. Tjänsten"}),e.jsx("p",{className:"text-muted-foreground",children:'quiXzoom är en plattform för crowdsourcad fältdatainsamling. Användare ("Zoomers") kan fotografera uppdrag nära sig och tjäna krediter. Organisationer kan beställa datainsamling via plattformen.'})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"3. Krediter och utbetalningar"}),e.jsx("p",{className:"text-muted-foreground",children:"Krediter är in-app valuta och har inget garanterat monetärt värde förrän de konverteras vid uttag. Minsta uttag är 250 krediter. En plattformsavgift på 15% tillämpas vid uttag. Utbetalningar sker via Stripe Connect."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"4. Identitetsverifiering"}),e.jsx("p",{className:"text-muted-foreground",children:"För att ta uppdrag krävs identitetsverifiering. Du måste vara minst 18 år och ha legal handlingsförmåga. Verifieringen innebär insamling av biometrisk data enligt separat samtycke."})]}),e.jsx("div",{className:"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4 mt-8",children:e.jsx("p",{className:"text-amber-700 dark:text-amber-400 text-sm font-medium",children:"Fullständiga användarvillkor under upparbetning. Komplett version publiceras inom kort."})})]})})]});export{i as default};
|
||||
//# sourceMappingURL=Villkor-CjStefVa.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Villkor-CjStefVa.js","sources":["../../src/pages/Villkor.tsx"],"sourcesContent":["import { ArrowLeft } from 'lucide-react';\nimport { Link } from 'react-router-dom';\nimport { Button } from '@/components/ui/button';\n\nconst Villkor = () => {\n return (\n <div className=\"min-h-screen bg-background\">\n <header className=\"sticky top-0 z-50 bg-background/80 backdrop-blur-md border-b border-border\">\n <div className=\"container flex items-center gap-4 h-14 px-4\">\n <Link to=\"/\">\n <Button variant=\"ghost\" size=\"icon\" className=\"shrink-0\">\n <ArrowLeft className=\"w-5 h-5\" />\n </Button>\n </Link>\n <h1 className=\"font-semibold truncate\">Användarvillkor</h1>\n </div>\n </header>\n\n <main className=\"container max-w-2xl pb-20 px-4 pt-6\">\n <div className=\"space-y-6 text-sm text-foreground/90 leading-relaxed\">\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">1. Allmänna villkor</h2>\n <p className=\"text-muted-foreground\">\n Välkommen till quiXzoom. Genom att använda vår tjänst godkänner du dessa villkor.\n Tjänsten tillhandahålls av LandveX AB (org.nr 559141-7042).\n </p>\n </section>\n\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">2. Tjänsten</h2>\n <p className=\"text-muted-foreground\">\n quiXzoom är en plattform för crowdsourcad fältdatainsamling. Användare (\"Zoomers\") kan\n fotografera uppdrag nära sig och tjäna krediter. Organisationer kan beställa\n datainsamling via plattformen.\n </p>\n </section>\n\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">3. Krediter och utbetalningar</h2>\n <p className=\"text-muted-foreground\">\n Krediter är in-app valuta och har inget garanterat monetärt värde förrän de konverteras\n vid uttag. Minsta uttag är 250 krediter. En plattformsavgift på 15% tillämpas vid uttag.\n Utbetalningar sker via Stripe Connect.\n </p>\n </section>\n\n <section>\n <h2 className=\"text-lg font-semibold mb-2\">4. Identitetsverifiering</h2>\n <p className=\"text-muted-foreground\">\n För att ta uppdrag krävs identitetsverifiering. Du måste vara minst 18 år och ha\n legal handlingsförmåga. Verifieringen innebär insamling av biometrisk data enligt\n separat samtycke.\n </p>\n </section>\n\n <div className=\"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4 mt-8\">\n <p className=\"text-amber-700 dark:text-amber-400 text-sm font-medium\">\n Fullständiga användarvillkor under upparbetning. Komplett version publiceras inom kort.\n </p>\n </div>\n </div>\n </main>\n </div>\n );\n};\n\nexport default Villkor;\n"],"names":["Villkor","jsxs","jsx","Link","Button","ArrowLeft"],"mappings":"oGAIA,MAAMA,EAAU,IAEZC,EAAAA,KAAC,MAAA,CAAI,UAAU,6BACb,SAAA,CAAAC,EAAAA,IAAC,UAAO,UAAU,6EAChB,SAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,8CACb,SAAA,CAAAC,MAACC,GAAK,GAAG,IACP,SAAAD,EAAAA,IAACE,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,WAC5C,SAAAF,MAACG,EAAA,CAAU,UAAU,SAAA,CAAU,EACjC,EACF,EACAH,EAAAA,IAAC,KAAA,CAAG,UAAU,yBAAyB,SAAA,iBAAA,CAAe,CAAA,CAAA,CACxD,CAAA,CACF,QAEC,OAAA,CAAK,UAAU,sCACd,SAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,uDACb,SAAA,CAAAA,OAAC,UAAA,CACC,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,sBAAmB,EAC9DA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,+IAAA,CAGrC,CAAA,EACF,SAEC,UAAA,CACC,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,cAAW,EACtDA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,oMAAA,CAIrC,CAAA,EACF,SAEC,UAAA,CACC,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,gCAA6B,EACxEA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,yNAAA,CAIrC,CAAA,EACF,SAEC,UAAA,CACC,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,2BAAwB,EACnEA,EAAAA,IAAC,IAAA,CAAE,UAAU,wBAAwB,SAAA,sLAAA,CAIrC,CAAA,EACF,EAEAA,EAAAA,IAAC,OAAI,UAAU,iEACb,eAAC,IAAA,CAAE,UAAU,yDAAyD,SAAA,yFAAA,CAEtE,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF"}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as t}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const c=t("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);export{c as A};
|
||||
//# sourceMappingURL=activity-BCurIeE1.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"activity-BCurIeE1.js","sources":["../../node_modules/lucide-react/dist/esm/icons/activity.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Activity = createLucideIcon(\"Activity\", [\n [\n \"path\",\n {\n d: \"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\",\n key: \"169zse\"\n }\n ]\n]);\n\nexport { Activity as default };\n//# sourceMappingURL=activity.js.map\n"],"names":["Activity","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CACE,OACA,CACE,EAAG,6HACH,IAAK,QACX,CACA,CACA,CAAC","x_google_ignoreList":[0]}
|
||||
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 91 KiB |
@@ -0,0 +1,7 @@
|
||||
import{w as e}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const t=e("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);export{t as A};
|
||||
//# sourceMappingURL=arrow-left-DYs052F3.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"arrow-left-DYs052F3.js","sources":["../../node_modules/lucide-react/dist/esm/icons/arrow-left.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ArrowLeft = createLucideIcon(\"ArrowLeft\", [\n [\"path\", { d: \"m12 19-7-7 7-7\", key: \"1l729n\" }],\n [\"path\", { d: \"M19 12H5\", key: \"x3x0zl\" }]\n]);\n\nexport { ArrowLeft as default };\n//# sourceMappingURL=arrow-left.js.map\n"],"names":["ArrowLeft","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAYC,EAAiB,YAAa,CAC9C,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAQ,CAAE,EAC/C,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as a}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const r=a("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);export{r as A};
|
||||
//# sourceMappingURL=award-DbcAH5xO.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"award-DbcAH5xO.js","sources":["../../node_modules/lucide-react/dist/esm/icons/award.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Award = createLucideIcon(\"Award\", [\n [\n \"path\",\n {\n d: \"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526\",\n key: \"1yiouv\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"8\", r: \"6\", key: \"1vp47v\" }]\n]);\n\nexport { Award as default };\n//# sourceMappingURL=award.js.map\n"],"names":["Award","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAQC,EAAiB,QAAS,CACtC,CACE,OACA,CACE,EAAG,yHACH,IAAK,QACX,CACA,EACE,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,IAAK,EAAG,IAAK,IAAK,QAAQ,CAAE,CACzD,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,2 @@
|
||||
import{r as o,j as n,i as s,h as i}from"./index-4raZdHhl.js";const d=i("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),u=o.forwardRef(({className:r,variant:e,...t},a)=>n.jsx("div",{ref:a,className:s(d({variant:e}),r),...t}));u.displayName="Badge";export{u as B};
|
||||
//# sourceMappingURL=badge-BPKjF9yI.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"badge-BPKjF9yI.js","sources":["../../src/components/ui/badge.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive: \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nconst Badge = React.forwardRef<HTMLDivElement, BadgeProps>(\n ({ className, variant, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n }\n);\nBadge.displayName = \"Badge\";\n\nexport { Badge, badgeVariants };\n"],"names":["badgeVariants","cva","Badge","React.forwardRef","className","variant","props","ref","jsx","cn"],"mappings":"6DAKA,MAAMA,EAAgBC,EACpB,yKACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,4EACT,UAAW,kFACX,YAAa,wFACb,QAAS,iBAAA,CACX,EAEF,gBAAiB,CACf,QAAS,SAAA,CACX,CAEJ,EAMMC,EAAQC,EAAAA,WACZ,CAAC,CAAE,UAAAC,EAAW,QAAAC,EAAS,GAAGC,CAAA,EAASC,IAE/BC,EAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAGT,EAAc,CAAE,QAAAK,CAAA,CAAS,EAAGD,CAAS,EAClD,GAAGE,CAAA,CAAA,CAIZ,EACAJ,EAAM,YAAc"}
|
||||
|
After Width: | Height: | Size: 80 KiB |
@@ -0,0 +1,7 @@
|
||||
import{w as a}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const e=a("Blocks",[["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["path",{d:"M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3",key:"1fpvtg"}]]);export{e as B};
|
||||
//# sourceMappingURL=blocks-SC6H5wH0.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"blocks-SC6H5wH0.js","sources":["../../node_modules/lucide-react/dist/esm/icons/blocks.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Blocks = createLucideIcon(\"Blocks\", [\n [\"rect\", { width: \"7\", height: \"7\", x: \"14\", y: \"3\", rx: \"1\", key: \"6d4xhi\" }],\n [\n \"path\",\n {\n d: \"M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3\",\n key: \"1fpvtg\"\n }\n ]\n]);\n\nexport { Blocks as default };\n//# sourceMappingURL=blocks.js.map\n"],"names":["Blocks","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CAAC,OAAQ,CAAE,MAAO,IAAK,OAAQ,IAAK,EAAG,KAAM,EAAG,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC7E,CACE,OACA,CACE,EAAG,8FACH,IAAK,QACX,CACA,CACA,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as a}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const e=a("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);export{e as B};
|
||||
//# sourceMappingURL=building-2-DSOj3ba3.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"building-2-DSOj3ba3.js","sources":["../../node_modules/lucide-react/dist/esm/icons/building-2.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Building2 = createLucideIcon(\"Building2\", [\n [\"path\", { d: \"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z\", key: \"1b4qmf\" }],\n [\"path\", { d: \"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2\", key: \"i71pzd\" }],\n [\"path\", { d: \"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2\", key: \"10jefs\" }],\n [\"path\", { d: \"M10 6h4\", key: \"1itunk\" }],\n [\"path\", { d: \"M10 10h4\", key: \"tcdvrf\" }],\n [\"path\", { d: \"M10 14h4\", key: \"kelpxr\" }],\n [\"path\", { d: \"M10 18h4\", key: \"1ulq68\" }]\n]);\n\nexport { Building2 as default };\n//# sourceMappingURL=building-2.js.map\n"],"names":["Building2","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAYC,EAAiB,YAAa,CAC9C,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,EAC1E,CAAC,OAAQ,CAAE,EAAG,0CAA2C,IAAK,QAAQ,CAAE,EACxE,CAAC,OAAQ,CAAE,EAAG,2CAA4C,IAAK,QAAQ,CAAE,EACzE,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,EACzC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,EACzC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as e}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const a=e("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);export{a as C};
|
||||
//# sourceMappingURL=calendar-8URQt-6X.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"calendar-8URQt-6X.js","sources":["../../node_modules/lucide-react/dist/esm/icons/calendar.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Calendar = createLucideIcon(\"Calendar\", [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", key: \"1hopcy\" }],\n [\"path\", { d: \"M3 10h18\", key: \"8toen8\" }]\n]);\n\nexport { Calendar as default };\n//# sourceMappingURL=calendar.js.map\n"],"names":["Calendar","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,SAAU,IAAK,QAAQ,CAAE,EACvC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9E,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as c}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const o=c("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);export{o as C};
|
||||
//# sourceMappingURL=check-_HnxN-f7.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"check-_HnxN-f7.js","sources":["../../node_modules/lucide-react/dist/esm/icons/check.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Check = createLucideIcon(\"Check\", [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]]);\n\nexport { Check as default };\n//# sourceMappingURL=check.js.map\n"],"names":["Check","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAQC,EAAiB,QAAS,CAAC,CAAC,OAAQ,CAAE,EAAG,kBAAmB,IAAK,QAAQ,CAAE,CAAC,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as o}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const n=o("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);export{n as C};
|
||||
//# sourceMappingURL=chevron-down-Cer5UTvx.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chevron-down-Cer5UTvx.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-down.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronDown = createLucideIcon(\"ChevronDown\", [\n [\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]\n]);\n\nexport { ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["ChevronDown","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAcC,EAAiB,cAAe,CAClD,CAAC,OAAQ,CAAE,EAAG,eAAgB,IAAK,QAAQ,CAAE,CAC/C,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as t}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const h=t("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);export{h as C};
|
||||
//# sourceMappingURL=chevron-right-CH6kzBKw.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chevron-right-CH6kzBKw.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-right.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronRight = createLucideIcon(\"ChevronRight\", [\n [\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]\n]);\n\nexport { ChevronRight as default };\n//# sourceMappingURL=chevron-right.js.map\n"],"names":["ChevronRight","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAeC,EAAiB,eAAgB,CACpD,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,QAAQ,CAAE,CAChD,CAAC","x_google_ignoreList":[0]}
|
||||
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 283 KiB |
@@ -0,0 +1,7 @@
|
||||
import{w as c}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const r=c("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);export{r as C};
|
||||
//# sourceMappingURL=circle-BI8jYI7e.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"circle-BI8jYI7e.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Circle = createLucideIcon(\"Circle\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]\n]);\n\nexport { Circle as default };\n//# sourceMappingURL=circle.js.map\n"],"names":["Circle","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,QAAQ,CAAE,CAC3D,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as e}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const r=e("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);export{r as C};
|
||||
//# sourceMappingURL=circle-alert-Bn3q8rDA.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"circle-alert-Bn3q8rDA.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-alert.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleAlert = createLucideIcon(\"CircleAlert\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n]);\n\nexport { CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n"],"names":["CircleAlert","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAcC,EAAiB,cAAe,CAClD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,QAAS,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,CACvE,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as c}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const r=c("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);export{r as C};
|
||||
//# sourceMappingURL=circle-check-Uir7jLAa.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"circle-check-Uir7jLAa.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-check.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleCheck = createLucideIcon(\"CircleCheck\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m9 12 2 2 4-4\", key: \"dzmm74\" }]\n]);\n\nexport { CircleCheck as default };\n//# sourceMappingURL=circle-check.js.map\n"],"names":["CircleCheck","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAcC,EAAiB,cAAe,CAClD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,QAAQ,CAAE,CAChD,CAAC","x_google_ignoreList":[0]}
|
||||
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 202 KiB |
@@ -0,0 +1,7 @@
|
||||
import{w as c}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const o=c("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);export{o as C};
|
||||
//# sourceMappingURL=clock-DccfgOEz.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"clock-DccfgOEz.js","sources":["../../node_modules/lucide-react/dist/esm/icons/clock.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Clock = createLucideIcon(\"Clock\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polyline\", { points: \"12 6 12 12 16 14\", key: \"68esgv\" }]\n]);\n\nexport { Clock as default };\n//# sourceMappingURL=clock.js.map\n"],"names":["Clock","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAQC,EAAiB,QAAS,CACtC,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,CAC5D,CAAC","x_google_ignoreList":[0]}
|
||||
|
After Width: | Height: | Size: 176 KiB |
|
After Width: | Height: | Size: 199 KiB |
@@ -0,0 +1,7 @@
|
||||
import{w as e}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const t=e("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);export{t as C};
|
||||
//# sourceMappingURL=credit-card-DxQV59Y2.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"credit-card-DxQV59Y2.js","sources":["../../node_modules/lucide-react/dist/esm/icons/credit-card.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CreditCard = createLucideIcon(\"CreditCard\", [\n [\"rect\", { width: \"20\", height: \"14\", x: \"2\", y: \"5\", rx: \"2\", key: \"ynyp8z\" }],\n [\"line\", { x1: \"2\", x2: \"22\", y1: \"10\", y2: \"10\", key: \"1b3vmo\" }]\n]);\n\nexport { CreditCard as default };\n//# sourceMappingURL=credit-card.js.map\n"],"names":["CreditCard","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAaC,EAAiB,aAAc,CAChD,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9E,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,CACnE,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as p}from"./index-4raZdHhl.js";import{t as a,h as i}from"./sv-KqUX0hpM.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const g=p("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]);function f(e,t){const n=a(e),s=a(t),o=u(n,s),r=Math.abs(i(n,s));n.setDate(n.getDate()-o*r);const l=+(u(n,s)===-o),c=o*(r-l);return c===0?0:c}function u(e,t){const n=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return n<0?-1:n>0?1:n}export{g as T,f as d};
|
||||
//# sourceMappingURL=differenceInDays-Co-ljOBR.js.map
|
||||
@@ -0,0 +1,7 @@
|
||||
import{w as o}from"./index-4raZdHhl.js";/**
|
||||
* @license lucide-react v0.462.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const a=o("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);export{a as D};
|
||||
//# sourceMappingURL=download-Dib8aI_6.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"download-Dib8aI_6.js","sources":["../../node_modules/lucide-react/dist/esm/icons/download.js"],"sourcesContent":["/**\n * @license lucide-react v0.462.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Download = createLucideIcon(\"Download\", [\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"7 10 12 15 17 10\", key: \"2ggqvy\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"15\", y2: \"3\", key: \"1vk2je\" }]\n]);\n\nexport { Download as default };\n//# sourceMappingURL=download.js.map\n"],"names":["Download","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,EAC1E,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,EAC1D,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,IAAK,QAAQ,CAAE,CACnE,CAAC","x_google_ignoreList":[0]}
|
||||