Skip to content

Bento onboarding splash screen#2125

Merged
jonathanlab merged 7 commits into
mainfrom
bento-onboarding
May 19, 2026
Merged

Bento onboarding splash screen#2125
jonathanlab merged 7 commits into
mainfrom
bento-onboarding

Conversation

@Twixes
Copy link
Copy Markdown
Member

@Twixes Twixes commented May 13, 2026

Problem

I've watched 3 people onboard to PH Code in person with the current splash screen below – which is already better than before, but still each person broadly went past this without much understanding. Just results in our points - including the self-driving angle - landing weakly in the product itself (whereas posthog.com/code actually seems quite clear).

I feel very much this comes down to the intro being this raw list - it doesn't have anchor points for scanning.

Screenshot 2026-05-10 at 18 04 32@2x

Changes

Screenshots tell a thousand words, so proposing we turn this into a bento-like splash screen. Crucially, screenshots coming in a follow-up (I'll need you guys to add some in @PostHog/team-code). Here, setting the stage with the sleek layout.

Screenshot 2026-05-12 at 16 41 28@2x

(also, tweaked the headline at the top so the font is exactly aligned with the logo)

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 13, 2026

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
apps/code/src/renderer/features/onboarding/components/FeatureBentoCard.tsx:35
Double space in class string when `active` is false. The template literal concatenates an empty string for the inactive case and then the `className` prop, producing `"feature-bento-card  col-span-4"` (two spaces). While browsers normalise this, the project rule asks us to avoid double spaces from conditional string concatenation.

```suggestion
      className={`feature-bento-card${active ? " feature-bento-card--active" : ""} ${className}`}
```

### Issue 2 of 2
apps/code/src/renderer/features/onboarding/components/FeatureBentoCard.tsx:46-54
The `Flex` wrapper around the icon only ever contains a single child (`div.feature-bento-card__icon`), so `gap="2"` and `direction="column"` are superfluous — they have no visible effect. Following the simplicity rule of "no superfluous parts", these props can be dropped.

```suggestion
        <Flex
          align="center"
          justify="center"
          className="relative z-10 text-(--gray-9)"
        >
          <div className="feature-bento-card__icon">{icon}</div>
        </Flex>
```

Reviews (1): Last reviewed commit: "Hide placeholder label" | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

adboio commented May 13, 2026

SEXYYYYYY

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 13, 2026

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
apps/code/src/renderer/features/onboarding/components/FeatureBentoCard.tsx:46-50
The `text-(--gray-9)` class on the `Flex` wrapper is dead code — it sets `color: var(--gray-9)` on the container, but the child `div.feature-bento-card__icon` immediately overrides it with `color: var(--gray-12)` (and on hover/active, `color: var(--accent-11)`). The icon SVG inherits from the `div`, so `--gray-9` is never actually applied. Removing it satisfies the "no superfluous parts" simplicity rule.

```suggestion
        <Flex
          align="center"
          justify="center"
          className="relative z-10"
        >
```

Reviews (2): Last reviewed commit: "Update apps/code/src/renderer/features/o..." | Re-trigger Greptile

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 13, 2026

Want your agent to iterate on Greptile's feedback? Try greploops.

Twixes and others added 5 commits May 19, 2026 16:40
…entoCard.tsx

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
…entoCard.tsx

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
… secondary

Signals inbox is not enabled by default for the next few weeks; pitching
it as the hero card oversells a feature users can't immediately try.
Promoting 'Product data as context' (available out of the box) to the
hero slot keeps the splash honest until inbox is on by default.

Generated-By: PostHog Code
Task-Id: c5674c04-c95c-4bfe-bfcf-248a921b4aae
Move the separator space out of the ternary so Biome's class-sorter
sees a clean single-class literal. Output is unchanged.

Generated-By: PostHog Code
Task-Id: c5674c04-c95c-4bfe-bfcf-248a921b4aae
The grid's overflow-y-auto was triggering a transient scrollbar while
cards animated from y:12 to y:0. The wrapping flex column already clips
overflow, so dropping the grid's own scroll is safe.

Generated-By: PostHog Code
Task-Id: c5674c04-c95c-4bfe-bfcf-248a921b4aae
@jonathanlab jonathanlab enabled auto-merge (squash) May 19, 2026 14:55
@jonathanlab jonathanlab merged commit 677f026 into main May 19, 2026
15 checks passed
@jonathanlab jonathanlab deleted the bento-onboarding branch May 19, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants