Standardize FontAwesome usage#20334
Merged
mvdbeek merged 24 commits intogalaxyproject:devfrom Nov 3, 2025
Merged
Conversation
Member
Author
|
There are a few remaining instances and some linting to fix, but I'll keep rebasing into this so we have a clear cutover changeset. |
65f0d92 to
d057818
Compare
3e38a9e to
6ed61e7
Compare
Member
Author
|
Ouch. I'll rebase this, just ran into it get again in the context of pulling changes over from vite/vue/etc. |
bf8ac97 to
f2a2358
Compare
Updated components to import icon objects directly instead of using library.add(). Components now bind icons with :icon="faIconName" rather than icon="fa-icon-name".
Updated Workflow and Libraries icon files to export icon arrays instead of calling library.add(). Also updated useInvocationGraph to remove library registration.
Changed icon prop documentation to reflect using icon objects instead of library.add().
Deleted the icon plugin file and removed it from the plugin index, mountVueComponent, and test helpers. Some tests will fail temporarily because a few components still use string-based icon references that relied on the global icon library.
Created a script to auto-generate TypeScript exports from the Galaxy icon JSON. The gulpfile now runs this during the icon build step, creating galaxyIcons.ts with properly typed IconDefinition exports.
Imported galaxyLogo from the generated Galaxy icons and used it directly instead of the string array format.
Update Heading, MastheadItem, and icon generation to accept both FontAwesome and Galaxy icons through the new IconLike type.
Improved icon generation to use manual formatting instead of JSON.stringify for better readability and consistency with other icon files.
Updated various components to use direct icon imports instead of string-based references. Removed remaining library.add() calls and updated templates to bind icon objects.
Updated DataDialog, GridBoolean, GridList, GridPage, and Masthead to use FontAwesomeIcon instead of the custom Icon component.
…Galaxy custom icons
7e24eef to
adf9c09
Compare
|
This PR was merged without a "kind/" label, please correct. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace the string-based FontAwesome library approach with direct SVG icon imports for better tree-shaking and type safety.
Changes:
Removed library.add() calls: Eliminated all library.add() statements that were registering icons globally
Removed library imports: Removed import { library } from "@fortawesome/fontawesome-svg-core"
Updated icon usage patterns: Changed from string-based icon references to direct icon object references
Before:
After:
The icon plugin/mixin are still up in the air. I could see pushing it all through a
GIconif we wanted, instead of FontAwesome directly, and can make that changes. This first standardization pass is important though, either way, just to get it all aligned.