Add freemium variant C: archetype persistence, dashboard banner, lesson gate

- User.archetype/utmSource/utmMedium/utmCampaign fields + migration
- register flow reads ?archetype/?utm_* and saves them on the User row
- dashboard ArchetypeBanner: per-archetype 'твой путь' block
- lesson gate after wow-moment lesson (WOW_MOMENT_LESSON_ID=obs-start-l2-006) → tripwire + full-course offer

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-23 11:26:34 +05:00
parent bb6c806cdd
commit 7bf3935c81
12 changed files with 241 additions and 3 deletions
@@ -0,0 +1,45 @@
// Gate-лестница после wow-урока (ежедневные заметки). Двойной оффер:
// основной — трипвайр «Второй мозг для предпринимателя», вторичный — полный курс.
// Server component, ДС-2 (Aubade).
const TRIPWIRE_URL = "https://second-brain.ru/entrepreneur";
const FULL_COURSE_URL = "https://obsidian.second-brain.ru/";
export function TripwireGateBanner() {
return (
<div
className="card-aubade p-6 mt-10"
style={{ background: "var(--accent)", boxShadow: "4px 4px 0 0 var(--foreground)" }}
>
<p
className="text-xs font-bold uppercase tracking-widest mb-2"
style={{ color: "var(--muted-foreground)" }}
>
Ты освоил главную привычку
</p>
<h2 className="font-bold text-xl mb-2">🎯 Что дальше?</h2>
<p className="text-sm mb-4" style={{ color: "var(--foreground)" }}>
Ежедневные заметки это фундамент второго мозга. Дальше система начинает
работать на тебя. Выбери свой следующий шаг:
</p>
<div className="flex flex-col sm:flex-row gap-3">
<a
href={TRIPWIRE_URL}
target="_blank"
rel="noopener noreferrer"
className="btn-aubade btn-aubade-accent text-sm flex-1 text-center font-bold"
>
Второй мозг для предпринимателя
</a>
<a
href={FULL_COURSE_URL}
target="_blank"
rel="noopener noreferrer"
className="btn-aubade text-sm flex-1 text-center"
>
🏛 Полный курс «Obsidian»
</a>
</div>
</div>
);
}