6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
69 lines
3.0 KiB
XML
69 lines
3.0 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 200">
|
|
<defs>
|
|
<style>
|
|
.step-circle { fill: #0A1628; stroke: #1A3A5C; stroke-width: 2 }
|
|
.step-icon { fill: #00D4AA }
|
|
.step-text { fill: #8BA4BE; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; font-weight: 600 }
|
|
.arrow { fill: none; stroke: #1A3A5C; stroke-width: 2; stroke-linecap: round }
|
|
.arrow-head { fill: #1A3A5C }
|
|
</style>
|
|
</defs>
|
|
|
|
<!-- Background -->
|
|
<rect width="800" height="200" fill="#0D1F3C" rx="16"/>
|
|
|
|
<!-- Step 1: Capture -->
|
|
<g transform="translate(100, 100)">
|
|
<circle cx="0" cy="0" r="40" class="step-circle"/>
|
|
<!-- Camera icon -->
|
|
<path d="M-12,-8 L-8,-12 L8,-12 L12,-8 L16,-8 L16,8 L-16,8 L-16,-8 Z" fill="#00D4AA" transform="scale(0.8)"/>
|
|
<circle cx="0" cy="-2" r="6" fill="none" stroke="#00D4AA" stroke-width="2" transform="scale(0.8)"/>
|
|
<text x="0" y="65" text-anchor="middle" class="step-text">Fotografera</text>
|
|
</g>
|
|
|
|
<!-- Arrow 1 -->
|
|
<g transform="translate(200, 100)">
|
|
<line x1="0" y1="0" x2="60" y2="0" class="arrow"/>
|
|
<polygon points="60,0 50,-6 50,6" class="arrow-head"/>
|
|
</g>
|
|
|
|
<!-- Step 2: AI Review -->
|
|
<g transform="translate(320, 100)">
|
|
<circle cx="0" cy="0" r="40" class="step-circle"/>
|
|
<!-- AI/Brain icon -->
|
|
<path d="M-10,-12 Q-10,-18 0,-18 Q10,-18 10,-12 L10,0 Q10,6 0,6 Q-10,6 -10,0 Z" fill="none" stroke="#00D4AA" stroke-width="2" transform="scale(0.8)"/>
|
|
<circle cx="-4" cy="-8" r="2" fill="#00D4AA" transform="scale(0.8)"/>
|
|
<circle cx="4" cy="-8" r="2" fill="#00D4AA" transform="scale(0.8)"/>
|
|
<path d="M-6,2 Q0,8 6,2" fill="none" stroke="#00D4AA" stroke-width="2" transform="scale(0.8)"/>
|
|
<text x="0" y="65" text-anchor="middle" class="step-text">AI-granskning</text>
|
|
</g>
|
|
|
|
<!-- Arrow 2 -->
|
|
<g transform="translate(420, 100)">
|
|
<line x1="0" y1="0" x2="60" y2="0" class="arrow"/>
|
|
<polygon points="60,0 50,-6 50,6" class="arrow-head"/>
|
|
</g>
|
|
|
|
<!-- Step 3: Approval -->
|
|
<g transform="translate(540, 100)">
|
|
<circle cx="0" cy="0" r="40" class="step-circle"/>
|
|
<!-- Checkmark icon -->
|
|
<path d="M-12,0 L-4,8 L12,-8" fill="none" stroke="#00D4AA" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="scale(0.8)"/>
|
|
<text x="0" y="65" text-anchor="middle" class="step-text">Godkännande</text>
|
|
</g>
|
|
|
|
<!-- Arrow 3 -->
|
|
<g transform="translate(640, 100)">
|
|
<line x1="0" y1="0" x2="60" y2="0" class="arrow"/>
|
|
<polygon points="60,0 50,-6 50,6" class="arrow-head"/>
|
|
</g>
|
|
|
|
<!-- Step 4: Payout -->
|
|
<g transform="translate(760, 100)">
|
|
<circle cx="0" cy="0" r="40" class="step-circle"/>
|
|
<!-- Money/Coin icon -->
|
|
<circle cx="0" cy="0" r="14" fill="none" stroke="#00D4AA" stroke-width="2" transform="scale(0.8)"/>
|
|
<text x="0" y="5" text-anchor="middle" fill="#00D4AA" font-family="-apple-system, sans-serif" font-size="16" font-weight="700" transform="scale(0.8)">$</text>
|
|
<text x="0" y="65" text-anchor="middle" class="step-text">Utbetalning</text>
|
|
</g>
|
|
</svg> |