Skip to content

Commit 89de06e

Browse files
Merge pull request #480 from linuxfoundation/issue-#4791-add-kubecon-banner
feat(banner): add KubeCon banner component
2 parents 32bb09c + d9c2815 commit 89de06e

File tree

5 files changed

+62
-2
lines changed

5 files changed

+62
-2
lines changed

src/app/app.component.html

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

5+
<!-- KubeCon Banner -->
6+
<app-kubecon-banner></app-kubecon-banner>
7+
58
<div class="fix-header-margin">
69
<app-alert></app-alert>
710
<router-outlet></router-outlet>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!-- Copyright The Linux Foundation and each contributor to CommunityBridge.
2+
SPDX-License-Identifier: MIT -->
3+
4+
<div class="kubecon-banner">
5+
Meet us in Atlanta for KubeCon + CloudNativeCon North America · Nov 10-13 ·
6+
<a [href]="registrationUrl" target="_blank" rel="noopener">
7+
REGISTER TODAY
8+
</a>
9+
</div>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright The Linux Foundation and each contributor to CommunityBridge.
2+
// SPDX-License-Identifier: MIT
3+
4+
.kubecon-banner {
5+
display: block;
6+
background-color: rgb(0, 148, 255);
7+
color: white;
8+
text-align: center;
9+
height: 3.5rem;
10+
font-size: 0.875rem;
11+
line-height: 1.75rem;
12+
margin-top: 60px;
13+
14+
a {
15+
color: white;
16+
text-decoration: underline;
17+
white-space: nowrap;
18+
19+
&:hover {
20+
text-decoration: none;
21+
}
22+
}
23+
24+
// Responsive styles
25+
@media (min-width: 640px) {
26+
height: 1.75rem;
27+
}
28+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright The Linux Foundation and each contributor to CommunityBridge.
2+
// SPDX-License-Identifier: MIT
3+
4+
import { Component } from '@angular/core';
5+
6+
@Component({
7+
selector: 'app-kubecon-banner',
8+
templateUrl: './kubecon-banner.component.html',
9+
styleUrls: ['./kubecon-banner.component.scss']
10+
})
11+
export class KubeconBannerComponent {
12+
private utmSource = 'CLA-Contributor-Console';
13+
14+
get registrationUrl(): string {
15+
return `https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/register/?utm_source=${this.utmSource}&utm_medium=banner&utm_campaign=KubeCon-NA-2025&utm_content=hero`;
16+
}
17+
}

src/app/shared/shared.module.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { FooterComponent } from './components/footer/footer.component';
1919
import { ConsentComponent } from './components/consent/consent.component';
2020
import { CommonModule } from '@angular/common';
2121
import { TrackEventDirective } from './directives/track-event.directive';
22+
import { KubeconBannerComponent } from './components/kubecon-banner/kubecon-banner.component';
2223

2324
@NgModule({
2425
declarations: [
@@ -33,7 +34,8 @@ import { TrackEventDirective } from './directives/track-event.directive';
3334
CheckboxComponent,
3435
FooterComponent,
3536
ConsentComponent,
36-
TrackEventDirective
37+
TrackEventDirective,
38+
KubeconBannerComponent
3739
],
3840
imports: [
3941
CommonModule
@@ -50,7 +52,8 @@ import { TrackEventDirective } from './directives/track-event.directive';
5052
CheckboxComponent,
5153
FooterComponent,
5254
ConsentComponent,
53-
TrackEventDirective
55+
TrackEventDirective,
56+
KubeconBannerComponent
5457
],
5558
providers: [StorageService, AuthService, LfxHeaderService, InterceptorService]
5659
})

0 commit comments

Comments
 (0)