Skip to content

Remove tremor completely#3777

Merged
RichDom2185 merged 8 commits into
masterfrom
remove-tremor
Apr 14, 2026
Merged

Remove tremor completely#3777
RichDom2185 merged 8 commits into
masterfrom
remove-tremor

Conversation

@RichDom2185
Copy link
Copy Markdown
Member

Description

Replaces with BlueprintJS for UI consistency. Also because Tremor v1 isn't working following React 19 upgrade, so we have to remove it now.

Follow up to #3024. Closes #2849 (finally).

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • Code quality improvements

How to test

Checklist

  • I have tested this code
  • I have updated the documentation

@RichDom2185 RichDom2185 self-assigned this Apr 14, 2026
@RichDom2185 RichDom2185 requested a review from Nocaxe April 14, 2026 08:05
@RichDom2185 RichDom2185 merged commit 8d1fb56 into master Apr 14, 2026
10 checks passed
@RichDom2185 RichDom2185 deleted the remove-tremor branch April 14, 2026 08:08
@coveralls
Copy link
Copy Markdown

Coverage Report for CI Build 24388012407

Coverage remained the same at 40.892%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 13800
Covered Lines: 6087
Line Coverage: 44.11%
Relevant Branches: 7006
Covered Branches: 2421
Branch Coverage: 34.56%
Branches in Coverage %: Yes
Coverage Strength: 28.95 hits per line

💛 - Coveralls

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the application away from @tremor/react by replacing its UI components with BlueprintJS and internal Grading components across several modules, including Ground Control and Team Formation. The review feedback highlights that the Blueprint Button component should use the minimal boolean prop instead of a variant string. It also suggests using onMouseUp for actions that require immediate UI updates and recommends removing TODO comments in favor of formal task tracking.

size="xs"
icon={() => <BpIcon icon={IconNames.MINUS} />}
variant="light"
variant="minimal"
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.

high

The Blueprint Button component does not have a variant prop. To achieve the minimal style, use the minimal boolean prop instead.

Suggested change
variant="minimal"
minimal

onClick={handleIncrement}
/>
</Flex>
<Button variant="minimal" icon={IconNames.PLUS} onClick={handleIncrement} />
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.

high

The Blueprint Button component uses the minimal boolean prop instead of a variant prop. Additionally, use onMouseUp instead of onClick for button actions that require an immediate component redraw, as onClick may not trigger the redraw instantly.

Suggested change
<Button variant="minimal" icon={IconNames.PLUS} onClick={handleIncrement} />
<Button minimal icon={IconNames.PLUS} onMouseUp={handleIncrement} />
References
  1. Use onMouseUp instead of onClick for button actions that require an immediate component redraw, as onClick may not trigger the redraw instantly.

<GradingFlex>
<Tooltip placement={Position.TOP} content="Edit">
<Link to={`/courses/${courseId}/teamformation/edit/${teamId}`}>
<Button intent="primary" icon={IconNames.EDIT} variant="minimal" />
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.

high

Blueprint's Button does not support a variant prop. Use the minimal prop instead.

Suggested change
<Button intent="primary" icon={IconNames.EDIT} variant="minimal" />
<Button intent="primary" icon={IconNames.EDIT} minimal />

<Button
intent="danger"
icon={IconNames.TRASH}
variant="minimal"
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.

high

Blueprint's Button does not support a variant prop. Use the minimal prop instead.

Suggested change
variant="minimal"
minimal

size="xs"
icon={() => <BpIcon icon={IconNames.ARROW_LEFT} />}
variant="light"
variant="minimal"
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.

high

Blueprint's Button uses the minimal prop rather than variant="minimal".

Suggested change
variant="minimal"
minimal

size="xs"
icon={() => <BpIcon icon={IconNames.ARROW_RIGHT} />}
variant="light"
variant="minimal"
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.

high

Blueprint's Button uses the minimal prop rather than variant="minimal".

Suggested change
variant="minimal"
minimal


return (
<button type="button" onClick={handleFilterChange} style={{ padding: 0 }}>
<Button variant="minimal" onClick={handleFilterChange} style={{ padding: 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.

high

Blueprint's Button uses the minimal prop rather than variant="minimal". Also, use onMouseUp instead of onClick for button actions that require an immediate component redraw, as onClick may not trigger the redraw instantly.

Suggested change
<Button variant="minimal" onClick={handleFilterChange} style={{ padding: 0 }}>
<Button minimal onMouseUp={handleFilterChange} style={{ padding: 0 }}>
References
  1. Use onMouseUp instead of onClick for button actions that require an immediate component redraw, as onClick may not trigger the redraw instantly.


import { getBadgeColorFromLabelLegacy } from '../../grading/subcomponents/GradingBadges';

// TODO: Remove after migration is completed
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.

medium

Avoid using TODO comments in the codebase. Please track this task in your project management system instead.

References
  1. Resolve known issues or track them in a formal task management system instead of leaving TODO comments in the codebase.

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.

Remove Tremor UI library

2 participants