diff --git a/index.html b/index.html
index cc18ed7..0eac842 100644
--- a/index.html
+++ b/index.html
@@ -113,7 +113,7 @@
What You'll Find:
@@ -235,7 +235,7 @@ Community
diff --git a/scripts/calendar.js b/scripts/calendar.js
index 81e30de..2cfab4b 100644
--- a/scripts/calendar.js
+++ b/scripts/calendar.js
@@ -24,7 +24,14 @@ document.addEventListener('DOMContentLoaded', function() {
const closeEventModal = document.getElementById('closeEventModal');
const eventForm = document.getElementById('eventForm');
- // Sample events data
+ // Sample events data - using relative dates from the current date
+ const baseDate = new Date();
+ const getDateOffset = (daysOffset) => {
+ const date = new Date(baseDate);
+ date.setDate(baseDate.getDate() + daysOffset);
+ return date;
+ };
+
const sampleEvents = [
{
id: 1,
@@ -32,7 +39,7 @@ document.addEventListener('DOMContentLoaded', function() {
type: 'lecture',
instructor: 'Sarah Chen',
time: '10:00 AM - 11:30 AM',
- date: new Date(2024, 11, 23),
+ date: getDateOffset(0),
description: 'Deep dive into advanced React patterns including HOCs, render props, and custom hooks.',
attendees: 45,
maxAttendees: 50,
@@ -44,7 +51,7 @@ document.addEventListener('DOMContentLoaded', function() {
type: 'workshop',
instructor: 'Mike Johnson',
time: '2:00 PM - 4:00 PM',
- date: new Date(2024, 11, 23),
+ date: getDateOffset(0),
description: 'Hands-on workshop covering lists, dictionaries, sets, and tuples in Python.',
attendees: 32,
maxAttendees: 40,
@@ -56,7 +63,7 @@ document.addEventListener('DOMContentLoaded', function() {
type: 'lecture',
instructor: 'Alex Rodriguez',
time: '11:00 AM - 12:30 PM',
- date: new Date(2024, 11, 24),
+ date: getDateOffset(1),
description: 'Optimization techniques for Node.js applications including clustering and caching.',
attendees: 28,
maxAttendees: 35,
@@ -68,7 +75,7 @@ document.addEventListener('DOMContentLoaded', function() {
type: 'workshop',
instructor: 'Emma Davis',
time: '1:00 PM - 3:30 PM',
- date: new Date(2024, 11, 25),
+ date: getDateOffset(2),
description: 'Complete guide to CSS Grid layout with practical examples and exercises.',
attendees: 38,
maxAttendees: 45,
@@ -80,7 +87,7 @@ document.addEventListener('DOMContentLoaded', function() {
type: 'lecture',
instructor: 'Dr. James Wilson',
time: '9:00 AM - 10:30 AM',
- date: new Date(2024, 11, 26),
+ date: getDateOffset(3),
description: 'Fundamental principles of database design, normalization, and optimization.',
attendees: 52,
maxAttendees: 60,
diff --git a/scripts/community.js b/scripts/community.js
index 79e5d34..af06ca9 100644
--- a/scripts/community.js
+++ b/scripts/community.js
@@ -74,8 +74,6 @@ class CommunityManager {
this.socket.on('stop-typing', (data) => {
this.hideTypingIndicator(data);
});
- }
- }
// Real-time message handlers
this.socket.on('new-message', (message) => {
diff --git a/styles/professional.css b/styles/professional.css
index a594d5b..ddb1a77 100644
--- a/styles/professional.css
+++ b/styles/professional.css
@@ -1,7 +1,7 @@
/* OpenRockets - Professional Linux Foundation-Inspired Design */
/* Professional, clean, and enterprise-focused design system */
-@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
+@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');
:root {
/* Professional Color Palette - Inspired by Linux Foundation */
@@ -17,9 +17,10 @@
--text-secondary: #666666;
--border-color: #d0d0d0;
- /* Typography - Professional IBM Plex family */
- --font-primary: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
- --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
+ /* Typography - Modern distinctive fonts */
+ --font-primary: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
+ --font-secondary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
+ --font-mono: 'JetBrains Mono', 'Courier New', monospace;
/* Spacing - Consistent and professional */
--space-xs: 0.5rem;
@@ -127,6 +128,7 @@ a:hover {
.nav-logo img {
height: 40px;
width: auto;
+ filter: invert(1) brightness(0.3);
}
.nav-links {
@@ -306,6 +308,10 @@ a:hover {
width: 100%;
border-radius: var(--border-radius);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
+ /* Invert white logo to dark for visibility on light background */
+ filter: invert(1) brightness(0.3);
+ background: var(--neutral-white);
+ padding: 1rem;
}
/* Stats Section */