Skip to content

Commit 7b0d4a3

Browse files
committed
feat(banner): add KubeCon Europe 2026 banner component
Add reusable KubeconBannerComponent with configurable text, CTA, and URL. Integrate banner into app component for KubeCon + CloudNativeCon Europe 2026. Resolves: linuxfoundation/easycla#4888 Assisted by [Cursor](https://cursor.com/) Signed-off-by: ahmedomosanya <[email protected]>
1 parent e730d18 commit 7b0d4a3

File tree

4 files changed

+39
-0
lines changed

4 files changed

+39
-0
lines changed

src/app/app.component.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
SPDX-License-Identifier: MIT -->
33
<app-loader></app-loader>
44

5+
<!-- KubeCon Banner -->
6+
<app-kubecon-banner
7+
[text]="kubeconBanner.text"
8+
[ctaText]="kubeconBanner.ctaText"
9+
[url]="kubeconBanner.url">
10+
</app-kubecon-banner>
11+
512
<div class="fix-header-margin">
613
<app-alert></app-alert>
714
<router-outlet></router-outlet>

src/app/app.component.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ export class AppComponent {
1616
hasExpanded: boolean;
1717
links: any[];
1818

19+
kubeconBanner = {
20+
text: 'Meet us in Amsterdam for KubeCon + CloudNativeCon Europe 2026 • Mar 23–26 •',
21+
ctaText: 'Register now',
22+
url: 'https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/register/?utm_source=cla-contributor-console&utm_medium=homepage&utm_campaign=18269725-KubeCon-EU-2026&utm_content=hero'
23+
};
24+
1925
constructor(private auth:AuthService, private route: ActivatedRoute){}
2026

2127
onToggled() {
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!-- Copyright The Linux Foundation and each contributor to CommunityBridge.
2+
SPDX-License-Identifier: MIT
3+
Assisted with Cursor, assisted with Claude AI -->
4+
5+
<div class="kubecon-banner" *ngIf="text">
6+
{{ text }}
7+
<a *ngIf="ctaText && url" [href]="url" target="_blank" rel="noopener">
8+
{{ ctaText }}
9+
</a>
10+
</div>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Copyright The Linux Foundation and each contributor to CommunityBridge.
2+
// SPDX-License-Identifier: MIT
3+
// Assisted with Cursor, assisted with Claude AI
4+
5+
import { Component, Input } from '@angular/core';
6+
7+
@Component({
8+
selector: 'app-kubecon-banner',
9+
templateUrl: './kubecon-banner.component.html',
10+
styleUrls: ['./kubecon-banner.component.scss']
11+
})
12+
export class KubeconBannerComponent {
13+
@Input() text?: string;
14+
@Input() ctaText?: string;
15+
@Input() url?: string;
16+
}

0 commit comments

Comments
 (0)