diff --git a/packages/ui/src/features/canvas/components/WebsiteChannelLoops.tsx b/packages/ui/src/features/canvas/components/WebsiteChannelLoops.tsx index deebc84e73..a27711078c 100644 --- a/packages/ui/src/features/canvas/components/WebsiteChannelLoops.tsx +++ b/packages/ui/src/features/canvas/components/WebsiteChannelLoops.tsx @@ -144,11 +144,7 @@ export function WebsiteChannelLoops({ channelId }: { channelId: string }) { ) : ( - + )} diff --git a/packages/ui/src/features/loops/components/LoopsEmptyState.test.tsx b/packages/ui/src/features/loops/components/LoopsEmptyState.test.tsx index 8db57cfd0a..25c455cc63 100644 --- a/packages/ui/src/features/loops/components/LoopsEmptyState.test.tsx +++ b/packages/ui/src/features/loops/components/LoopsEmptyState.test.tsx @@ -1,37 +1,22 @@ import { Theme } from "@radix-ui/themes"; import { render, screen } from "@testing-library/react"; -import userEvent from "@testing-library/user-event"; -import { describe, expect, it, vi } from "vitest"; +import { describe, expect, it } from "vitest"; import { LoopsEmptyState } from "./LoopsEmptyState"; describe("LoopsEmptyState", () => { - it("starts loop creation from the primary CTA", async () => { - const onCreate = vi.fn(); - render( - - - , - ); + it.each([ + { contextName: undefined, heading: "Create your first loop" }, + { contextName: "general", heading: "Create a loop for #general" }, + ])( + 'shows "$heading" when contextName is $contextName', + ({ contextName, heading }) => { + render( + + + , + ); - await userEvent.click( - screen.getByRole("button", { name: "Create a loop" }), - ); - - expect(onCreate).toHaveBeenCalledOnce(); - }); - - it("disables creation when the project reached its loop limit", () => { - render( - - - , - ); - - expect( - screen.getByRole("button", { name: "Create a loop" }), - ).toBeDisabled(); - }); + expect(screen.getByText(heading)).toBeInTheDocument(); + }, + ); }); diff --git a/packages/ui/src/features/loops/components/LoopsEmptyState.tsx b/packages/ui/src/features/loops/components/LoopsEmptyState.tsx index 3258f4562c..169fa45f79 100644 --- a/packages/ui/src/features/loops/components/LoopsEmptyState.tsx +++ b/packages/ui/src/features/loops/components/LoopsEmptyState.tsx @@ -1,12 +1,6 @@ -import { ArrowSquareOutIcon, PlusIcon } from "@phosphor-icons/react"; import { loopHog } from "@posthog/ui/assets/hedgehogs"; -import { Button } from "@posthog/ui/primitives/Button"; -import { openUrlInBrowser } from "@posthog/ui/utils/browser"; import { Flex, Text } from "@radix-ui/themes"; -// Placeholder until the loops docs page lands; swap for the final URL. -const LOOPS_DOCS_URL = "https://posthog.com/docs/loops"; - const GETTING_STARTED_STEPS = [ "Describe what you want, or start from a template", "Pick when it runs and what it can touch", @@ -15,15 +9,7 @@ const GETTING_STARTED_STEPS = [ /** The illustrated getting-started card shown when there are no loops yet. `contextName` * tweaks the copy for a context's Loops tab. */ -export function LoopsEmptyState({ - contextName, - onCreate, - disabledReason, -}: { - contextName?: string; - onCreate: () => void; - disabledReason?: string | null; -}) { +export function LoopsEmptyState({ contextName }: { contextName?: string }) { return (
@@ -61,27 +47,6 @@ export function LoopsEmptyState({
))}
- - - - diff --git a/packages/ui/src/features/loops/components/LoopsListView.tsx b/packages/ui/src/features/loops/components/LoopsListView.tsx index 04a47926e7..3dbbe2bfd5 100644 --- a/packages/ui/src/features/loops/components/LoopsListView.tsx +++ b/packages/ui/src/features/loops/components/LoopsListView.tsx @@ -249,14 +249,9 @@ export function LoopsListViewPresentation({ membersLoading={membersLoading} membersError={membersError} membersComplete={membersComplete} - onCreate={onStartBlank} - disabledReason={limitReason} /> ) : ( - + )} @@ -292,8 +287,6 @@ function LoopListTabs({ membersLoading, membersError, membersComplete, - onCreate, - disabledReason, }: { personalLoops: LoopSchemas.Loop[]; teamLoops: LoopSchemas.Loop[]; @@ -301,8 +294,6 @@ function LoopListTabs({ membersLoading: boolean; membersError: boolean; membersComplete: boolean; - onCreate: () => void; - disabledReason: string | null; }) { return ( @@ -322,10 +313,7 @@ function LoopListTabs({ {personalLoops.length > 0 ? ( ) : ( - + )}