From e2be9c9edd2f657771399b9d960b1cc7f3669892 Mon Sep 17 00:00:00 2001 From: ishaanxgupta <124028055+ishaanxgupta@users.noreply.github.com> Date: Mon, 17 Aug 2026 18:47:36 +0000 Subject: [PATCH] Fix integrations layout and mobile promo responsiveness (#1481) ## Summary - Reorder Apps & extensions so Import X bookmarks appears in the top row and Apple Shortcuts uses the open space below. - Keep both Apple Shortcut actions inline on larger screens while allowing the card to grow only as much as needed. - Rework the Company Brain promo on phones so its logo, copy, close control, and CTA remain readable and aligned. --- apps/web/components/company-brain-promo.tsx | 52 ++++++++------- apps/web/components/integrations-view.tsx | 66 +++++++++++++------ .../integrations/shortcuts-detail.tsx | 2 +- 3 files changed, 75 insertions(+), 45 deletions(-) diff --git a/apps/web/components/company-brain-promo.tsx b/apps/web/components/company-brain-promo.tsx index 730eeb08..3bda29a8 100644 --- a/apps/web/components/company-brain-promo.tsx +++ b/apps/web/components/company-brain-promo.tsx @@ -45,42 +45,44 @@ export function CompanyBrainPromo() { return (
-
+
-
-

- Give your team a Company Brain -

-

- Lives in your Slack. Answers from your team's tools, and brings things - up before you ask. -

+
+
+

+ Give your team a Company Brain +

+

+ Lives in your Slack. Answers from your team's tools, and brings + things up before you ask. +

+
+
- diff --git a/apps/web/components/integrations-view.tsx b/apps/web/components/integrations-view.tsx index 900f4ca6..19a3b9b0 100644 --- a/apps/web/components/integrations-view.tsx +++ b/apps/web/components/integrations-view.tsx @@ -537,13 +537,13 @@ const SECTIONS: Array<{ action: { type: "external", href: POKE_RECIPE_URL }, }, { - kind: "client", - id: "shortcuts", - name: "Apple Shortcuts", - tagline: "Add memories from iPhone, iPad or Mac", - simpleTitle: "Save anything from your phone or Mac", - icon: , - action: { type: "view", viewMode: "shortcuts" as ViewParamValue }, + kind: "import", + id: "x-bookmarks", + name: "Import X bookmarks", + tagline: "Turn your X/Twitter bookmarks into memories", + simpleTitle: "Turn your X bookmarks into memory", + icon: X, + viewMode: "import" as ViewParamValue, }, { kind: "client", @@ -556,13 +556,13 @@ const SECTIONS: Array<{ dev: true, }, { - kind: "import", - id: "x-bookmarks", - name: "Import X bookmarks", - tagline: "Turn your X/Twitter bookmarks into memories", - simpleTitle: "Turn your X bookmarks into memory", - icon: X, - viewMode: "import" as ViewParamValue, + kind: "client", + id: "shortcuts", + name: "Apple Shortcuts", + tagline: "Add memories from iPhone, iPad or Mac", + simpleTitle: "Save anything from your phone or Mac", + icon: , + action: { type: "view", viewMode: "shortcuts" as ViewParamValue }, }, ], }, @@ -2068,6 +2068,7 @@ function ItemCard({ docsUrl, leftIndicator, statusSlot, + layoutClassName, }: { actionSlot: ReactNode infoActionSlot?: ReactNode @@ -2082,6 +2083,7 @@ function ItemCard({ docsUrl?: string leftIndicator?: ReactNode statusSlot?: ReactNode + layoutClassName?: string }) { const [infoOpen, setInfoOpen] = useState(false) return ( @@ -2099,6 +2101,9 @@ function ItemCard({ className={cn( "group relative flex h-full cursor-pointer flex-row items-center gap-2.5 rounded-[10px] bg-[#14161A] px-2.5 py-2 transition-colors hover:bg-[#16181D] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#4BA0FA]/45 sm:flex-col sm:items-stretch sm:gap-4 sm:rounded-[12px] sm:p-4", "shadow-[inset_2.42px_2.42px_4.263px_rgba(11,15,21,0.7)]", + id === "shortcuts" && + "max-sm:grid max-sm:grid-cols-[auto_minmax(0,1fr)] max-sm:items-center", + layoutClassName, )} > setInfoOpen(true)} /> @@ -2116,7 +2121,12 @@ function ItemCard({
{icon}
-
+
{leftIndicator} @@ -2140,7 +2150,13 @@ function ItemCard({ {tagline}

-
+
{/* biome-ignore lint/a11y/noStaticElementInteractions: stop card click from swallowing the status action. */}
{/* biome-ignore lint/a11y/noStaticElementInteractions: stop card click from swallowing the primary action. */}
button]:!h-7 [&>button]:!min-w-[82px] [&>button]:!px-3 [&>button]:!text-[11px] sm:[&>button]:!h-9 sm:[&>button]:!min-w-[116px] sm:[&>button]:!px-5 sm:[&>button]:!text-[14px]", + id === "shortcuts" && + "max-sm:w-full max-sm:shrink max-sm:[&>div]:w-full", + )} onClick={(e) => e.stopPropagation()} onKeyDown={(e) => e.stopPropagation()} > @@ -3628,7 +3648,7 @@ export function IntegrationsView({ } } - const renderItemCard = (item: Item) => ( + const renderItemCard = (item: Item, layoutClassName?: string) => ( ) @@ -3753,7 +3774,14 @@ export function IntegrationsView({

) : q || category !== "all" ? (
- {visibleItems.map((item) => renderItemCard(item))} + {visibleItems.map((item) => + renderItemCard( + item, + item.id === "shortcuts" + ? "sm:w-max sm:min-w-full" + : undefined, + ), + )}
) : (
diff --git a/apps/web/components/integrations/shortcuts-detail.tsx b/apps/web/components/integrations/shortcuts-detail.tsx index 833488eb..3737fd36 100644 --- a/apps/web/components/integrations/shortcuts-detail.tsx +++ b/apps/web/components/integrations/shortcuts-detail.tsx @@ -151,7 +151,7 @@ export function ShortcutsConnectButtons({ }) { const { connect, isPending, pendingType } = controller return ( -
+
{