Skip to content

Fleet UI: Improve internal links/buttons#43470

Merged
RachelElysia merged 4 commits intomainfrom
43342-internal-links
Apr 14, 2026
Merged

Fleet UI: Improve internal links/buttons#43470
RachelElysia merged 4 commits intomainfrom
43342-internal-links

Conversation

@RachelElysia
Copy link
Copy Markdown
Member

@RachelElysia RachelElysia commented Apr 13, 2026

Issue

Closes #43342

Description

  • Now with AI coding, quickly updated the styling of Button variant="link" to be styled like CustomLink component, removed "text-link" and "text-link-dark" components to use variant="link" or variant="inverse" based on if it was a link style or button style pattern in the code
  • Able to remove CustomClickHandler from and replace those instances with button with variant="link"

Screenrecording

Screen.Recording.2026-04-13.at.2.07.10.PM.mov
Screen.Recording.2026-04-13.at.2.06.19.PM.mov

Checklist for submitter

If some of the following don't apply, delete the relevant line.

  • Changes file added for user-visible changes in changes/, orbit/changes/ or ee/fleetd-chrome/changes.
    See Changes files for more information.

Testing

  • QA'd all new/changed functionality manually

Summary by CodeRabbit

Release Notes

  • Style

    • Improved button and link styling consistency across the application, including hosts, software, policies, and administration pages.
    • Enhanced visual presentation of interactive elements throughout the UI with refined focus states and spacing.
  • Bug Fixes

    • Fixed text formatting in a preview modal.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 13, 2026

Codecov Report

❌ Patch coverage is 55.55556% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 66.91%. Comparing base (852ec6f) to head (8b01d37).
⚠️ Report is 19 commits behind head on main.

Files with missing lines Patch % Lines
.../ConditionalAccessModal/ConditionalAccessModal.tsx 0.00% 3 Missing ⚠️
.../AddHostsModal/PlatformWrapper/PlatformWrapper.tsx 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #43470      +/-   ##
==========================================
- Coverage   66.91%   66.91%   -0.01%     
==========================================
  Files        2596     2596              
  Lines      208101   208094       -7     
  Branches     9285     9171     -114     
==========================================
- Hits       139241   139236       -5     
+ Misses      56202    56200       -2     
  Partials    12658    12658              
Flag Coverage Δ
frontend 54.77% <55.55%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@RachelElysia RachelElysia marked this pull request as ready for review April 13, 2026 18:09
@RachelElysia RachelElysia requested a review from a team as a code owner April 13, 2026 18:09
Copilot AI review requested due to automatic review settings April 13, 2026 18:09
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

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

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Unify internal link styling with Button variant="link"

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Unified button link styling by replacing variant="text-link" and variant="text-link-dark" with
  variant="link"
