Skip to content

Conversation

@colton-demetriou
Copy link
Contributor

@colton-demetriou colton-demetriou commented Nov 11, 2025

Added functionality so that props are actually saved for directory cards, also added "disabled" link functionality so that you can click on the heading slot without being redirected to the child entity. Lastly, added local dev data to be able to test the directory locally. This should also resolve the 404 issue that was being seen on the redirect since it's no longer a link in the editor (I assume the child being redirected to in the bug bash no longer existed or something).

Screenshot 2025-11-11 at 4 28 38 PM Screenshot 2025-11-11 at 4 28 47 PM

@colton-demetriou colton-demetriou added the create-dev-release Triggers dev release workflow label Nov 11, 2025
@github-actions
Copy link
Contributor

Warning: Component files have been updated but no migrations have been added. See https://github.com/yext/visual-editor/blob/main/packages/visual-editor/src/components/migrations/README.md for more information.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 11, 2025

Walkthrough

This PR adds a disabled?: boolean prop to CTA and MaybeLink and implements disabled rendering (CTA renders a non-interactive Button when disabled is true). DirectoryCard gains an optional existingSlots parameter used to seed slot-level styles and options; DirectoryWrapper now passes existing slot data when regenerating cards to preserve slot configurations. CTA link rendering width defaults were adjusted (w-fit unless forced full width). A timestamped Vite config module with screenshot-compare helpers was added, and starter directory JSON was updated with explicit slugs, metadata, and URL templates.

Sequence Diagram(s)

sequenceDiagram
    participant DW as DirectoryWrapper
    participant DC as DirectoryCard
    participant ML as MaybeLink
    participant CTA as CTA

    Note over DW: resolveData regenerates cards preserving styles + slots
    DW->>DC: defaultDirectoryCardSlotData(id,index,profile,styles, existingSlots)
    DC->>DC: Populate slot props from existingSlots when present
    DC->>DW: Return DirectoryCardProps with slots populated
    DW->>DW: setDeep updates props.slots.CardSlot[i]

    Note over DC: Runtime rendering of heading/link
    DC->>ML: Render MaybeLink(href, disabled = puck.isEditing)
    alt puck.isEditing = true
        ML->>CTA: CTA(href, disabled=true)
        CTA->>CTA: Render Button (non-interactive) with linkContent
    else puck.isEditing = false
        ML->>CTA: CTA(href, disabled=false)
        CTA->>CTA: Render Link with linkContent (label + caret)
    end
Loading

Possibly related PRs

Suggested reviewers

  • mkilpatrick
  • benlife5
  • briantstephan

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: directory title redirects and props' directly relates to the main changes: fixing redirect behavior and persisting props for directory cards.
Description check ✅ Passed The description accurately outlines the key changes: prop persistence for directory cards, disabled link functionality to prevent unwanted redirects, and local dev data for testing.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch neaby-locations-fix

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between eafaf14 and 18ea1ca.

📒 Files selected for processing (1)
  • packages/visual-editor/src/components/pageSections/NearbyLocations/NearbyLocations.tsx (1 hunks)

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 11, 2025

pages-visual-editor-starter

npm i https://pkg.pr.new/yext/visual-editor/@yext/visual-editor@894

commit: a9f55ae

@colton-demetriou colton-demetriou changed the title test fix: nearby locations 404 Nov 11, 2025
@asanehisa asanehisa marked this pull request as draft November 11, 2025 19:44
@colton-demetriou colton-demetriou changed the title fix: nearby locations 404 fix: directory title redirects and props Nov 11, 2025
@colton-demetriou colton-demetriou marked this pull request as ready for review November 11, 2025 21:31
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/visual-editor/src/components/directory/DirectoryCard.tsx (1)

51-121: Preserve existing slot style fields before applying defaults.

When resolveData rebuilds cards, these new objects replace the entire styles payload for the HeadingSlot, PhoneSlot, and HoursSlot. Because we don’t spread the existing styles first, any user-defined keys (for example a custom styles.className on the PhoneSlot) are wiped the moment the directory re-syncs with stream data. Please merge the previous styles before layering the defaults so we don’t regress saved customizations.

