feat: rewrite rFlows landing page with compelling format + save-to-space CTA
Replaces the technical-heavy landing with an approachable informational page: - Hero with "Design Funding Flows That Respond to Reality" headline - 4-card "What rFlows Does" feature grid with gradient icon boxes - Numbered "How It Works" steps (Define → Wire → Simulate & Save) - 6-card use cases section (DAOs, grants, revenue sharing, etc.) - Cleaned up funnel model visual - Expanded ecosystem (rWallet, rVote, rData) - "Under the Hood" tech section (Flow Engine, EncryptID, CRDT, local-first) - "Save Flow to Space" CTA pattern throughout Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
707d83525b
commit
aab0f42ef5
|
|
@ -1,6 +1,5 @@
|
|||
/**
|
||||
* rFlows — rich landing page body.
|
||||
* Ported from rflows-online/app/page.tsx (Next.js/Tailwind).
|
||||
* Returned by landingPage() in the module export;
|
||||
* the shell wraps it with header, CSS, and analytics.
|
||||
*/
|
||||
|
|
@ -9,58 +8,107 @@ export function renderLanding(): string {
|
|||
<!-- Hero -->
|
||||
<div class="rl-hero">
|
||||
<span class="rl-tagline">rFlows</span>
|
||||
<h1 class="rl-heading" style="background:linear-gradient(to right,#fcd34d,#6ee7b7,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text">
|
||||
Threshold-Based Flow Funding
|
||||
<h1 class="rl-heading">Design Funding Flows<br>
|
||||
<span style="background:linear-gradient(135deg,#fbbf24,#34d399,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent">That Respond to Reality</span>
|
||||
</h1>
|
||||
<p class="rl-subtext" style="font-size:1.25rem;max-width:48rem;margin:0 auto 2rem">
|
||||
Design continuous funding flows that respond dynamically to threshold conditions.
|
||||
Connect funnels, set overflow rules, and track outcomes in real-time.
|
||||
<p class="rl-subtext">
|
||||
Model how money moves through your organization with <strong style="color:#e2e8f0">threshold-based funnels</strong>,
|
||||
<strong style="color:#e2e8f0">automatic overflow routing</strong>, and
|
||||
<strong style="color:#e2e8f0">proportional flow visualization</strong> — then save it to your space.
|
||||
</p>
|
||||
<div class="rl-cta-row">
|
||||
<a href="https://demo.rspace.online/rflows" class="rl-cta-secondary" id="ml-primary">Try the Demo</a>
|
||||
<a href="/create-space" class="rl-cta-primary">Create Your Own</a>
|
||||
<a href="https://demo.rspace.online/rflows" class="rl-cta-primary" id="ml-primary">
|
||||
Try the Demo →
|
||||
</a>
|
||||
<a href="/create-space" class="rl-cta-secondary">Save Flow to Space</a>
|
||||
</div>
|
||||
<p style="font-size:0.8rem;color:var(--rs-text-muted,#64748b);margin-top:0.75rem">
|
||||
Build your flow in the demo, then sign in to save it to your own space.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- How It Works -->
|
||||
<!-- What rFlows Does -->
|
||||
<section class="rl-section">
|
||||
<div class="rl-container">
|
||||
<h2 class="rl-heading" style="text-align:center">What rFlows Does</h2>
|
||||
<div class="rl-grid-4">
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#f59e0b,rgba(245,158,11,0.6))">🌊</div>
|
||||
<h3>Funnel Budgets</h3>
|
||||
<p>Each funding pool is a funnel with three zones — overflow, healthy, and critical — defined by min/max thresholds you set by dragging.</p>
|
||||
</div>
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#34d399,rgba(16,185,129,0.6))">🔄</div>
|
||||
<h3>Overflow Routing</h3>
|
||||
<p>When a funnel exceeds its max threshold, excess funds automatically redistribute to connected pools — no manual intervention needed.</p>
|
||||
</div>
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#60a5fa,rgba(59,130,246,0.6))">📈</div>
|
||||
<h3>Proportional Edges</h3>
|
||||
<p>Flow edges scale in width proportionally to their allocation percentage. See at a glance where the most capital is moving.</p>
|
||||
</div>
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#a78bfa,rgba(139,92,246,0.6))">🌎</div>
|
||||
<h3>River View</h3>
|
||||
<p>Switch to the Sankey river visualization to see how all funds flow through your system from source to outcome in one view.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- How It Works -->
|
||||
<section class="rl-section rl-section--alt">
|
||||
<div class="rl-container">
|
||||
<h2 class="rl-heading" style="text-align:center">How It Works</h2>
|
||||
<div class="rl-grid-3">
|
||||
<div class="rl-card rl-card--center">
|
||||
<div style="width:3rem;height:3rem;background:rgba(245,158,11,0.2);border-radius:0.75rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem">
|
||||
<svg style="width:1.5rem;height:1.5rem;color:#fbbf24" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z" />
|
||||
</svg>
|
||||
</div>
|
||||
<h3>Create Funnels</h3>
|
||||
<p>Each funnel represents a funding pool with three zones: overflow (above max),
|
||||
healthy (between thresholds), and critical (below min). Set thresholds by
|
||||
dragging handles.</p>
|
||||
<div class="rl-step">
|
||||
<div class="rl-step__num">1</div>
|
||||
<h3>Define Funnels</h3>
|
||||
<p>Create funding pools and set their min/max thresholds. Drag the threshold handles to define when a funnel is healthy, overflowing, or critically low.</p>
|
||||
</div>
|
||||
|
||||
<div class="rl-card rl-card--center">
|
||||
<div style="width:3rem;height:3rem;background:rgba(16,185,129,0.2);border-radius:0.75rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem">
|
||||
<svg style="width:1.5rem;height:1.5rem;color:#34d399" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6" />
|
||||
</svg>
|
||||
</div>
|
||||
<h3>Connect Flows</h3>
|
||||
<p>Connect funnels with overflow edges (sideways) so excess funds automatically
|
||||
route to other pools. Add spending edges (downward) to fund outcomes and
|
||||
deliverables.</p>
|
||||
<div class="rl-step">
|
||||
<div class="rl-step__num">2</div>
|
||||
<h3>Wire Connections</h3>
|
||||
<p>Connect funnels with overflow edges (sideways) so excess funds route to other pools. Add spending edges (downward) to fund outcomes and deliverables.</p>
|
||||
</div>
|
||||
<div class="rl-step">
|
||||
<div class="rl-step__num">3</div>
|
||||
<h3>Simulate & Save</h3>
|
||||
<p>Watch funds flow through your system in real-time. Adjust allocations with +/- controls on each edge. Save the flow to your space when you're happy with it.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="rl-card rl-card--center">
|
||||
<div style="width:3rem;height:3rem;background:rgba(59,130,246,0.2);border-radius:0.75rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem">
|
||||
<svg style="width:1.5rem;height:1.5rem;color:#60a5fa" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>
|
||||
</div>
|
||||
<h3>Simulate & Share</h3>
|
||||
<p>Run simulations to see how funds flow through your system. Watch edge widths
|
||||
scale proportionally. Save your space locally and share it with a link.</p>
|
||||
<!-- Use Cases -->
|
||||
<section class="rl-section">
|
||||
<div class="rl-container">
|
||||
<h2 class="rl-heading" style="text-align:center">Who Uses Flow-Based Funding?</h2>
|
||||
<p class="rl-subtext" style="text-align:center">When budgets need to respond dynamically to changing conditions, threshold-based flows replace static spreadsheets.</p>
|
||||
<div class="rl-grid-3">
|
||||
<div class="rl-card">
|
||||
<h3 style="color:#fbbf24">DAO Treasuries</h3>
|
||||
<p>Multi-pool treasuries where governance votes set thresholds and overflow routes funds between working groups automatically.</p>
|
||||
</div>
|
||||
<div class="rl-card">
|
||||
<h3 style="color:#34d399">Grant Programs</h3>
|
||||
<p>Funding rounds where excess from one grant pool overflows to the next priority — no capital sits idle when other pools need it.</p>
|
||||
</div>
|
||||
<div class="rl-card">
|
||||
<h3 style="color:#60a5fa">Revenue Sharing</h3>
|
||||
<p>Revenue enters a source funnel and splits proportionally to downstream recipients. Adjust percentages and see the river update live.</p>
|
||||
</div>
|
||||
<div class="rl-card">
|
||||
<h3 style="color:#a78bfa">Community Funds</h3>
|
||||
<p>Public goods funding where contributions flow through conviction-based allocation curves. Min thresholds protect critical infrastructure.</p>
|
||||
</div>
|
||||
<div class="rl-card">
|
||||
<h3 style="color:#f87171">Emergency Reserves</h3>
|
||||
<p>Critical-zone protection: when a pool drops below its minimum, outflow is automatically restricted to preserve essential reserves.</p>
|
||||
</div>
|
||||
<div class="rl-card">
|
||||
<h3 style="color:#22d3ee">Budget Modeling</h3>
|
||||
<p>Prototype budget structures visually before committing capital. Simulate deposit/withdrawal scenarios and see cascading effects.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -69,138 +117,112 @@ export function renderLanding(): string {
|
|||
<!-- The Funnel Metaphor -->
|
||||
<section class="rl-section rl-section--alt">
|
||||
<div class="rl-container">
|
||||
<div style="background:rgba(30,41,59,0.3);border-radius:1rem;border:1px solid rgba(51,65,85,0.5);padding:2rem">
|
||||
<h2 class="rl-heading" style="text-align:center;margin-bottom:2rem">The Funnel Metaphor</h2>
|
||||
<div style="max-width:28rem;margin:0 auto;font-family:monospace;font-size:0.875rem;text-align:center">
|
||||
|
||||
<!-- Overflow Zone -->
|
||||
<div style="color:#fbbf24">
|
||||
<div style="background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.3);border-radius:0.75rem 0.75rem 0 0;padding:0.75rem 2rem">
|
||||
<div style="font-weight:600">OVERFLOW ZONE</div>
|
||||
<div style="font-size:0.75rem;color:#fcd34d">Above MAX threshold</div>
|
||||
<div style="font-size:0.75rem;color:rgba(252,211,77,0.7)">Excess funds redistribute to other funnels</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Max Threshold Line -->
|
||||
<div style="font-size:0.75rem;color:#f59e0b;font-weight:700;border-bottom:2px dashed rgba(245,158,11,0.5);padding:0.25rem 0;background:rgba(245,158,11,0.05)">
|
||||
-- MAX THRESHOLD --
|
||||
</div>
|
||||
|
||||
<!-- Healthy Zone -->
|
||||
<div style="color:#34d399">
|
||||
<div style="background:rgba(16,185,129,0.1);border-left:1px solid rgba(16,185,129,0.3);border-right:1px solid rgba(16,185,129,0.3);padding:1rem 2rem">
|
||||
<div style="font-weight:600">HEALTHY ZONE</div>
|
||||
<div style="font-size:0.75rem;color:#6ee7b7">Normal operations</div>
|
||||
<div style="font-size:0.75rem;color:rgba(110,231,183,0.7)">Full flow rate, balanced funding</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Min Threshold Line -->
|
||||
<div style="font-size:0.75rem;color:#ef4444;font-weight:700;border-bottom:2px dashed rgba(239,68,68,0.5);padding:0.25rem 0;background:rgba(239,68,68,0.05)">
|
||||
-- MIN THRESHOLD --
|
||||
</div>
|
||||
|
||||
<!-- Critical Zone -->
|
||||
<div style="color:#94a3b8">
|
||||
<div style="background:rgba(51,65,85,0.3);border:1px solid rgba(71,85,105,0.3);border-radius:0 0 0.75rem 0.75rem;padding:0.75rem 2rem">
|
||||
<div style="font-weight:600;color:#f87171">CRITICAL ZONE</div>
|
||||
<div style="font-size:0.75rem;color:#fca5a5">Below MIN threshold</div>
|
||||
<div style="font-size:0.75rem;color:#64748b">Outflow restricted, conservation mode</div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="rl-heading" style="text-align:center">The Funnel Model</h2>
|
||||
<p class="rl-subtext" style="text-align:center">Every funding pool is a funnel with three zones. Thresholds trigger automatic behavior.</p>
|
||||
<div style="max-width:32rem;margin:2rem auto 0;display:grid;gap:0;font-size:0.875rem;text-align:center">
|
||||
|
||||
<!-- Overflow -->
|
||||
<div style="background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.25);border-radius:0.75rem 0.75rem 0 0;padding:1rem 1.5rem">
|
||||
<div style="font-weight:700;color:#fbbf24;font-size:0.95rem">OVERFLOW</div>
|
||||
<div style="font-size:0.78rem;color:#fcd34d;margin-top:0.25rem">Above max — excess redistributes to connected funnels</div>
|
||||
</div>
|
||||
|
||||
<!-- Max line -->
|
||||
<div style="border-bottom:2px dashed rgba(245,158,11,0.4);padding:0.2rem 0;font-size:0.7rem;font-weight:700;color:#f59e0b;background:rgba(245,158,11,0.04)">
|
||||
MAX THRESHOLD
|
||||
</div>
|
||||
|
||||
<!-- Healthy -->
|
||||
<div style="background:rgba(16,185,129,0.08);border-left:1px solid rgba(16,185,129,0.25);border-right:1px solid rgba(16,185,129,0.25);padding:1.25rem 1.5rem">
|
||||
<div style="font-weight:700;color:#34d399;font-size:0.95rem">HEALTHY</div>
|
||||
<div style="font-size:0.78rem;color:#6ee7b7;margin-top:0.25rem">Full flow rate — balanced operations, normal outflow</div>
|
||||
</div>
|
||||
|
||||
<!-- Min line -->
|
||||
<div style="border-bottom:2px dashed rgba(239,68,68,0.4);padding:0.2rem 0;font-size:0.7rem;font-weight:700;color:#ef4444;background:rgba(239,68,68,0.04)">
|
||||
MIN THRESHOLD
|
||||
</div>
|
||||
|
||||
<!-- Critical -->
|
||||
<div style="background:rgba(51,65,85,0.2);border:1px solid rgba(71,85,105,0.25);border-radius:0 0 0.75rem 0.75rem;padding:1rem 1.5rem">
|
||||
<div style="font-weight:700;color:#f87171;font-size:0.95rem">CRITICAL</div>
|
||||
<div style="font-size:0.78rem;color:#fca5a5;margin-top:0.25rem">Below min — outflow restricted, conservation mode</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Ecosystem Integration -->
|
||||
<!-- Ecosystem -->
|
||||
<section class="rl-section">
|
||||
<div class="rl-container">
|
||||
<h2 class="rl-heading" style="text-align:center">Ecosystem Integration</h2>
|
||||
<h2 class="rl-heading" style="text-align:center">Connects to Your Stack</h2>
|
||||
<p class="rl-subtext" style="text-align:center">
|
||||
rFlows connects to other rSpace modules for end-to-end treasury governance.
|
||||
rFlows plugs into other rSpace modules for end-to-end treasury governance.
|
||||
</p>
|
||||
<div class="rl-grid-2" style="max-width:700px;margin:0 auto">
|
||||
<div class="rl-grid-3" style="max-width:900px;margin:0 auto">
|
||||
<div class="rl-integration">
|
||||
<div class="rl-icon-box">💰</div>
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#14b8a6,rgba(20,184,166,0.6))">💰</div>
|
||||
<div>
|
||||
<h3><a href="/rwallet" style="color:#14b8a6;text-decoration:none">rWallet</a></h3>
|
||||
<p>On-chain balances and wallet-based treasury tracking for decentralized communities.</p>
|
||||
<p>On-chain balances feed into funnels as real-time deposits. Multi-sig wallets as funding sources.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rl-integration">
|
||||
<div class="rl-icon-box">🗳</div>
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#8b5cf6,rgba(139,92,246,0.6))">🗳</div>
|
||||
<div>
|
||||
<h3><a href="/rvote" style="color:#14b8a6;text-decoration:none">rVote</a></h3>
|
||||
<p>Governance decisions that direct fund allocation through formal proposal workflows.</p>
|
||||
<h3><a href="/rvote" style="color:#8b5cf6;text-decoration:none">rVote</a></h3>
|
||||
<p>Governance decisions set flow thresholds and allocation percentages through formal proposals.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rl-integration">
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#0891b2,rgba(8,145,178,0.6))">📊</div>
|
||||
<div>
|
||||
<h3><a href="/rdata" style="color:#0891b2;text-decoration:none">rData</a></h3>
|
||||
<p>Analytics dashboards pull from flow events — track deposits, withdrawals, and allocation history.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Built on Open Source -->
|
||||
<!-- Under the Hood -->
|
||||
<section class="rl-section rl-section--alt">
|
||||
<div class="rl-container">
|
||||
<h2 class="rl-heading" style="text-align:center">Built on Open Source</h2>
|
||||
<p class="rl-subtext" style="text-align:center">The libraries and tools that power rFlows.</p>
|
||||
<div class="rl-grid-3">
|
||||
<h2 class="rl-heading" style="text-align:center">Under the Hood</h2>
|
||||
<div class="rl-grid-4">
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box">🌊</div>
|
||||
<h3>Flow Service</h3>
|
||||
<p>Custom budget flow engine powering the river visualization and conviction-based allocation logic.</p>
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#f59e0b,rgba(245,158,11,0.6))">🌊</div>
|
||||
<h3>Flow Engine</h3>
|
||||
<p>Custom allocation engine computes overflow cascades, spending splits, and threshold responses in real-time.</p>
|
||||
</div>
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box">🗃</div>
|
||||
<h3>PostgreSQL</h3>
|
||||
<p>Reliable relational storage for space-flow associations, transaction history, and pool balances.</p>
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#6366f1,rgba(99,102,241,0.6))">🔒</div>
|
||||
<h3>EncryptID</h3>
|
||||
<p>Passkey-based auth — no passwords, no seed phrases. Sign in with biometrics to save flows to your space.</p>
|
||||
</div>
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box">⚡</div>
|
||||
<h3>Hono</h3>
|
||||
<p>Ultrafast web framework for the API layer — lightweight, typed, and edge-ready.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Your Data, Protected -->
|
||||
<section class="rl-section">
|
||||
<div class="rl-container" style="text-align:center">
|
||||
<h2 class="rl-heading">Your Data, Protected</h2>
|
||||
<p class="rl-subtext">How rFlows keeps your information safe.</p>
|
||||
<div class="rl-grid-3">
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box">🔒</div>
|
||||
<h3>End-to-End Encryption</h3>
|
||||
<span class="rl-badge">Coming Soon</span>
|
||||
<p>All content encrypted before it leaves your device. Not even the server can read it.</p>
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#22c55e,#059669)">🔄</div>
|
||||
<h3>Automerge CRDT</h3>
|
||||
<p>Real-time sync across collaborators. Multiple people can edit flows simultaneously with automatic conflict resolution.</p>
|
||||
</div>
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box">🕵</div>
|
||||
<h3>Zero-Knowledge Architecture</h3>
|
||||
<span class="rl-badge">Coming Soon</span>
|
||||
<p>The server processes your requests without ever seeing your data in the clear.</p>
|
||||
</div>
|
||||
<div class="rl-card rl-card--center">
|
||||
<div class="rl-icon-box">🏠</div>
|
||||
<h3>Self-Hosted</h3>
|
||||
<p>Run on your own infrastructure. Your server, your rules, your data.</p>
|
||||
<div class="rl-icon-box" style="background:linear-gradient(135deg,#0891b2,rgba(8,145,178,0.6))">🌐</div>
|
||||
<h3>Local-First</h3>
|
||||
<p>Works offline. Changes sync when you reconnect. Your data lives on your device first, server second.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA -->
|
||||
<section class="rl-section rl-section--alt">
|
||||
<section class="rl-section">
|
||||
<div class="rl-container" style="text-align:center">
|
||||
<h2 class="rl-heading">Ready to design your funding flows?</h2>
|
||||
<p class="rl-subtext">Start with the interactive demo or create your own space with custom funnels and connections.</p>
|
||||
<h2 class="rl-heading">Ready to model your funding flows?</h2>
|
||||
<p class="rl-subtext">Build a flow in the demo, then save it to your own space with one click.</p>
|
||||
<div class="rl-cta-row">
|
||||
<a href="https://demo.rspace.online/rflows" class="rl-cta-primary">Try the Demo</a>
|
||||
<a href="/create-space" class="rl-cta-secondary">Create Your Own</a>
|
||||
<a href="https://demo.rspace.online/rflows" class="rl-cta-primary">Open the Demo →</a>
|
||||
<a href="/create-space" class="rl-cta-secondary">Save Flow to Space</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
Loading…
Reference in New Issue