Skip to content

Comments

feat: apply Frame component to webhooks settings page#27291

Merged
dhairyashiil merged 5 commits intomainfrom
devin/1769516724-webhooks-frame-component
Jan 27, 2026
Merged

feat: apply Frame component to webhooks settings page#27291
dhairyashiil merged 5 commits intomainfrom
devin/1769516724-webhooks-frame-component

Conversation

@PeerRich
Copy link
Member

@PeerRich PeerRich commented Jan 27, 2026

What does this PR do?

Applies the <Frame> component from coss ui to the /settings/developer/webhooks page, replacing the previous SettingsHeader wrapper with the standardized Frame component pattern. Also improves the badge presentation for webhook event triggers.

Reference: https://coss.com/ui/docs/components/frame

Changes:

  • Replaced SettingsHeader with Frame component as the main container
  • Added FrameHeader with FrameTitle and FrameDescription to include the section header and description inside the Frame
  • Wrapped each individual webhook in its own <FramePanel> component for visual separation
  • Wrapped empty state with <FramePanel> for consistent styling
  • Removed unused classNames and SettingsHeader imports
  • Fixed typo: items-centersitems-center

Updates since last revision:

  • Implemented two-row badge limit with overflow tooltip for webhook event triggers
  • Shows first 8 badges (approximately 2 rows), with remaining triggers displayed in a tooltip on hover via "+X more" badge
  • Added improved spacing between webhook items (mt-2) and between header and first item (mb-2) for better visual hierarchy

Visual Demo

Webhooks page with Frame component and improved spacing

Webhooks page with improved spacing

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. N/A - no documentation changes needed.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

  1. Navigate to /settings/developer/webhooks
  2. Verify the Frame header displays the title "Webhooks" and description correctly
  3. Verify the "+ New" button is positioned correctly in the header
  4. Verify spacing between header and first webhook panel looks appropriate
  5. Create multiple webhooks and verify each displays in its own separate FramePanel with proper spacing between them
  6. If you have multiple teams, verify the team headers display correctly above their respective webhook panels
  7. Delete all webhooks and verify the empty state displays correctly within a FramePanel
  8. Create a webhook with many event triggers (>8) and verify:
    • Only the first 8 badges are shown
    • A "+X more" badge appears showing the count of remaining triggers
    • Hovering over the "+X more" badge shows a tooltip with the remaining trigger names

Checklist

  • My code follows the style guidelines of this project
  • I have checked if my changes generate no new warnings
  • My PR is small (<500 lines and <10 files)

Human Review Checklist

  • Verify each webhook appearing in its own FramePanel looks correct visually
  • Verify spacing between header and first item (mb-2) looks appropriate
  • Verify spacing between webhook items (mt-2) provides good visual separation
  • Verify team headers display correctly between panels (when user has multiple teams)
  • Verify the Frame component styling matches the expected coss ui design
  • Verify the header layout (title, description, CTA button) is correct
  • Verify empty state appearance is correct
  • Verify the two-row badge limit (8 badges max) displays correctly
  • Verify the "+X more" tooltip shows remaining triggers on hover
  • Verify lastItem={true} is correct since each webhook is now in its own FramePanel (no border needed between items)

Link to Devin run

https://app.devin.ai/sessions/881e7eaa382243558fe8e2ccd632ee1d

Requested by

@PeerRich

Co-Authored-By: peer@cal.com <peer@cal.com>
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration bot and others added 3 commits January 27, 2026 12:47
Co-Authored-By: peer@cal.com <peer@cal.com>
Co-Authored-By: peer@cal.com <peer@cal.com>
…hooks

Co-Authored-By: peer@cal.com <peer@cal.com>
@pull-request-size pull-request-size bot added size/L and removed size/M labels Jan 27, 2026
Co-Authored-By: peer@cal.com <peer@cal.com>
@dhairyashiil dhairyashiil marked this pull request as ready for review January 27, 2026 14:30
Copy link
Member

@dhairyashiil dhairyashiil left a comment

Choose a reason for hiding this comment

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

lgtm

@dhairyashiil dhairyashiil enabled auto-merge (squash) January 27, 2026 14:39
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 2 files

@dhairyashiil dhairyashiil merged commit 85f3cd6 into main Jan 27, 2026
81 of 82 checks passed
@dhairyashiil dhairyashiil deleted the devin/1769516724-webhooks-frame-component branch January 27, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants