fix: replace @mui/icons-material with @iconify/react (v0.2.3)

Material-UI icons were not provided as globals by Headlamp, causing
'undefined is not an object (evaluating Ct.createSvgIcon)' errors.

Headlamp provides @iconify/react as a global, so all icon imports have
been replaced with Iconify equivalents:
- ErrorOutline → mdi:alert-circle-outline
- ContentCopy → mdi:content-copy
- Visibility → mdi:eye
- VisibilityOff → mdi:eye-off
- CheckCircle → mdi:check-circle
- Error → mdi:alert-circle
- Warning → mdi:alert
- Add → mdi:plus
- Delete → mdi:delete

Changes:
- Replaced all @mui/icons-material imports with @iconify/react Icon component
- Updated 4 component files (ErrorBoundary, DecryptDialog, EncryptDialog, ControllerStatus)
- Bumped version to 0.2.3
- Bundle size reduced: 358.18 kB (98.04 kB gzipped)
- Checksum: SHA256:03787323abc9430a63433838253b2dd8296d237000acdfe4ce2507678b63125f

This should fix the plugin loading issue and make the sidebar entry appear.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
This commit is contained in:
2026-02-12 09:35:58 -05:00
parent ab366341f3
commit b4cc5be6c3
9 changed files with 451 additions and 23 deletions
+23 -6
View File
@@ -1,17 +1,18 @@
{
"name": "headlamp-sealed-secrets",
"version": "0.2.1",
"version": "0.2.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "headlamp-sealed-secrets",
"version": "0.2.1",
"version": "0.2.2",
"license": "Apache-2.0",
"dependencies": {
"node-forge": "^1.3.1"
},
"devDependencies": {
"@iconify/react": "^6.0.2",
"@kinvolk/headlamp-plugin": "^0.13.0",
"@types/node-forge": "^1.3.11",
"typedoc": "^0.28.16",
@@ -1486,13 +1487,16 @@
}
},
"node_modules/@iconify/react": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/@iconify/react/-/react-3.2.2.tgz",
"integrity": "sha512-z3+Jno3VcJzgNHsN5mEvYMsgCkOZkydqdIwOxjXh45+i2Vs9RGH68Y52vt39izwFSfuYUXhaW+1u7m7+IhCn/g==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@iconify/react/-/react-6.0.2.tgz",
"integrity": "sha512-SMmC2sactfpJD427WJEDN6PMyznTFMhByK9yLW0gOTtnjzzbsi/Ke/XqsumsavFPwNiXs8jSiYeZTmLCLwO+Fg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@iconify/types": "^2.0.0"
},
"funding": {
"url": "http://github.com/sponsors/cyberalien"
"url": "https://github.com/sponsors/cyberalien"
},
"peerDependencies": {
"react": ">=16"
@@ -1916,6 +1920,19 @@
"headlamp-plugin": "bin/headlamp-plugin.js"
}
},
"node_modules/@kinvolk/headlamp-plugin/node_modules/@iconify/react": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/@iconify/react/-/react-3.2.2.tgz",
"integrity": "sha512-z3+Jno3VcJzgNHsN5mEvYMsgCkOZkydqdIwOxjXh45+i2Vs9RGH68Y52vt39izwFSfuYUXhaW+1u7m7+IhCn/g==",
"dev": true,
"license": "MIT",
"funding": {
"url": "http://github.com/sponsors/cyberalien"
},
"peerDependencies": {
"react": ">=16"
}
},
"node_modules/@mdx-js/react": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz",