From f75f70811fc703b7f46adf568a0d680f2bd20fc1 Mon Sep 17 00:00:00 2001 From: Eshita Badhe Date: Wed, 18 Feb 2026 19:57:24 +0530 Subject: [PATCH 1/3] feat(programs): enhance programs page with filters, labels, and dark mode improvements - Added new open source programs - Introduced label badges (Paid, Global, Beginner-Friendly, etc.) - Implemented filter functionality (Level, Type, Region, Status) - Upgraded filter UI with premium styling - Fixed dropdown arrow visibility - Fixed dark mode select background - Improved heading contrast in dark mode - Improved overall scalability and UX --- frontend/css/program.css | 192 +++++++++++++++++++++++++++++++++++ frontend/pages/programs.html | 158 ++++++++++++++++++++++++++-- 2 files changed, 344 insertions(+), 6 deletions(-) diff --git a/frontend/css/program.css b/frontend/css/program.css index d7ce9d6..638fdaa 100644 --- a/frontend/css/program.css +++ b/frontend/css/program.css @@ -313,4 +313,196 @@ body.dark-mode .programs-heading { ); -webkit-background-clip: text; -webkit-text-fill-color: transparent; +} + +/* ========================================= + PREMIUM FILTER BAR STYLING +========================================= */ + +.filter-bar { + display: flex; + justify-content: center; + flex-wrap: wrap; + gap: 20px; + margin: 40px 0 60px; +} + +/* Wrapper REQUIRED for custom arrow */ +.filter-wrapper { + position: relative; + display: inline-block; +} + +/* Select Styling */ +.filter-wrapper select { + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + background-image: none; + + padding: 12px 45px 12px 20px; + border-radius: 30px; + border: 1px solid rgba(181, 157, 92, 0.35); + + font-family: 'Inter', sans-serif; + font-weight: 600; + font-size: 0.95rem; + + background: linear-gradient(145deg, #ffffff, #f9f6f0); + color: #2c3e50; + + box-shadow: 0 6px 15px rgba(0,0,0,0.05); + cursor: pointer; + + transition: all 0.3s ease; +} + +/* Hover */ +.filter-wrapper select:hover { + border-color: var(--primary-gold); + box-shadow: 0 8px 25px rgba(181, 157, 92, 0.25); +} + +/* Focus */ +.filter-wrapper select:focus { + outline: none; + border-color: var(--primary-gold); + box-shadow: 0 0 0 3px rgba(181, 157, 92, 0.2); +} + +/* Custom Gold Arrow */ +.filter-wrapper::after { + content: "▾"; + position: absolute; + right: 18px; + top: 50%; + transform: translateY(-50%); + font-size: 14px; + font-weight: bold; + color: var(--primary-gold); + pointer-events: none; +} + +/* ========================= + DARK MODE FIX +========================= */ + +body.dark-mode .filter-wrapper select { + background: linear-gradient(145deg, #1f2937, #111827) !important; + color: #f9fafb !important; + border: 1px solid #374151 !important; + box-shadow: 0 6px 18px rgba(0,0,0,0.6) !important; +} + +body.dark-mode .filter-wrapper select:hover { + border-color: var(--primary-gold) !important; + box-shadow: + 0 10px 30px rgba(0, 0, 0, 0.8), + 0 0 15px rgba(212, 175, 55, 0.2) !important; +} + +/* Dark mode dropdown options */ +body.dark-mode .filter-wrapper select option { + background: #111827; + color: #f9fafb; +} + +/* ========================================= + PREMIUM LABEL BADGES +========================================= */ + +.badge-group { + display: flex; + flex-wrap: wrap; + gap: 8px; + justify-content: center; + margin-bottom: 18px; +} + +.label { + padding: 5px 12px; + font-size: 0.72rem; + border-radius: 20px; + font-weight: 600; + letter-spacing: 0.3px; + transition: all 0.3s ease; + border: 1px solid transparent; +} + +/* LIGHT MODE COLORS */ +.label.paid { + background: rgba(22, 163, 74, 0.1); + color: #15803d; + border-color: rgba(22, 163, 74, 0.3); +} + +.label.unpaid { + background: rgba(107, 114, 128, 0.1); + color: #4b5563; + border-color: rgba(107, 114, 128, 0.3); +} + +.label.global { + background: rgba(37, 99, 235, 0.1); + color: #1d4ed8; + border-color: rgba(37, 99, 235, 0.3); +} + +.label.india { + background: rgba(249, 115, 22, 0.1); + color: #ea580c; + border-color: rgba(249, 115, 22, 0.3); +} + +.label.beginner { + background: rgba(251, 191, 36, 0.15); + color: #b45309; + border-color: rgba(251, 191, 36, 0.4); +} + +.label.intermediate { + background: rgba(147, 51, 234, 0.1); + color: #7e22ce; + border-color: rgba(147, 51, 234, 0.3); +} + +.label.advanced { + background: rgba(220, 38, 38, 0.1); + color: #b91c1c; + border-color: rgba(220, 38, 38, 0.3); +} + +/* Hover polish */ +.label:hover { + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12); +} + +body.dark-mode .label { + backdrop-filter: blur(6px); +} + +body.dark-mode .label.paid { + background: rgba(22, 163, 74, 0.2); + color: #4ade80; +} + +body.dark-mode .label.global { + background: rgba(37, 99, 235, 0.2); + color: #60a5fa; +} + +body.dark-mode .label.beginner { + background: rgba(251, 191, 36, 0.2); + color: #facc15; +} + +body.dark-mode .label.intermediate { + background: rgba(147, 51, 234, 0.2); + color: #c084fc; +} + +body.dark-mode .label.advanced { + background: rgba(220, 38, 38, 0.2); + color: #f87171; } \ No newline at end of file diff --git a/frontend/pages/programs.html b/frontend/pages/programs.html index 51369b8..7fa2f15 100644 --- a/frontend/pages/programs.html +++ b/frontend/pages/programs.html @@ -34,48 +34,160 @@

Open Source Programs

gain real-world experience through contributions.

+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
-
+ + + + -
+

GSSoC

+ +
+ Unpaid + India + Beginner-Friendly +
+

GirlScript Summer of Code is a three-month-long Open Source program by GirlScript Foundation.

View Details
-
+

Hacktoberfest

+ +
+ Unpaid + Global + Beginner-Friendly +
+

A month-long celebration of open-source software run by DigitalOcean.

View Details
-
+ -
+ -
+

Social Summer of Code

+ +
+ Unpaid + India + Beginner-Friendly +
+

A program to promote open source and encourage student developers to build for social good.

View Details
+ + + + + + +
@@ -94,6 +206,40 @@

Social Summer of Code

+ \ No newline at end of file From 12078cd0cfe0abbe1d9385b2eaef13e8cdff2a44 Mon Sep 17 00:00:00 2001 From: Eshita Badhe Date: Wed, 18 Feb 2026 20:08:55 +0530 Subject: [PATCH 2/3] feat(programs): enhance programs page with filters, labels, and dark mode improvements - Added new open source programs - Introduced label badges (Paid, Global, Beginner-Friendly, etc.) - Implemented filter functionality (Level, Type, Region, Status) - Upgraded filter UI with premium styling - Fixed dropdown arrow visibility - Fixed dark mode select background - Improved heading contrast in dark mode - Improved overall scalability and UX --- frontend/pages/programs.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/frontend/pages/programs.html b/frontend/pages/programs.html index 7fa2f15..a8a1de5 100644 --- a/frontend/pages/programs.html +++ b/frontend/pages/programs.html @@ -75,9 +75,6 @@

Open Source Programs

- - -