Skip to content

feat(loops): improve loops list organization - #3759

Merged
trunk-io[bot] merged 4 commits into
mainfrom
posthog-code/improve-loops-list
Jul 24, 2026
Merged

feat(loops): improve loops list organization#3759
trunk-io[bot] merged 4 commits into
mainfrom
posthog-code/improve-loops-list

Conversation

@MattPua

@MattPua MattPua commented Jul 23, 2026

Copy link
Copy Markdown
Member

Problem

Personal and team loops are shown together, and the loops UI overflows in narrow containers.

Changes

Before:
CleanShot 2026-07-23 at 10 09 38@2x
CleanShot 2026-07-23 at 10 09 51@2x

After:
CleanShot 2026-07-23 at 10 08 18@2x
CleanShot 2026-07-23 at 10 09 08@2x
CleanShot 2026-07-23 at 10 10 19@2x

  • Split personal and team loops into tabs
  • Add creation timestamps and a stronger empty-state CTA
  • Make headers, empty states, and templates container-responsive
  • Align schedule input styling with neighboring controls

How did you test this?

  • pnpm --filter @posthog/ui test (2,000 tests)
  • pnpm --filter @posthog/ui typecheck
  • pnpm exec biome check packages/ui/src/features/loops/components packages/ui/src/features/canvas/components/WebsiteChannelLoops.tsx
  • git diff --check

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Created with PostHog Code

@trunk-io

trunk-io Bot commented Jul 23, 2026

Copy link
Copy Markdown

😎 Merged successfully - details.

@MattPua
MattPua requested a review from charlesvien July 23, 2026 14:08
@MattPua MattPua changed the title feat: improve loops list organization feat(loops): improve loops list organization Jul 23, 2026
@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

React Doctor found no issues in the changed files. 🎉

Reviewed by React Doctor for commit 3c69464.

@MattPua
MattPua marked this pull request as ready for review July 23, 2026 14:10
@greptile-apps

greptile-apps Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor
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
packages/ui/src/features/loops/components/LoopsListView.tsx:286-291
**Scope the personal empty state**

When a user has team loops but no personal loops, the default personal tab displays the product-wide “Create your first loop” onboarding while hiding the existing loops behind the team tab. Use personal-specific empty-state copy here so the filtered panel does not imply that no loops exist.

Reviews (1): Last reviewed commit: "fix: restore stacked loops empty state" | Re-trigger Greptile

Comment thread packages/ui/src/features/loops/components/LoopsListView.tsx
@posthog

posthog Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Visual changes approved by @MattPua — baseline updated in b93200b.

View this run in PostHog

6 changed.

MattPua and others added 3 commits July 24, 2026 09:24
Generated-By: PostHog Code
Task-Id: 9cac87f7-3d2e-4240-8e3f-722952dd6987
Generated-By: PostHog Code
Task-Id: 9cac87f7-3d2e-4240-8e3f-722952dd6987
6 updated
Run: 9bc8cfca-b5f8-4ad4-ad02-2eca6e724a46

Co-authored-by: MattPua <3376526+MattPua@users.noreply.github.com>
@MattPua
MattPua force-pushed the posthog-code/improve-loops-list branch from b93200b to 2dd57f5 Compare July 24, 2026 13:24
Generated-By: PostHog Code
Task-Id: 726a62ad-ada6-4718-a5a8-8b7a5c466172
@MattPua MattPua added the Stamphog This will request an autostamp by stamphog on small changes label Jul 24, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Contained, reversible UI feature (loops tabs, empty states, responsive styling) with no risky-territory surface touched and test coverage added; the one outstanding review comment is a cosmetic UX nit, not a showstopper.

  • Author wrote 18% of the modified lines and has 12 merged PRs in these paths (familiarity MODERATE).
  • 👍 on the PR from greptile-apps[bot].
  • Greptile's inline comment about scoping the personal-tab empty state (when team loops exist but personal is empty) is marked resolved but the personal-empty-state branch in LoopListTabs still renders the generic contextName-less LoopsEmptyState — likely just an unaddressed copy nit, not a functional/security issue.
Gate mechanics and policy version
Gate Result
prerequisites all clear
deny-list no deny categories matched
size 310L, 7F substantive, 410L/9F incl. docs/generated/snapshots — within ceiling
tier T1-agent / T1d-complex (410L, 9F, two-areas, feat)
stamphog 2.0.0b3 .stamphog/policy.yml @ 7e8e4da · reviewed head 3c69464

@trunk-io
trunk-io Bot merged commit 7b193db into main Jul 24, 2026
39 checks passed
@trunk-io
trunk-io Bot deleted the posthog-code/improve-loops-list branch July 24, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Stamphog This will request an autostamp by stamphog on small changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant