Skip to content

signed-in-çaylak rite copy on the landing page #7046

Description

@usirin

Stories: 5
TDD: yes
Containment: flag (default-off)

What to build

Close audit gap G5 (#4289): today apps/web/src/pages/landingGating.ts removes the rite framing for every signed-in user, so a fresh çaylak's first authenticated screen at / is emptier than the anonymous one. Extend the three-valued phase (anonymous / signedIn / resolving, kept DOM-free and unit-testable per the file's own contract) so the signed-in reading distinguishes tier — via useMe, the same signal the topbar reads, keeping #1784's single-source-of-truth — and apps/web/src/pages/LandingPage.tsx renders a signed-in-çaylak variant of the rite copy: where you stand (çaylak), what the yazarlık rite ahead looks like, honest framing per #4261. The anonymous join CTA is unchanged; other tiers keep today's quiet signed-in landing. This is copy and gating only — no second standing source, no meter here (that is the topbar slice's seam).

Acceptance criteria

  • with the flag off (default), the landing page behaves exactly as today for anonymous and signed-in visitors
  • with the flag on, a signed-in çaylak landing on / sees the rite explainer addressed to them instead of no framing, while the anonymous join CTA renders exactly as today
  • the gating logic stays DOM-free and unit-tested following the existing landingGating.ts pattern, covering anonymous, resolving, signed-in-çaylak and non-çaylak-tier readings
  • auth state still reads only from useMe (no second signal that could disagree with the topbar, Landing 'hesap aç' join CTA renders for logged-in users (auth-blind LandingPage) #1784)

Metadata

Metadata

Assignees

No one assigned

    Labels

    p1Medium priorityready-for:agentAn execution engine may pick this up.status:plannedplan-epic child: planned, not yet verified by review-plan, not pickabletype:featureNew capability, directly implementable

    Type

    No type

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions