We’d Love Your Feedback
-- Your feedback helps improve OpenSource Compass for everyone. Let us - know how we can make your journey better. -
-diff --git a/frontend/css/contribute.css b/frontend/css/contribute.css index e16d277..1336139 100644 --- a/frontend/css/contribute.css +++ b/frontend/css/contribute.css @@ -18,11 +18,20 @@ body { --light-parchment: #fff8e7; --charcoal-dark: #2c2c2c; --text-secondary: #5a5a5a; - + --code-bg: #f8f9fa; + --code-border: #e0e0e0; + --code-text: #2c2c2c; + --code-comment: #6a737d; --shadow-main: 0 8px 32px rgba(0, 0, 0, 0.12); --shadow-hover: 0 20px 40px rgba(0, 0, 0, 0.18); } +body.dark-mode { + --code-bg: #1e1e1e; /* Soft dark gray background */ + --code-border: #333333; /* Subtle border */ + --code-text: #e6e6e6; /* Light readable text */ + --code-comment: #9ca3af; /* Muted gray for comments */ +} body { font-family: "Crimson Text", Georgia, serif; @@ -34,9 +43,6 @@ body { color: var(--charcoal-dark); } - - - main { margin-top: 0; padding-top: 0; @@ -640,22 +646,8 @@ body.dark-mode li { color: #cccccc; } -/* Code blocks remain readable */ -body.dark-mode .code-block, -body.dark-mode pre { - background-color: #ffffff; - color: #333333; - border-color: #e0e0e0; -} - -body.dark-mode code { - background-color: #ffffff; - color: #333333; -} - -/* Best Practices Section Proper Styling */ - -.practices-section { +/* Best practices section stays light */ +body.dark-mode .practices-container { background-color: #ffffff; } diff --git a/frontend/css/contributors.css b/frontend/css/contributors.css index ca01f5c..d8101ab 100644 --- a/frontend/css/contributors.css +++ b/frontend/css/contributors.css @@ -118,24 +118,6 @@ body.dark-mode .contributors-section p { flex: 0 0 auto; } -.contributor-github { - width: 42px; - height: 42px; - border-radius: 999px; - display: inline-flex; - align-items: center; - justify-content: center; - text-decoration: none; - color: var(--deep-navy); - background: rgb(255 255 255 / 90%); - border: 1px solid rgb(212 175 55 / 24%); - transition: transform 0.2s ease, background 0.2s ease; -} - -.contributor-github:hover { - transform: scale(1.06); - background: rgb(255 248 231 / 95%); -} .contributor-card { background: linear-gradient( 180deg, @@ -149,8 +131,10 @@ body.dark-mode .contributors-section p { inset 0 1px 0 rgb(255 255 255 / 60%); display: flex; align-items: center; + justify-content: space-between; gap: 1.5rem; max-width: 360px; + min-height: 140px; margin: 0 auto; position: relative; @@ -180,9 +164,10 @@ body.dark-mode .contributors-section p { .contributor-main { flex: 1; + max-width: 100px; display: flex; flex-direction: column; - gap: 0.5rem; + gap: 0.6rem; } .contributor-name { @@ -240,29 +225,10 @@ body.dark-mode .contributors-section p { } .contributor-actions { - flex-shrink: 0; -} - -.contributor-github { - width: 48px; - height: 48px; - border-radius: 50%; - display: inline-flex; + display: flex; align-items: center; justify-content: center; - color: #1a2433; - background: #f9f9f9; - border: 1.5px solid #d4af37; - box-shadow: 0 2px 6px rgb(0 0 0 / 0.07); - transition: all 0.25s ease; - cursor: pointer; -} - -.contributor-github:hover { - background: #fff8dc; - transform: scale(1.12); - box-shadow: 0 4px 10px rgb(212 175 55 / 0.5); } /* Skeleton loading */ @@ -764,20 +730,6 @@ body.dark-mode .contributors-section p { } } -/* Card refinement */ -.contributor-card { - padding: 1.5rem 1.55rem 1.35rem; - border-radius: 20px; - background: linear-gradient( - 180deg, - #dfc981fb, - rgb(255 255 255 / 88%) - ); - box-shadow: - 0 12px 30px rgb(0 0 0 / 8%), - inset 0 1px 0 rgb(255 255 255 / 60%); -} - /* Hover feels lighter */ .contributor-card:hover { transform: translateY(-5px); @@ -862,21 +814,6 @@ body.dark-mode .contributors-section p { color: var(--text-secondary); } -/* GitHub action button */ -.contributor-github { - width: 44px; - height: 44px; - background: linear-gradient( - 180deg, - rgb(255 255 255 / 95%), - rgb(248 248 248 / 90%) - ); -} - -.contributor-github:hover { - background: rgb(255 250 235); -} - /* Mobile tuning */ @media (max-width: 720px) { .contributors-grid { @@ -916,13 +853,6 @@ body.dark-mode .contributors-section p { text-overflow: ellipsis; } -.contributor-actions { - flex-shrink: 0; - margin-left: 1rem; - display: flex; - align-items: center; -} - /* Animation trigger */ .contributor-card.is-visible { opacity: 1; @@ -1006,16 +936,29 @@ body.dark-mode .contributors-section p { } .contributor-github { - font-size: 1.5rem; - color: #1b263b; - transition: color 0.2s; - display: flex; - align-items: center; - justify-content: center; + width: 46px; + height: 46px; + border-radius: 50%; + + display: flex; + align-items: center; + justify-content: center; + + font-size: 1.3rem; + text-decoration: none; + + background: #ffffff; + border: 2px solid #d4af37; + color: #1b263b; + + transition: all 0.25s ease; + flex-shrink: 0; } .contributor-github:hover { - color: #d4af37; /* Gold */ + transform: scale(1.1); + background: #fff8dc; + box-shadow: 0 0 15px rgba(212, 175, 55, 0.4); } /* ========================================= @@ -1092,11 +1035,13 @@ body.dark-mode .contributor-chip.is-bot { } body.dark-mode .contributor-github { - color: #e0e0e0 !important; /* White/Light Grey Icon */ + background: #1f2937; + border-color: #d4af37; + color: #f9fafb; } body.dark-mode .contributor-github:hover { - color: #d4af37 !important; /* Gold on Hover */ + background: #2a2f3a; } /* Skeleton Dark Mode */ diff --git a/frontend/css/feedback.css b/frontend/css/feedback.css index 2676aae..5c21a3b 100644 --- a/frontend/css/feedback.css +++ b/frontend/css/feedback.css @@ -1,63 +1,196 @@ +:root { + --primary-gold: #d4af37; + --deep-navy: #0a192f; + --text-main: #333; + --bg-cream: #fdfbf7; +} + +body.dark-mode { + --bg-cream: #0f172a; + --text-main: #e5e7eb; + --deep-navy: #f1f5f9; + --card-bg: #1e293b; + --input-bg: #0f172a; + --input-border: #334155; + --text-secondary-dark: #94a3b8; +} + +body { + font-family: 'Inter', sans-serif; + background-color: var(--bg-cream); + color: var(--text-main); +} + +/* --- Header Styling (Matches Resources.html) --- */ .feedback-header { text-align: center; - padding: 80px 20px 40px; + padding: 4rem 2rem 2rem 2rem; + display: flex; + flex-direction: column; + align-items: center; } .feedback-header h1 { - font-size: 2.5rem; + font-family: 'Playfair Display', serif; + font-size: 3rem; color: var(--deep-navy); + margin-bottom: 1rem; + position: relative; + display: inline-block; } -.feedback-header p { - color: var(--text-secondary); - margin-top: 10px; +/* The Gold Underline Effect */ +.feedback-header h1::after { + content: ''; + display: block; + width: 60px; + height: 4px; + background: var(--primary-gold); + margin: 0.5rem auto 0; + border-radius: 2px; } -.feedback-container { +.feedback-header p { + font-family: 'Inter', sans-serif; + color: var(--text-secondary-dark, #666); + font-size: 1.1rem; max-width: 600px; - margin: auto; - padding: 30px; + margin: 0 auto; + line-height: 1.6; } -form { +/* --- Form Container (Card Style) --- */ +.feedback-container { display: flex; - flex-direction: column; - gap: 15px; + justify-content: center; + padding-bottom: 4rem; +} + +#feedbackForm { + background: var(--card-bg, white); + padding: 3rem; + border-radius: 12px; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); /* Soft shadow like the cards */ + width: 100%; + max-width: 600px; + border-top: 4px solid var(--primary-gold); /* Gold accent on top */ } +/* --- Input Styles --- */ label { font-weight: 600; + color: var(--deep-navy); + margin-bottom: 0.5rem; + display: block; + margin-top: 1.5rem; + font-size: 0.95rem; +} + +label:first-child { + margin-top: 0; } input, select, textarea { - padding: 10px; - border-radius: 6px; - border: 1px solid #ccc; + width: 100%; + padding: 0.8rem 1rem; + border: 1px solid #e0e0e0; + border-radius: 8px; + font-family: 'Inter', sans-serif; font-size: 1rem; + transition: all 0.3s ease; + background-color: var(--input-bg, #fafafa); + border: 1px solid var(--input-border, #e0e0e0); + color: var(--text-main); +} + +input:focus, select:focus, textarea:focus { + outline: none; + border-color: var(--primary-gold); + background-color: white; + box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1); } textarea { - min-height: 120px; + min-height: 150px; resize: vertical; } -button { - background-color: var(--primary-gold); - color: #000; - padding: 12px; - border: none; - border-radius: 6px; +/* --- Button Styling (Matches Quiz Buttons) --- */ +button[type="submit"] { + background-color: var(--deep-navy); + color: white; /* Changed to white for better contrast on navy */ + font-family: 'Inter', sans-serif; font-weight: 600; + font-size: 1rem; + padding: 1rem 2rem; + border: none; + border-radius: 50px; cursor: pointer; + margin-top: 2rem; + width: 100%; + transition: transform 0.2s, box-shadow 0.2s; + box-shadow: 0 4px 10px rgba(10, 25, 47, 0.2); +} + +button[type="submit"]:hover { + transform: translateY(-2px); + background-color: #1a2f4b; /* Slightly lighter navy on hover */ + box-shadow: 0 6px 15px rgba(10, 25, 47, 0.3); +} + +body.dark-mode button[type="submit"] { + background-color: var(--primary-gold) !important; + color: #000 !important; + box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3); } -button:hover { - opacity: 0.9; +body.dark-mode button[type="submit"]:hover { + background-color: #c49b2f !important; + transform: translateY(-2px); } +/* --- Success Message --- */ #successMessage { - display: none; - color: green; - margin-top: 10px; + margin-top: 1.5rem; + text-align: center; + color: #27ae60; font-weight: 600; + display: none; /* Controlled by JS */ + background: #e8f5e9; + padding: 1rem; + border-radius: 8px; +} + +body.dark-mode #successMessage { + background: #052e16; + color: #4ade80; +} + +body.dark-mode select { + background-color: #0f1b2d !important; + color: #ffffff !important; + border: 1px solid #334155 !important; +} + +body.dark-mode select:focus { + border-color: var(--primary-gold) !important; + box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.2); } + +/* Dropdown options */ +body.dark-mode select option { + background-color: #0f1b2d; + color: #ffffff; +} + +body.dark-mode textarea, +body.dark-mode input { + background-color: #0f1b2d !important; + color: #ffffff !important; + border: 1px solid #334155 !important; +} + +body.dark-mode textarea::placeholder, +body.dark-mode input::placeholder { + color: #94a3b8 !important; +} \ No newline at end of file diff --git a/frontend/css/program.css b/frontend/css/program.css index d7ce9d6..aa0d218 100644 --- a/frontend/css/program.css +++ b/frontend/css/program.css @@ -313,4 +313,189 @@ body.dark-mode .programs-heading { ); -webkit-background-clip: text; -webkit-text-fill-color: transparent; + +.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/Contribute.html b/frontend/pages/Contribute.html index 10203af..30e4ddb 100644 --- a/frontend/pages/Contribute.html +++ b/frontend/pages/Contribute.html @@ -22,6 +22,110 @@ +
diff --git a/frontend/pages/contributors.html b/frontend/pages/contributors.html index 12519e5..2f86f11 100644 --- a/frontend/pages/contributors.html +++ b/frontend/pages/contributors.html @@ -21,115 +21,6 @@ - - diff --git a/frontend/pages/feedback.html b/frontend/pages/feedback.html index 32b695f..a46d69c 100644 --- a/frontend/pages/feedback.html +++ b/frontend/pages/feedback.html @@ -1,450 +1,72 @@ - - - -- Your feedback helps improve OpenSource Compass for everyone. Let us - know how we can make your journey better. -
-A global program focused on bringing new contributors into open source software development.
View DetailsGirlScript Summer of Code is a three-month-long Open Source program by GirlScript Foundation.
View DetailsA month-long celebration of open-source software run by DigitalOcean.
View DetailsExplore various mentorship opportunities within the massive Linux ecosystem.
View DetailsProvides internships to people subject to systemic bias and underrepresented in tech.
View DetailsA program to promote open source and encourage student developers to build for social good.
View DetailsA 12-week remote internship alternative for aspiring engineers.
+ View Details +Supports open source documentation projects.
+ View Details +