• Removed CustomLink component's customClickHandler prop and replaced instances with `Button
  variant="link"`
• Fixed animated underline positioning to prevent jumpiness on hover by adjusting bottom border
  margins
• Simplified button styling to match CustomLink appearance with consistent animated underline
  behavior
Diagram
flowchart LR
  A["text-link and text-link-dark variants"] -->|"consolidate to"| B["link variant"]
  C["CustomLink with customClickHandler"] -->|"replace with"| D["Button variant=link"]
  E["Animated underline styling"] -->|"fix positioning"| F["Remove margin-bottom jumpiness"]
  B --> G["Consistent link appearance"]
  D --> G
  F --> G
Loading

Grey Divider

File Changes

1. frontend/components/buttons/Button/_styles.scss ✨ Enhancement +10/-44

Consolidate text-link variants into single link variant

frontend/components/buttons/Button/_styles.scss


2. frontend/styles/var/mixins.scss 🐞 Bug fix +2/-7

Fix animated underline bottom positioning

frontend/styles/var/mixins.scss


3. frontend/components/CustomLink/CustomLink.tsx ✨ Enhancement +0/-24

Remove customClickHandler prop and related logic

frontend/components/CustomLink/CustomLink.tsx


View more (23)
4. frontend/components/buttons/Button/Button.tsx ✨ Enhancement +2/-3

Update ButtonVariant type to use link instead of text-link

frontend/components/buttons/Button/Button.tsx


5. frontend/components/buttons/Button/Button.stories.tsx 📝 Documentation +1/-2

Update storybook to reflect new link variant

frontend/components/buttons/Button/Button.stories.tsx


6. frontend/components/buttons/DropdownButton/DropdownButton.stories.tsx 📝 Documentation +1/-1

Update dropdown button stories for link variant

frontend/components/buttons/DropdownButton/DropdownButton.stories.tsx


7. frontend/components/TableContainer/DataTable/ActionButton/_styles.scss ✨ Enhancement +1/-1

Update class name from text-link to link

frontend/components/TableContainer/DataTable/ActionButton/_styles.scss


8. frontend/pages/admin/UserManagementPage/components/UserForm/_styles.scss ✨ Enhancement +1/-2

Update button class reference to link variant

frontend/pages/admin/UserManagementPage/components/UserForm/_styles.scss


9. frontend/pages/policies/ManagePoliciesPage/components/CalendarEventsModal/_styles.scss ✨ Enhancement +1/-1

Replace text-link with inverse button variant

frontend/pages/policies/ManagePoliciesPage/components/CalendarEventsModal/_styles.scss


10. frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/_styles.scss ✨ Enhancement +0/-4

Remove unnecessary button styling rules

frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/_styles.scss


11. frontend/components/AddHostsModal/AddHostsModal.tsx ✨ Enhancement +4/-5

Replace CustomLink with Button variant=link

frontend/components/AddHostsModal/AddHostsModal.tsx


12. frontend/components/AddHostsModal/PlatformWrapper/PlatformWrapper.tsx ✨ Enhancement +3/-6

Replace text-link-dark button with link variant

frontend/components/AddHostsModal/PlatformWrapper/PlatformWrapper.tsx


13. frontend/pages/ManageControlsPage/Scripts/components/ScriptListItem/ScriptListItem.tsx ✨ Enhancement +1/-1

Update button variant from text-link to link

frontend/pages/ManageControlsPage/Scripts/components/ScriptListItem/ScriptListItem.tsx


14. frontend/pages/SoftwarePage/components/tables/HashCell/HashCell.tsx ✨ Enhancement +1/-1

Update button variant from text-link to link

frontend/pages/SoftwarePage/components/tables/HashCell/HashCell.tsx


15. frontend/pages/SoftwarePage/components/tables/InstalledPathCell/InstalledPathCell.tsx ✨ Enhancement +1/-1

Update button variant from text-link to link

frontend/pages/SoftwarePage/components/tables/InstalledPathCell/InstalledPathCell.tsx


16. frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx ✨ Enhancement +2/-8

Replace text-link button with link variant

frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx


17. frontend/pages/hosts/ManageHostsPage/ManageHostsPage.tsx ✨ Enhancement +6/-5

Replace CustomLink with Button variant=link

frontend/pages/hosts/ManageHostsPage/ManageHostsPage.tsx


18. frontend/pages/hosts/details/DeviceUserPage/components/DeviceUserBanners/DeviceUserBanners.tsx ✨ Enhancement +2/-2

Replace text-link-dark button with link variant

frontend/pages/hosts/details/DeviceUserPage/components/DeviceUserBanners/DeviceUserBanners.tsx


19. frontend/pages/hosts/details/HostDetailsPage/modals/RecoveryLockPasswordModal/RecoveryLockPasswordModal.tsx ✨ Enhancement +1/-1

Change button variant from text-link to inverse

frontend/pages/hosts/details/HostDetailsPage/modals/RecoveryLockPasswordModal/RecoveryLockPasswordModal.tsx


20. frontend/pages/hosts/details/HostDetailsPage/modals/SelectQueryModal/SelectQueryModal.tsx ✨ Enhancement +1/-1

Update button variant from text-link to link

frontend/pages/hosts/details/HostDetailsPage/modals/SelectQueryModal/SelectQueryModal.tsx


21. frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/OSSettingsIndicator.tsx ✨ Enhancement +7/-6

Replace CustomLink with Button variant=link

frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/OSSettingsIndicator.tsx


22. frontend/pages/hosts/details/cards/Software/InstallStatusCell/InstallStatusCell.tsx ✨ Enhancement +1/-1

Update button variant from text-link to link

frontend/pages/hosts/details/cards/Software/InstallStatusCell/InstallStatusCell.tsx


23. frontend/pages/hosts/details/cards/Vitals/Vitals.tsx ✨ Enhancement +7/-12

Replace CustomLink instances with Button variant=link

frontend/pages/hosts/details/cards/Vitals/Vitals.tsx


24. frontend/pages/policies/ManagePoliciesPage/components/ConditionalAccessModal/ConditionalAccessModal.tsx ✨ Enhancement +14/-2

Add conditional link to integrations settings page

frontend/pages/policies/ManagePoliciesPage/components/ConditionalAccessModal/ConditionalAccessModal.tsx


25. changes/43342-improved-button-link-styling 📝 Documentation +1/-0

Add changelog entry for button link styling

changes/43342-improved-button-link-styling


26. frontend/pages/admin/components/HostStatusWebhookPreviewModal/HostStatusWebhookPreviewModal.tsx Additional files +1/-1

...

frontend/pages/admin/components/HostStatusWebhookPreviewModal/HostStatusWebhookPreviewModal.tsx


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 13, 2026

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 13, 2026

Walkthrough

This PR refactors the Fleet UI's internal link styling by consolidating button link variants. It removes the "text-link" and "text-link-dark" button variants in favor of a single unified "link" variant, simplifies the CustomLink component by removing custom click handler functionality, and migrates multiple components across the frontend to use the new Button(variant="link") pattern. Supporting SCSS styling, focus handling, and Storybook stories are updated accordingly to reflect the new design system consolidation.

Possibly related PRs

  • 43422: Directly involved in CustomLink behavior refactoring and migration of components to use Button(variant="link") styling throughout the application
  • 41166: Also modifies host-details modal components and RecoveryLockPasswordModal, which are touched in this PR's migration changes
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Fleet UI: Improve internal links/buttons' directly and clearly summarizes the main change: refactoring internal UI links and buttons for improved styling and consistency.
Description check ✅ Passed The description covers the main objective (closing #43342), explains the key changes (restylizing Button variant='link', removing 'text-link'/'text-link-dark', removing CustomClickHandler), and includes screen recordings. However, it only checks one item from the optional checklist and lacks detail on testing scope.
Linked Issues check ✅ Passed The PR successfully addresses all coding objectives from #43342: removes 'click here' and updates to 'visit the ChromeOS tab' [PlatformWrapper.tsx], replaces CustomLink with Button variant='link' throughout, updates button styling to match link appearance [Button/_styles.scss], and replaces CustomClickHandler usage with onClick handlers [AddHostsModal.tsx, Vitals.tsx, ManageHostsPage.tsx, OSSettingsIndicator.tsx].
Out of Scope Changes check ✅ Passed All changes remain within scope of #43342's objectives: Button/CustomLink refactoring, variant updates, styling adjustments, and copy improvements. The only tangential change is fixing a curly apostrophe in HostStatusWebhookPreviewModal.tsx, which is a minor incidental fix.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 43342-internal-links

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@frontend/components/buttons/Button/_styles.scss`:
- Around line 221-225: The .button--link block (&--link selector) violates
stylelint spacing by missing a blank line before the declaration at the start of
the rule; open the .button--link (the &--link selector) rule and insert a single
empty line before the first declaration (e.g., before the `@include` link line) so
the rule follows the project's stylelint spacing convention.