Apply this diff:

             styles: {
+              ...existingSlots?.HeadingSlot?.[0]?.props?.styles,
               level: existingSlots?.HeadingSlot?.[0]?.props?.styles?.level ?? 3,
               align:
                 existingSlots?.HeadingSlot?.[0]?.props?.styles?.align ?? "left",
             },
@@
             styles: {
+              ...existingSlots?.PhoneSlot?.[0]?.props?.styles,
               phoneFormat:
                 existingSlots?.PhoneSlot?.[0]?.props?.styles?.phoneFormat ??
                 "domestic",
               includePhoneHyperlink:
                 existingSlots?.PhoneSlot?.[0]?.props?.styles
                   ?.includePhoneHyperlink ?? true,
               includeIcon:
                 existingSlots?.PhoneSlot?.[0]?.props?.styles?.includeIcon ??
                 false,
             },
@@
             styles: {
+              ...existingSlots?.HoursSlot?.[0]?.props?.styles,
               dayOfWeekFormat:
                 existingSlots?.HoursSlot?.[0]?.props?.styles?.dayOfWeekFormat ??
                 "long",
               showDayNames:
                 existingSlots?.HoursSlot?.[0]?.props?.styles?.showDayNames ??
🧹 Nitpick comments (1)
packages/visual-editor/vite.config.ts.timestamp-1762894860199-2804037bc8f35.mjs (1)

156-177: Optional: Reduce duplication in cssStubPlugin.

The conditional logic checking CSS file patterns is duplicated between resolveId and load hooks. Consider extracting to a helper function for maintainability.

+const shouldStubCss = (id: string) => 
+  (id.endsWith(".css") || id.endsWith(".scss")) &&
+  !id.endsWith("componentTests.css") &&
+  !id.endsWith("style.css");
+
 const cssStubPlugin: Plugin = {
   name: "css-stub",
   enforce: "pre",
   resolveId(id) {
-    if (
-      (id.endsWith(".css") || id.endsWith(".scss")) &&
-      !id.endsWith("componentTests.css") &&
-      !id.endsWith("style.css")
-    ) {
+    if (shouldStubCss(id)) {
       return id;
     }
   },
   load(id) {
-    if (
-      (id.endsWith(".css") || id.endsWith(".scss")) &&
-      !id.endsWith("componentTests.css") &&
-      !id.endsWith("style.css")
-    ) {
+    if (shouldStubCss(id)) {
       return "export default {}";
     }
   },
 };
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 18ea1ca and 5c8e93f.

⛔ Files ignored due to path filters (77)
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] default props with document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] version 0 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] version 0 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] version 1 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] version 1 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] version 1 props with partial entity values 1.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] version 1 props with partial entity values 2.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[desktop] version 26 props with mixed values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] default props with document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] version 0 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] version 0 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] version 1 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] version 1 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] version 1 props with partial entity values 1.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] version 1 props with partial entity values 2.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[mobile] version 26 props with mixed values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] default props with document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] version 0 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] version 0 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] version 1 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] version 1 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] version 1 props with partial entity values 1.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] version 1 props with partial entity values 2.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/CoreInfoSection/[tablet] version 26 props with mixed values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[desktop] version 14 with cityDocument and default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[desktop] version 18 with cityDocument and siteName field.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 14 with cityDocument and default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 18 with cityDocument and siteName field.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[tablet] version 14 with cityDocument and default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[tablet] version 18 with cityDocument and siteName field.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/EventSection/[desktop] version 25 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/EventSection/[mobile] version 25 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/EventSection/[tablet] version 25 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[desktop] version 18 - atoms used to make a CoreInfoSection.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[desktop] version 19 - various CTAs.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[desktop] version 19 - various atoms.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[desktop] version 28 - various CTAs.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[mobile] version 18 - atoms used to make a CoreInfoSection.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[mobile] version 19 - various CTAs.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[mobile] version 19 - various atoms.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[mobile] version 28 - various CTAs.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[tablet] version 18 - atoms used to make a CoreInfoSection.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[tablet] version 19 - various CTAs.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[tablet] version 19 - various atoms.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Grid/[tablet] version 28 - various CTAs.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Header/[mobile] default props with document data (after interactions).png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Header/[mobile] version 2 props (after interactions).png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/ProductSection/[desktop] version 31 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/ProductSection/[mobile] version 31 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/ProductSection/[tablet] version 31 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/PromoSection/[desktop] version 29 props with mixed values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/PromoSection/[mobile] version 29 props with mixed values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/PromoSection/[tablet] version 29 props with mixed values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] default props with document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] default props with empty document.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] version 0 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] version 0 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] version 33 props with constant values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] version 33 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] version 7 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[desktop] version 7 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] default props with document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] default props with empty document.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] version 0 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] version 0 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] version 33 props with constant values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] version 33 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] version 7 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[mobile] version 7 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] default props with document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] default props with empty document.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] version 0 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] version 0 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] version 33 props with constant values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] version 33 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] version 7 props with constant value.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/TeamSection/[tablet] version 7 props with entity values.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
📒 Files selected for processing (6)
  • packages/visual-editor/src/components/atoms/cta.tsx (5 hunks)
  • packages/visual-editor/src/components/atoms/maybeLink.tsx (3 hunks)
  • packages/visual-editor/src/components/directory/DirectoryCard.tsx (6 hunks)
  • packages/visual-editor/src/components/directory/DirectoryWrapper.tsx (1 hunks)
  • packages/visual-editor/vite.config.ts.timestamp-1762894860199-2804037bc8f35.mjs (1 hunks)
  • starter/localData/dev-dm-city-stream__en__8932945.json (5 hunks)
