Skip to content

Commit c578f87

Browse files
committed
updating cta
1 parent d18ae41 commit c578f87

4 files changed

Lines changed: 118 additions & 433 deletions

File tree

index.html

Lines changed: 25 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,13 @@
77
<title>Java 30Y #CelebrationWeek</title>
88
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
99

10-
<!-- Cookie Consent - Must load before analytics -->
1110
<script src="js/cookie-consent.js"></script>
1211

13-
<!-- Google tag (gtag.js) -->
1412
<script async src="https://www.googletagmanager.com/gtag/js?id=G-K4QDNZB9C7"></script>
1513
<script>
1614
window.dataLayer = window.dataLayer || [];
1715
function gtag(){dataLayer.push(arguments);}
1816

19-
// Configure consent mode before GA4 initialization
2017
gtag('consent', 'default', {
2118
'analytics_storage': 'denied',
2219
'functionality_storage': 'granted',
@@ -27,7 +24,6 @@
2724

2825
gtag('js', new Date());
2926

30-
// Basic anonymous config - always runs
3127
gtag('config', 'G-K4QDNZB9C7', {
3228
'anonymize_ip': true,
3329
'allow_google_signals': false,
@@ -36,20 +32,17 @@
3632
</script>
3733

3834

39-
<!-- Performance Optimizations -->
4035
<link rel="preconnect" href="https://fonts.googleapis.com">
4136
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
4237
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
4338
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
4439

45-
<!-- SEO Meta Tags -->
4640
<meta property="og:title" content="30-Year #CelebrationWeek">
4741
<meta property="og:description" content="Free online Java conference with Java Champions & Enthusiasts from around the globe">
4842
<meta property="og:type" content="website">
4943
<meta property="og:image" content="https://soujava.github.io/java30y-celebration-week/sm/banner.png">
5044
<meta name="twitter:card" content="summary_large_image">
5145

52-
<!-- Structured Data -->
5346
<script type="application/ld+json">
5447
{
5548
"@context": "https://schema.org",
@@ -81,10 +74,8 @@
8174
</head>
8275

8376
<body>
84-
<!-- Skip Link for Accessibility -->
8577
<a href="#main-content" class="skip-link">Skip to main content</a>
8678

87-
<!-- Navigation -->
8879
<nav class="nav">
8980
<div class="container">
9081
<div class="nav-content">
@@ -104,7 +95,6 @@
10495
</div>
10596
</nav>
10697

107-
<!-- Header -->
10898
<header class="header" id="home" role="banner">
10999
<div class="container">
110100
<div class="header-content">
@@ -134,11 +124,9 @@ <h1>#CelebrationWeek for 30y of Java</h1>
134124
<p class="live-cta-subtext">Access the live streams, agenda, and recordings. Open to all.</p>
135125
</div>
136126

137-
<!-- Speaker Carousel -->
138127
<div class="speaker-carousel">
139128
<div class="carousel-container" id="speakerCarousel">
140129
<div class="carousel-track">
141-
<!-- Speakers will be populated by JavaScript -->
142130
</div>
143131
</div>
144132
</div>
@@ -150,9 +138,32 @@ <h1>#CelebrationWeek for 30y of Java</h1>
150138
</div>
151139
</header>
152140

153-
<!-- Main Content -->
141+
<section class="sponsors-section" id="sponsors">
142+
<div class="container">
143+
<div class="sponsors-grid">
144+
<div class="sponsor-column">
145+
<p class="sponsor-label">Brought to you by</p>
146+
<a href="https://soujava.org.br" target="_blank" rel="noopener" class="logo-link">
147+
<img src="./logos/soujava.png" alt="SouJava" class="organizer-logo">
148+
</a>
149+
</div>
150+
151+
<div class="sponsor-column">
152+
<p class="sponsor-label">Proudly supported by</p>
153+
<div class="supporter-logos">
154+
<a href="https://aletyx.com" target="_blank" rel="noopener" class="logo-link">
155+
<img src="./logos/aletyx.png" alt="Aletyx" class="supporter-logo">
156+
</a>
157+
<a href="https://jakarta.ee" target="_blank" rel="noopener" class="logo-link">
158+
<img src="./logos/jakartaee.png" alt="Jakarta EE" class="supporter-logo">
159+
</a>
160+
</div>
161+
</div>
162+
</div>
163+
</div>
164+
</section>
165+
154166
<main id="main-content">
155-
<!-- Agenda Section -->
156167
<section class="section" id="agenda">
157168
<div class="container">
158169
<div class="section-content">
@@ -204,7 +215,6 @@ <h2 class="section-title">Agenda</h2>
204215
</div>
205216
</section>
206217

207-
<!-- Speakers Section -->
208218
<section class="section" id="speakers">
209219
<div class="container">
210220
<div class="section-content">
@@ -224,32 +234,8 @@ <h2 class="section-title">Featured Speakers</h2>
224234

225235
</main>
226236

227-
<!-- Footer -->
228237
<footer class="footer">
229238
<div class="container">
230-
<div class="footer-content">
231-
<!-- Organizer Tier -->
232-
<div class="footer-tier footer-organizer">
233-
<p class="sponsor-label">Brought to you by</p>
234-
<a href="https://soujava.org.br" target="_blank" rel="noopener" class="logo-link">
235-
<img src="./logos/soujava.png" alt="SouJava" class="organizer-logo">
236-
</a>
237-
</div>
238-
239-
<!-- Supporter Tier -->
240-
<div class="footer-tier footer-supporters">
241-
<p class="sponsor-label">Proudly supported by</p>
242-
<div class="supporter-logos">
243-
<a href="https://aletyx.com" target="_blank" rel="noopener" class="logo-link">
244-
<img src="./logos/aletyx.png" alt="Aletyx" class="supporter-logo">
245-
</a>
246-
<a href="https://jakarta.ee" target="_blank" rel="noopener" class="logo-link">
247-
<img src="./logos/jakartaee.png" alt="Jakarta EE" class="supporter-logo">
248-
</a>
249-
</div>
250-
</div>
251-
</div>
252-
253239
<div class="footer-bottom">
254240
<p>&copy; 2025 SouJava. All rights reserved. |
255241
<a href="#" onclick="CookieConsent.showPreferences(); return false;" style="color: var(--text-secondary); text-decoration: underline;">Cookie Settings</a>
@@ -258,7 +244,6 @@ <h2 class="section-title">Featured Speakers</h2>
258244
</div>
259245
</footer>
260246

261-
<!-- Modals -->
262247
<div class="modal" id="speakerModal" role="dialog" aria-labelledby="speakerName" aria-modal="true">
263248
<div class="modal-content">
264249
<div class="modal-header">

js/cookie-consent.js

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
1-
/**
2-
* Simple Cookie Consent for Java 30Y Event
3-
* GDPR/LGPD Compliant
4-
*/
5-
61
const CookieConsent = {
72
hasConsent: false,
83
consentKey: 'java30y_analytics_consent',
94

105
init() {
11-
// Check if user already gave consent
126
const savedConsent = localStorage.getItem(this.consentKey);
137

148
if (savedConsent === 'accepted') {
159
this.hasConsent = true;
1610
this.enableAnalytics();
1711
} else if (savedConsent === null) {
18-
// First visit - show banner
1912
this.showBanner();
2013
}
21-
// If rejected, do nothing (analytics stays disabled)
2214
},
2315

2416
showBanner() {
@@ -38,7 +30,6 @@ const CookieConsent = {
3830
</div>
3931
`;
4032

41-
// Add styles
4233
const style = document.createElement('style');
4334
style.textContent = `
4435
#cookie-consent-banner {
@@ -149,7 +140,6 @@ const CookieConsent = {
149140
this.removeBanner();
150141
this.enableAnalytics();
151142

152-
// Track consent given
153143
if (typeof gtag !== 'undefined') {
154144
gtag('consent', 'update', {
155145
'analytics_storage': 'granted'
@@ -167,7 +157,6 @@ const CookieConsent = {
167157
localStorage.setItem(this.consentKey, 'rejected');
168158
this.removeBanner();
169159

170-
// Ensure analytics stays disabled
171160
if (typeof gtag !== 'undefined') {
172161
gtag('consent', 'update', {
173162
'analytics_storage': 'denied'
@@ -185,44 +174,37 @@ const CookieConsent = {
185174
},
186175

187176
enableAnalytics() {
188-
// Re-initialize enhanced tracking after consent
189177
if (window.EventAnalytics && typeof window.EventAnalytics.initEnhancedTracking === 'function') {
190178
window.EventAnalytics.initEnhancedTracking();
191179
}
192180

193-
// Update consent mode to allow cookies
194181
if (typeof gtag !== 'undefined') {
195182
gtag('consent', 'update', {
196183
'analytics_storage': 'granted'
197184
});
198185
}
199186
},
200187

201-
// Check if user has consented (for use in other scripts)
202188
canTrack() {
203189
return this.hasConsent;
204190
},
205191

206-
// Allow users to change their consent
207192
resetConsent() {
208193
localStorage.removeItem(this.consentKey);
209194
this.hasConsent = false;
210195
location.reload();
211196
},
212197

213-
// Show preferences (can be called from anywhere)
214198
showPreferences() {
215199
localStorage.removeItem(this.consentKey);
216200
this.showBanner();
217201
}
218202
};
219203

220-
// Wait for DOM to be ready
221204
if (document.readyState === 'loading') {
222205
document.addEventListener('DOMContentLoaded', () => CookieConsent.init());
223206
} else {
224207
CookieConsent.init();
225208
}
226209

227-
// Make it globally available
228-
window.CookieConsent = CookieConsent;
210+
window.CookieConsent = CookieConsent;

0 commit comments

Comments
 (0)