shadcn.io is not affiliated with official shadcn/ui
Can and Cannot Detail Integration Block for React
An integration detail section for a release-notes tool installing on GitHub: a header with the mark pair and Install on GitHub, then two columns sharing a divider, the read-only permissions it uses and the ones it has no access to.
Installation
Overview
An integration detail section for React with Base UI, written for Mergequill, a fictional tool that drafts release notes from merged pull requests, and its GitHub App. A start-aligned header names both ("Mergequill for GitHub") with one sentence; at its end sit the mark pair (Mergequill's own tile and GitHub's neutral lettermark tile, joined by a connector), the Install on GitHub Shine Button and a View docs link. Under a band rule, two equal columns share one divider. "Can read" lists four rows, each with a check, a reason, a Read-only badge and GitHub's own name for the repository permission it comes from (Pull requests, Checks), then the three webhook events the app listens for. "Never touches" lists four rows, each with a cross, a No access badge and the permission it lacks (Contents, Secrets, Administration), then a note that GitHub lets the installer choose the repositories. On a phone the two columns stack, reads first. The block ends on content, so no rule closes it. The page's rails and top rule come from the Guides spine, so it lines up with its neighbours in a stack. It's built from Guides, Badge, Button and Shine Button, with CSS transitions for the entrance and your theme's tokens for every colour. GitHub is named in text only: no GitHub logo, colour or wordmark ships with the block. The product and its rows are example data, and nothing installs or connects from the block itself.
FAQ
Can I show GitHub's logo?
The block names GitHub in text, the way any integration page says what it works with ("Mergequill for GitHub", "Install on GitHub"), and ships no GitHub logo, colour or wordmark. GitHub's tile is a neutral lettermark, Gh in a muted square, in an icon slot that a code comment marks: drop in the official mark only if you have the rights to use it, under the owner's brand guidelines, and never redraw it. The pair is hidden from assistive technology because the heading already names both products.
Where should Install on GitHub go?
Both buttons are links (href="#"). Point Install on GitHub at your GitHub App's installation address and View docs at your setup guide. Nothing installs, signs in or sends anything from the block itself. Install on GitHub is the block's one primary action; View docs is an outline button.
Both buttons render the link they're given with render, with nativeButton={false}.
How do I match the lists to my app?
Edit READS and NEVERS at the top of the file. Each row is a title, a purpose and permission, the name GitHub shows for that repository permission. List exactly what your app requests as read-only, and the sensitive permissions it does not request as "never": GitHub shows the installer the permissions an app asks for before they confirm, so the page and the install screen should agree. The counts above each list come from the arrays.
What are the three event chips?
They are the webhook events the example app subscribes to, in GitHub's own names: pull_request (when one is merged or labelled), and check_run and check_suite (when checks finish). Each needs only a read-only repository permission that the lists already show. Change EVENTS to the events your app uses; an event that needs a permission you list as "never" would contradict the page, so check each one against GitHub's webhook documentation.
Can the installer pick repositories?
Yes, and the block says so: an app that requests repository permissions lets the person installing it choose all repositories or only selected ones, and GitHub lists the requested permissions on that screen. The block only describes this; the choice happens on GitHub.
How does it fit on a phone, in right-to-left layouts and with reduced motion?
Below lg the divider gives way to a rule between the columns, which stack in reading order: the header, the mark pair and buttons, what it can read, then what it never touches. In a right-to-left layout the columns flip while permission names and event names keep their left-to-right order. The header and the buttons fade up once on load with CSS transitions; with reduced motion they simply appear. The block has no state.
Related
- Pro
Slack Detail Integration
Scopes and stepsAn integration detail section for a spend tool connecting to Slack: a header with the mark pair and Add to Slack, then what it does, the Slack scopes it reads and writes, three steps to install and the listing's facts.
- Pro
GitHub Grid Integration
Cards and previewsAn integration grid section for a release-notes tool reading from GitHub: five check rows with a switch each, and a drawn pull request box whose merge button reads Merge or Waiting on a count of checks as you switch them.
- Pro
GitHub Setup Integration
Guided stepsAn integration setup section for a release-notes tool installing on GitHub: a progress strip and three bands to pick an account from radio cards, choose All or Only select repositories, and tick repositories under a Free plan limit of five, with Finish setup that waits for a valid choice.
- Pro
GitHub List Integration
Synced tablesAn integration list section for a release-notes tool reading from GitHub: fourteen pull requests under a segmented Open, Merged and Closed filter with derived counts, branch pills, check dots, release-note state, and a working Retry on the one row that failed to sync.
- Pro
GitHub Stats Integration
Bars and columnsAn integration stats section for a release-notes tool reading from GitHub: cycle time by repository as stacked bars of four stage medians on a shared scale, a legend, the total hours at the end of each row, and a headline worked out from the data.
- Pro
Integration Logo Mark Grid Features
App screensA tabbed integration directory for an integration hub: twelve tiles with abstract monograms, each with a connect switch, three category tabs and a live count of what is connected.