🧰 Additional context used
🧬 Code graph analysis (3)
packages/visual-editor/src/components/directory/DirectoryWrapper.tsx (1)
packages/visual-editor/src/components/directory/DirectoryCard.tsx (1)
  • defaultDirectoryCardSlotData (22-136)
packages/visual-editor/src/components/directory/DirectoryCard.tsx (1)
packages/visual-editor/src/components/atoms/maybeLink.tsx (1)
  • MaybeLink (15-44)
packages/visual-editor/src/components/atoms/cta.tsx (1)
packages/visual-editor/src/components/atoms/button.tsx (1)
  • Button (89-115)
🔇 Additional comments (1)
packages/visual-editor/vite.config.ts.timestamp-1762894860199-2804037bc8f35.mjs (1)

68-142: This review comment is incorrect—the referenced .mjs file is not part of this PR.

The PR contains only PNG image changes. Neither packages/visual-editor/vite.config.ts.timestamp-1762894860199-2804037bc8f35.mjs nor the source vite.config.ts are included in the PR diff. The .mjs file is a temporary Vite build artifact that exists on disk but is not staged or committed. The source vite.config.ts is properly maintained and unmodified by this PR.

Likely an incorrect or invalid review comment.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 314a3c0 and a47c77a.

⛔ Files ignored due to path filters (13)
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] default props - country - document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] default props - region - document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] default props - root - document data.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 11 with default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 39 with countryDocument and default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 4 - directory list - default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 4 - directory list - non-default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 7 - directory list - default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 7 - directory list - non-default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 8 - country - default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 8 - directory list - non-default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 8 - region - default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
  • packages/visual-editor/src/components/testing/screenshots/Directory/[mobile] version 8 - root - default props.png is excluded by !**/*.png, !packages/visual-editor/src/components/testing/screenshots/**
📒 Files selected for processing (2)
  • packages/visual-editor/src/components/atoms/cta.tsx (4 hunks)
  • packages/visual-editor/src/components/directory/DirectoryCard.tsx (5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/visual-editor/src/components/directory/DirectoryCard.tsx
🧰 Additional context used
🧬 Code graph analysis (1)
packages/visual-editor/src/components/atoms/cta.tsx (1)
packages/visual-editor/src/components/atoms/button.tsx (1)
  • Button (89-115)
🔇 Additional comments (2)
packages/visual-editor/src/components/atoms/cta.tsx (2)

29-29: LGTM! Clean addition of the disabled prop.

The disabled prop is properly typed as optional and defaults to false, maintaining backward compatibility.

Also applies to: 141-141


159-179: LGTM! Good refactor to eliminate duplication.

Extracting the linkContent into a shared variable eliminates duplication between the disabled and normal rendering paths while preserving all the original caret visibility logic.

@colton-demetriou colton-demetriou merged commit 891bbf9 into fall-2025-slot-ify-components Nov 12, 2025
16 checks passed
@colton-demetriou colton-demetriou deleted the neaby-locations-fix branch November 12, 2025 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

create-dev-release Triggers dev release workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants