This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 803698ebc054c53425f5ff38b61cb07b268804b0
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Fri Feb 27 18:39:26 2026 -0500

    Front-end Login for 4.18.0
---
 .../main/webui/src/karavan/app/login/LoginPage.css |  6 +-
 .../main/webui/src/karavan/app/login/LoginPage.tsx | 81 ++++++----------------
 2 files changed, 27 insertions(+), 60 deletions(-)

diff --git a/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.css 
b/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.css
index 40e29f1a..f7d78315 100644
--- a/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.css
+++ b/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.css
@@ -18,6 +18,9 @@
     align-items: center;
     background: var(--pf-t--color--gray--95);
     gap: 48px;
+    h1 {
+        color: var(--pf-t--color--blue--30);
+    }
 }
 
 .brand-content {
@@ -81,8 +84,7 @@
         .tagline2 {
             font-weight: 400;
             line-height: 1.5;
-            color: #b9dafc; /* Tblue-200 for subtitle */
-            font-size: 20px;
+            font-size: 22px;
             letter-spacing: 0.5px;
             margin-top: 16px;
             text-align: center;
diff --git a/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.tsx 
b/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.tsx
index aeac2333..8a22b7be 100644
--- a/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.tsx
+++ b/karavan-app/src/main/webui/src/karavan/app/login/LoginPage.tsx
@@ -6,7 +6,6 @@ import {
     CardBody,
     CardFooter,
     CardHeader,
-    Checkbox,
     Content,
     Form,
     FormAlert,
@@ -21,10 +20,8 @@ import EyeIcon from 
'@patternfly/react-icons/dist/esm/icons/eye-icon';
 import EyeSlashIcon from 
'@patternfly/react-icons/dist/esm/icons/eye-slash-icon';
 import {AuthContext} from "@api/auth/AuthProvider";
 import {AuthApi} from "@api/auth/AuthApi";
-import {CamelIcon, KaravanIcon, OpenApiIcon} from 
"@features/project/designer/icons/KaravanIcons";
-import {SvgIcon} from "@shared/icons/SvgIcon";
-import jibLogo from '@shared/icons/jib.png';
-import {PlatformNameForToolbar, PlatformVersion} from 
"@shared/ui/PlatformLogos";
+import {CamelIcon} from "@features/project/designer/icons/KaravanIcons";
+import {PlatformVersion} from "@shared/ui/PlatformLogos";
 import PlatformLogo from "@app/navigation/PlatformLogo";
 import OrbitLines from "@app/login/OrbitLines";
 import {useReadinessStore} from "@stores/ReadinessStore";
@@ -39,8 +36,6 @@ export const LoginPage: React.FunctionComponent = () => {
     const {reload} = useContext(AuthContext);
     const { readiness } = useReadinessStore();
 
-    const [titleSvg, setTitleSvg] = React.useState<string>();
-
     useEffect(() => {
     }, []);
 
@@ -72,49 +67,26 @@ 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>
-            </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"/>
-                </a>
-            </div>,
+    function getCamel() {
+        return (
             <div className="powered-by-logo counter-rotator">
                 <a href="https://camel.apache.org/"; 
target="_blank">{CamelIcon()}</a>
-            </div>,
-            <div className="powered-by-logo counter-rotator">
-                <a href="https://www.patternfly.org/"; target={'_blank'}>
-                    {SvgIcon({icon: 'patternfly', className: 
'patternfly-logo'})}
-                </a>
-            </div>,
-            <div className="powered-by-logo counter-rotator">
-                <a href="https://eclipse.dev/jkube/"; target="_blank">
-                    {SvgIcon({icon: 'jkube', className: 'jkube-logo'})}
-                </a>
-            </div>,
-            <div className="powered-by-logo counter-rotator">
-                <a href="https://www.keycloak.org/"; target="_blank">
-                    {SvgIcon({icon: 'keycloak', className: 'patternfly-logo'})}
-                </a>
             </div>
+        )
+    }
+
+    function getLogos() {
+        return [
+            getCamel(),
+            getCamel(),
+            getCamel(),
+            getCamel(),
+            getCamel(),
+            getCamel(),
+            getCamel(),
+            getCamel(),
+            getCamel(),
+            getCamel()
         ];
     }
 
@@ -198,16 +170,12 @@ export const LoginPage: React.FunctionComponent = () => {
             <div className="karavan-brand-panel">
                 <div className="brand-content">
                     <div className="brand-name">
-                        <div className="brand-logo-container">
-                            {PlatformLogo("logo")}
-                            <span 
className="platform-name-text">{PlatformNameForToolbar()}</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>
+                        <Content component='p' className="tagline2 
gradient-text-blue-gold">Low-Code Data Integration Platform</Content>
                     </div>
                 </div>
                 <div className="solar-content">
@@ -222,7 +190,6 @@ export const LoginPage: React.FunctionComponent = () => {
                             {LOGOS.map((logo, index) => {
                                 const total = LOGOS.length;
                                 const angle = (360 / total) * index;
-                                // Increased radius slightly to make room for 
the center logo
                                 const radius = 150;
                                 const style = {'--angle': `${angle}deg`, 
'--radius': `${radius}px`,} as React.CSSProperties;
                                 return (
@@ -232,8 +199,6 @@ export const LoginPage: React.FunctionComponent = () => {
                                 );
                             })}
                         </div>
-                        <div className="anchor-line"></div>
-                        <p className="brand-footer">Powered by</p>
                     </div>
                 </div>
             </div>

Reply via email to