In
`@frontend/pages/policies/ManagePoliciesPage/components/ConditionalAccessModal/ConditionalAccessModal.tsx`:
- Around line 143-155: In ConditionalAccessModal (JSX in
ConditionalAccessModal.tsx) the trailing period is rendered as a separate text
node causing an extra space before the period; update the JSX so the period is
directly adjacent to the preceding text (for both the CustomLink branch and the
non-link fragment) by moving the period into the same string/element as the
previous content (e.g., attach "." to the CustomLink text or include it inside
the fragment next to <b>Conditional access</b>) and remove the standalone " ."
node.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d2d9e1d7-ca1c-4092-b121-6f66a5398cf4

📥 Commits

Reviewing files that changed from the base of the PR and between e1dac52 and 8b01d37.

📒 Files selected for processing (26)
  • changes/43342-improved-button-link-styling
  • frontend/components/AddHostsModal/AddHostsModal.tsx
  • frontend/components/AddHostsModal/PlatformWrapper/PlatformWrapper.tsx
  • frontend/components/CustomLink/CustomLink.tsx
  • frontend/components/TableContainer/DataTable/ActionButton/_styles.scss
  • frontend/components/buttons/Button/Button.stories.tsx
  • frontend/components/buttons/Button/Button.tsx
  • frontend/components/buttons/Button/_styles.scss
  • frontend/components/buttons/DropdownButton/DropdownButton.stories.tsx
  • frontend/pages/ManageControlsPage/Scripts/components/ScriptListItem/ScriptListItem.tsx
  • frontend/pages/SoftwarePage/components/tables/HashCell/HashCell.tsx
  • frontend/pages/SoftwarePage/components/tables/InstalledPathCell/InstalledPathCell.tsx
  • frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx
  • frontend/pages/admin/UserManagementPage/components/UserForm/_styles.scss
  • frontend/pages/admin/components/HostStatusWebhookPreviewModal/HostStatusWebhookPreviewModal.tsx
  • frontend/pages/hosts/ManageHostsPage/ManageHostsPage.tsx
  • frontend/pages/hosts/details/DeviceUserPage/components/DeviceUserBanners/DeviceUserBanners.tsx
  • frontend/pages/hosts/details/HostDetailsPage/modals/RecoveryLockPasswordModal/RecoveryLockPasswordModal.tsx
  • frontend/pages/hosts/details/HostDetailsPage/modals/SelectQueryModal/SelectQueryModal.tsx
  • frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/OSSettingsIndicator.tsx
  • frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/_styles.scss
  • frontend/pages/hosts/details/cards/Software/InstallStatusCell/InstallStatusCell.tsx
  • frontend/pages/hosts/details/cards/Vitals/Vitals.tsx
  • frontend/pages/policies/ManagePoliciesPage/components/CalendarEventsModal/_styles.scss
  • frontend/pages/policies/ManagePoliciesPage/components/ConditionalAccessModal/ConditionalAccessModal.tsx
  • frontend/styles/var/mixins.scss
