This is an automated email from the ASF dual-hosted git repository. mgubaidullin pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit a83a90af022a638b9e52f986688eaeb410e80541 Author: Marat Gubaidullin <[email protected]> AuthorDate: Mon Aug 24 18:10:57 2026 -0400 Login Fix --- .../karavan/service/CamelComponentService.java | 6 ++- karavan-app/src/main/webui/package-lock.json | 47 ++++++++-------------- .../src/main/webui/src/ui/login/LoginPage.tsx | 30 +++----------- 3 files changed, 27 insertions(+), 56 deletions(-) diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelComponentService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelComponentService.java index 2e95bfee..ee46af0b 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelComponentService.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelComponentService.java @@ -6,7 +6,9 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import org.jboss.logging.Logger; -import java.util.*; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; @ApplicationScoped public class CamelComponentService { @@ -20,7 +22,7 @@ public class CamelComponentService { private JsonArray getComponents() { if (components == null) { - var json = codeService.getResourceFile("/metadata/components-full.json"); + var json = codeService.getResourceFile("/metadata/components.json"); components = new JsonArray(json); } return components; diff --git a/karavan-app/src/main/webui/package-lock.json b/karavan-app/src/main/webui/package-lock.json index bb610226..4dce4f70 100644 --- a/karavan-app/src/main/webui/package-lock.json +++ b/karavan-app/src/main/webui/package-lock.json @@ -92,6 +92,7 @@ "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", @@ -892,9 +893,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -912,9 +910,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -932,9 +927,6 @@ "ppc64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -952,9 +944,6 @@ "s390x" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -972,9 +961,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -992,9 +978,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1277,6 +1260,7 @@ "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -1701,6 +1685,7 @@ "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.18.0" } @@ -1716,6 +1701,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz", "integrity": "sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -1799,6 +1785,7 @@ "integrity": "sha512-fUBfTuuEulWqX6V8+O3PtScV01tzYYRUDTAirHFKoRAt7nOzoGiPt0M/bB47wWNy0coOOcgEwAMUtBpykMxl6w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.67.0", "@typescript-eslint/types": "8.67.0", @@ -2065,6 +2052,7 @@ "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2247,6 +2235,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.11.12", "caniuse-lite": "^1.0.30001809", @@ -2830,6 +2819,7 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -3157,6 +3147,7 @@ "integrity": "sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ==", "dev": true, "license": "MIT", + "peer": true, "workspaces": [ "packages/*" ], @@ -4338,9 +4329,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -4362,9 +4350,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -4386,9 +4371,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -4410,9 +4392,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5469,6 +5448,7 @@ "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.16.1.tgz", "integrity": "sha512-syNcDdX3KT+Jq3je6eGjBhuc24Z68td2VG0zNFqRswaE433D9SNH5VRy/xrGbJsUixfppLLccXhAW9JSf6n+SQ==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/mobx" @@ -5526,6 +5506,7 @@ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.56.0.tgz", "integrity": "sha512-sXboRm3BeBeLm938eaiyLMe0OxzfXIlZvbv4ir/jVgQy1zDhWjgmny0WoN45fuDKhCCQsYMbBJrv/A6jd8aCUg==", "license": "MIT", + "peer": true, "dependencies": { "dompurify": "3.4.8", "marked": "14.0.0" @@ -5853,6 +5834,7 @@ "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -5988,6 +5970,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -5997,6 +5980,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -6647,6 +6631,7 @@ "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6830,6 +6815,7 @@ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", "license": "MIT", + "peer": true, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } @@ -6910,6 +6896,7 @@ "integrity": "sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.5", diff --git a/karavan-app/src/main/webui/src/ui/login/LoginPage.tsx b/karavan-app/src/main/webui/src/ui/login/LoginPage.tsx index 764a8d90..5d06d593 100644 --- a/karavan-app/src/main/webui/src/ui/login/LoginPage.tsx +++ b/karavan-app/src/main/webui/src/ui/login/LoginPage.tsx @@ -19,10 +19,10 @@ import './LoginPage.css' import {EyeIcon, EyeSlashIcon} from '@patternfly/react-icons'; import {AuthContext} from "@api/auth/AuthProvider"; import {AuthApi} from "@api/auth/AuthApi"; -import {CamelIcon, KaravanIcon, OpenApiIcon} from "@designer/icons/KaravanIcons"; +import {CamelIcon, OpenApiIcon} from "@designer/icons/KaravanIcons"; import {SvgIcon} from "@shared/icons/SvgIcon"; import jibLogo from '@shared/icons/jib.png'; -import {PlatformNameForLogin, PlatformVersion} from "@shared/ui/PlatformLogos"; +import {PlatformVersion} from "@shared/ui/PlatformLogos"; import PlatformLogo from "@compass/navigation/PlatformLogo"; import OrbitLines from "./OrbitLines"; import {useReadinessStore} from "@stores/ReadinessStore"; @@ -68,23 +68,12 @@ export const LoginPage: React.FunctionComponent = () => { function getLogos() { return [ - <div className="powered-by-logo counter-rotator"> - <a href="https://github.com/apache/camel-karavan" target="_blank">{KaravanIcon("logo")}</a> - </div>, <div className="powered-by-logo counter-rotator"> <a href="https://www.openapis.org/" target="_blank"><OpenApiIcon className={"logo"}/></a> </div>, <div className="powered-by-logo counter-rotator"> - <a href="https://www.asyncapi.com/" target="_blank">{SvgIcon({icon: 'asyncapi', className: 'asyncapi-logo'})}</a> - </div>, - <div className="powered-by-logo counter-rotator"> - <a href="https://json-schema.org/" target="_blank"> - {SvgIcon({icon: 'json-schema-dark', className: 'json-schema-logo'})} - </a> + <a href="https://groovy-lang.org/" target="_blank">{SvgIcon({icon: 'groovy', className: 'groovy-logo'})}</a> </div>, - // <div className="powered-by-logo counter-rotator"> - // <a href="https://groovy-lang.org/" target="_blank">{SvgIcon({icon: 'groovy', className: 'groovy-logo'})}</a> - // </div>, <div className="powered-by-logo counter-rotator"> <a href="https://github.com/GoogleContainerTools/jib" target="_blank"> <img src={jibLogo} alt="Logo" className="jib-logo"/> @@ -191,16 +180,11 @@ export const LoginPage: React.FunctionComponent = () => { <div className="brand-panel"> <div className="brand-content"> <div className="brand-name"> - <div className="brand-logo-container"> - {PlatformLogo("logo")} - <span className="platform-name-text">{PlatformNameForLogin()}</span> - </div> <div> - <div className="tagline1 gradient-text-blue">Accelerate</div> - <div className="tagline1 gradient-text-blue-gold">Integration</div> - <div className="tagline1 gradient-text-gold">Development</div> + <div className="tagline1 gradient-text-blue">Apache</div> + <div className="tagline1 gradient-text-blue">Camel</div> + <div className="tagline1 gradient-text-blue">Karavan</div> </div> - <Content component='p' className="tagline2">Unified Design and Runtime for <br/> APIs • Events • Data Pipelines</Content> </div> </div> <div className="solar-content"> @@ -225,8 +209,6 @@ export const LoginPage: React.FunctionComponent = () => { ); })} </div> - <div className="anchor-line"></div> - <p className="brand-footer">Powered by</p> </div> </div> </div>