💤 Files with no reviewable changes (2)
  • frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/_styles.scss
  • frontend/components/CustomLink/CustomLink.tsx

Comment on lines +221 to 225
&--link {
@include link;
@include animated-bottom-border($core-fleet-black, $ui-fleet-black-25);
background: transparent;
border: 0;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix stylelint spacing violation in .button--link.

At Line 224, stylelint expects an empty line before the declaration.

💡 Suggested fix
   &--link {
     `@include` link;
     `@include` animated-bottom-border($core-fleet-black, $ui-fleet-black-25);
+
     background: transparent;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
&--link {
@include link;
@include animated-bottom-border($core-fleet-black, $ui-fleet-black-25);
background: transparent;
border: 0;
&--link {
`@include` link;
`@include` animated-bottom-border($core-fleet-black, $ui-fleet-black-25);
background: transparent;
border: 0;
🧰 Tools
🪛 Stylelint (17.6.0)

[error] 224-224: Expected empty line before declaration (declaration-empty-line-before)

(declaration-empty-line-before)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/components/buttons/Button/_styles.scss` around lines 221 - 225, The
.button--link block (&--link selector) violates stylelint spacing by missing a
blank line before the declaration at the start of the rule; open the
.button--link (the &--link selector) rule and insert a single empty line before
the first declaration (e.g., before the `@include` link line) so the rule follows
the project's stylelint spacing convention.

Comment on lines +143 to +155
This can be configured in{" "}
{isGlobalAdmin ? (
<CustomLink
url={PATHS.ADMIN_INTEGRATIONS_CONDITIONAL_ACCESS}
text="Settings > Integrations > Conditional access"
/>
) : (
<>
<b>Settings</b> &gt; <b>Integrations</b> &gt;{" "}
<b>Conditional access</b>
</>
)}
.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Remove the extra space before the trailing period.

At Line 155, the period is rendered in a separate text node, which can introduce Conditional access . in UI copy.

💡 Suggested fix
-      )}
-      .
+      )}.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
This can be configured in{" "}
{isGlobalAdmin ? (
<CustomLink
url={PATHS.ADMIN_INTEGRATIONS_CONDITIONAL_ACCESS}
text="Settings > Integrations > Conditional access"
/>
) : (
<>
<b>Settings</b> &gt; <b>Integrations</b> &gt;{" "}
<b>Conditional access</b>
</>
)}
.
This can be configured in{" "}
{isGlobalAdmin ? (
<CustomLink
url={PATHS.ADMIN_INTEGRATIONS_CONDITIONAL_ACCESS}
text="Settings > Integrations > Conditional access"
/>
) : (
<>
<b>Settings</b> &gt; <b>Integrations</b> &gt;{" "}
<b>Conditional access</b>
</>
)}.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@frontend/pages/policies/ManagePoliciesPage/components/ConditionalAccessModal/ConditionalAccessModal.tsx`
around lines 143 - 155, In ConditionalAccessModal (JSX in
ConditionalAccessModal.tsx) the trailing period is rendered as a separate text
node causing an extra space before the period; update the JSX so the period is
directly adjacent to the preceding text (for both the CustomLink branch and the
non-link fragment) by moving the period into the same string/element as the
previous content (e.g., attach "." to the CustomLink text or include it inside
the fragment next to <b>Conditional access</b>) and remove the standalone " ."
node.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR standardizes Fleet UI “link-like” interactions by consolidating link-styled buttons into a single Button variant and removing CustomLink’s click-handler role in favor of semantic <button> usage for modal triggers.

Changes:

  • Replaces Button variants text-link / text-link-dark with a unified link variant and updates related Storybook/options and SCSS selectors.
  • Removes customClickHandler behavior from CustomLink, migrating modal-opening “links” to Button variant="link".
  • Tweaks the shared underline/border animation mixins to adjust underline positioning.

Reviewed changes

Copilot reviewed 25 out of 26 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
frontend/styles/var/mixins.scss Adjust underline pseudo-element positioning and simplify animated underline behavior.
frontend/pages/policies/ManagePoliciesPage/components/ConditionalAccessModal/ConditionalAccessModal.tsx Makes the settings path an internal link for global admins.
frontend/pages/policies/ManagePoliciesPage/components/CalendarEventsModal/_styles.scss Updates selector to match new button variant class.
frontend/pages/hosts/details/cards/Vitals/Vitals.tsx Replaces CustomLink-driven modal triggers with Button variant="link".
frontend/pages/hosts/details/cards/Software/InstallStatusCell/InstallStatusCell.tsx Migrates text-link variant to link.
frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/_styles.scss Removes now-unneeded button-specific styling.
frontend/pages/hosts/details/cards/HostSummary/OSSettingsIndicator/OSSettingsIndicator.tsx Replaces CustomLink click handling with Button variant="link".
frontend/pages/hosts/details/HostDetailsPage/modals/SelectQueryModal/SelectQueryModal.tsx Migrates text-link variant to link.
frontend/pages/hosts/details/HostDetailsPage/modals/RecoveryLockPasswordModal/RecoveryLockPasswordModal.tsx Updates rotate action styling to inverse variant.
frontend/pages/hosts/details/DeviceUserPage/components/DeviceUserBanners/DeviceUserBanners.tsx Migrates text-link-dark usage to link.
frontend/pages/hosts/ManageHostsPage/ManageHostsPage.tsx Replaces a CustomLink modal trigger with Button variant="link".
frontend/pages/admin/components/HostStatusWebhookPreviewModal/HostStatusWebhookPreviewModal.tsx Normalizes apostrophe usage in preview text.
frontend/pages/admin/UserManagementPage/components/UserForm/_styles.scss Updates selector to match new button variant class.
frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/UsersPage/components/AddUsersModal/AddUsersModal.tsx Migrates text-link to link for “Create a user” CTA.
frontend/pages/SoftwarePage/components/tables/InstalledPathCell/InstalledPathCell.tsx Migrates text-link variant to link.
frontend/pages/SoftwarePage/components/tables/HashCell/HashCell.tsx Migrates text-link variant to link.
frontend/pages/ManageControlsPage/Scripts/components/ScriptListItem/ScriptListItem.tsx Migrates text-link variant to link for list item title styling.
frontend/components/buttons/DropdownButton/DropdownButton.stories.tsx Updates Storybook control options to use link.
frontend/components/buttons/Button/_styles.scss Removes old link variants and defines new button--link styling using shared link mixins.
frontend/components/buttons/Button/Button.tsx Updates variant type union and onWhite logic for spinner styling.
frontend/components/buttons/Button/Button.stories.tsx Updates stories to use new link variant.
frontend/components/TableContainer/DataTable/ActionButton/_styles.scss Updates selector to match new button variant class.
frontend/components/CustomLink/CustomLink.tsx Removes customClickHandler and related key handling; keeps link as navigation-only.
frontend/components/AddHostsModal/PlatformWrapper/PlatformWrapper.tsx Replaces “click here” with clearer text and uses Button variant="link".
frontend/components/AddHostsModal/AddHostsModal.tsx Replaces CustomLink modal trigger with Button variant="link".
changes/43342-improved-button-link-styling Adds release note entry for the UI change.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +128 to +134
<Button
variant="link"
onClick={onClick}
className={`${baseClass}__button`}
/>
>
{displayStatus}
</Button>
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

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

className={${baseClass}__button} is still applied to the new Button but the corresponding SCSS block for &__button was removed in this PR. Since this class no longer appears to be referenced anywhere, consider removing the className to avoid leaving behind a dead styling hook (or reintroduce styles if it’s still needed).

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

ok bot, will followup

@RachelElysia RachelElysia merged commit ecf2bad into main Apr 14, 2026
23 checks passed
@RachelElysia RachelElysia deleted the 43342-internal-links branch April 14, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fleet UI: Improve internal links

3 participants