diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 3e212e1..301d14e 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,21 +1,20 @@ +```javascript module.exports = { root: true, env: { browser: true, es2020: true }, extends: [ 'eslint:recommended', - 'plugin:react/recommended', - 'plugin:react/jsx-runtime', + 'plugin:@typescript-eslint/recommended', 'plugin:react-hooks/recommended', ], ignorePatterns: ['dist', '.eslintrc.cjs'], - parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, - settings: { react: { version: '18.2' } }, + parser: '@typescript-eslint/parser', plugins: ['react-refresh'], rules: { - 'react/jsx-no-target-blank': 'off', 'react-refresh/only-export-components': [ 'warn', { allowConstantExport: true }, ], }, } +``` diff --git a/UI-UX-IMPLEMENTATION-PLAN.md b/UI-UX-IMPLEMENTATION-PLAN.md new file mode 100644 index 0000000..3039012 --- /dev/null +++ b/UI-UX-IMPLEMENTATION-PLAN.md @@ -0,0 +1,1387 @@ +# Gender Cell Website - UI/UX Consistency Implementation Plan + +**Project:** Gender Cell IIT Kanpur Website +**Created:** 2025-12-22 +**Version:** 1.0 +**Status:** Ready for Implementation + +--- + +## Table of Contents + +1. [Executive Summary](#executive-summary) +2. [Design System Standards](#design-system-standards) +3. [Critical Issues (Phase 1)](#critical-issues-phase-1) +4. [Major Issues (Phase 2)](#major-issues-phase-2) +5. [Minor Issues (Phase 3)](#minor-issues-phase-3) +6. [Long-term Improvements (Phase 4)](#long-term-improvements-phase-4) +7. [Testing Checklist](#testing-checklist) +8. [Progress Tracking](#progress-tracking) + +--- + +## Executive Summary + +### Issues Overview +- **Total Files Analyzed:** 32 +- **Critical Issues:** 28 +- **Major Issues:** 45 +- **Minor Issues:** 67 +- **Total Issues:** 140 + +### Current State +The website uses DaisyUI + Tailwind CSS but suffers from: +- Inconsistent typography hierarchy +- Mixed hardcoded and theme colors +- Multiple implementations of similar components +- Accessibility gaps +- Legacy CSS pollution + +### Goal +Achieve visual consistency, improve accessibility, and establish maintainable design patterns across the entire website. + +### Estimated Timeline +- **Phase 1 (Critical):** 8-12 hours +- **Phase 2 (Major):** 12-16 hours +- **Phase 3 (Minor):** 8-10 hours +- **Phase 4 (Long-term):** 16-20 hours +- **Total:** 44-58 hours + +--- + +## Design System Standards + +### Typography Hierarchy + +```css +/* Page Titles (H1) */ +text-4xl md:text-5xl font-bold font-heading text-primary + +/* Section Titles (H2) */ +text-3xl md:text-4xl font-bold font-heading text-base-content + +/* Subsection Titles (H3) */ +text-2xl md:text-3xl font-semibold font-heading text-base-content + +/* Card Titles (H4) */ +text-xl md:text-2xl font-semibold font-heading text-base-content + +/* Body Text - Large */ +text-lg leading-relaxed font-sans text-base-content/80 + +/* Body Text - Normal */ +text-base leading-relaxed font-sans text-base-content/80 + +/* Body Text - Small */ +text-sm leading-relaxed font-sans text-base-content/70 + +/* Captions/Meta */ +text-xs leading-normal font-sans text-base-content/60 +``` + +### Color System + +```css +/* Primary Actions & Headings */ +text-primary (#4F46E5 - Slate Blue) +bg-primary +border-primary + +/* Secondary Actions */ +text-secondary (#EC4899 - Pink) +bg-secondary +border-secondary + +/* Accent */ +text-accent (#F59E0B - Amber) +bg-accent + +/* Backgrounds */ +bg-base-100 (White) - Main background +bg-base-200 (#F3F4F6) - Card/Section background +bg-base-300 (#E5E7EB) - Borders/Dividers + +/* Text Colors */ +text-base-content - Primary text (default dark) +text-base-content/80 - Body text (80% opacity) +text-base-content/70 - Secondary text (70% opacity) +text-base-content/60 - Meta/Caption text (60% opacity) + +/* Semantic Colors (Use ONLY for feedback) */ +text-success - Positive feedback only +text-error - Error messages only +text-warning - Warning messages only +text-info - Info messages only + +/* NEVER USE */ +❌ text-slate-900 (use text-base-content instead) +❌ bg-slate-50 (use bg-base-200 instead) +❌ Hardcoded hex colors +``` + +### Spacing System + +```css +/* Page Container Padding */ +px-4 md:px-6 lg:px-8 + +/* Section Padding (Vertical) */ +py-16 md:py-20 + +/* Card Padding */ +p-6 md:p-8 (standard cards) +p-8 md:p-10 (large cards) + +/* Gaps Between Elements */ +gap-4 (tight spacing) +gap-6 (standard spacing) +gap-8 (loose spacing) + +/* Margins Between Sections */ +mb-8 (small) +mb-12 (standard) +mb-16 (large) +``` + +### Component Standards + +```css +/* Buttons */ +Primary: btn btn-primary +Secondary: btn btn-outline btn-primary +Ghost: btn btn-ghost +Sizes: btn-sm, (default), btn-lg + +/* Cards */ +Base: card bg-base-200 shadow-lg +Hover: hover:shadow-xl transition-shadow duration-300 +Border: border border-base-300 (optional) + +/* Shadows */ +Standard: shadow-lg +Hover: hover:shadow-xl +Subtle: shadow-md +``` + +### Animation Standards + +```css +/* Transitions */ +duration-300 (standard) +duration-500 (slow animations) + +/* Easing */ +ease-in-out (default) + +/* Hover Effects */ +hover:shadow-xl transition-shadow duration-300 +hover:-translate-y-1 transition-transform duration-300 +hover:scale-[1.02] transition-transform duration-300 +``` + +--- + +## Critical Issues (Phase 1) + +### 1. Fix Typography Inconsistencies + +#### 1.1 Standardize Page Title Sizes + +**Priority:** 🔴 CRITICAL +**Impact:** High visual consistency improvement +**Time:** 2 hours + +##### Files to Update: + +**File:** `src/pages/About.tsx` +- **Line 103:** Change `text-4xl` to `text-4xl md:text-5xl` +- **Line 135:** Change `text-4xl` to `text-3xl md:text-4xl` (section title, not page title) +- **Line 138, 147, 163, 179:** Keep as `text-2xl` (subsections) +- **Line 200:** Change `text-3xl` to `text-3xl md:text-4xl` + +**Before:** +```tsx +

About Us

+``` + +**After:** +```tsx +

About Us

+``` + +--- + +**File:** `src/pages/Home.tsx` +- **Line 28:** Change `text-3xl md:text-4xl` to `text-4xl md:text-5xl` +- **Line 41, 48:** Change `text-2xl` to `text-xl md:text-2xl` (these are card titles, not page titles) + +**Before:** +```tsx +

+``` + +**After:** +```tsx +

+``` + +--- + +**File:** `src/pages/Events.tsx` +- **Line 73:** Keep as `text-4xl md:text-5xl` ✓ (already correct) +- **Line 26:** Check if this needs to be page title size + +--- + +**File:** `src/pages/ICC.tsx` +- **Line 31:** Change `text-3xl` to `text-4xl md:text-5xl` +- **Line 51:** Keep as `text-2xl` (subsection) + +**Before:** +```tsx +

+``` + +**After:** +```tsx +

+``` + +--- + +**File:** `src/pages/Resources.tsx` +- **Line 137:** Add page title with proper sizing +- **Line 141:** Section titles should be `text-3xl md:text-4xl` + +--- + +**File:** `src/pages/Support.tsx` +- Verify page title exists and uses `text-4xl md:text-5xl` + +--- + +**File:** `src/pages/Competitions.tsx` +- **Line 40:** Keep as `text-4xl md:text-5xl` ✓ (already correct) + +--- + +**File:** `src/pages/Blogs.tsx` +- **Line 64:** Verify and standardize to `text-4xl md:text-5xl` + +--- + +#### 1.2 Remove Font Weight Inconsistencies + +**Priority:** 🔴 CRITICAL +**Impact:** Visual consistency +**Time:** 1 hour + +##### Replace `font-extrabold` with `font-bold` + +**File:** `src/components/Sections/RecentEvents.tsx` +- **Line 12:** Change `font-extrabold` to `font-bold` +- **Line 22:** Change `font-extrabold` to `font-bold` +- **Line 30:** Change `font-extrabold` to `font-bold` + +**Before:** +```tsx +

+``` + +**After:** +```tsx +

+``` + +--- + +#### 1.3 Remove Font-Serif from Resources Page + +**Priority:** 🔴 CRITICAL +**Impact:** Visual consistency with rest of site +**Time:** 30 minutes + +**File:** `src/pages/Resources.tsx` +- **Line 169:** Remove `font-serif`, replace with `font-sans` +- **Line 223:** Remove `font-serif`, replace with `font-sans` +- **Line 229:** Remove `font-serif`, replace with `font-sans` +- **Line 245:** Remove `font-serif`, replace with `font-sans` +- **Line 251:** Remove `font-serif`, replace with `font-sans` +- **Line 257:** Remove `font-serif`, replace with `font-sans` + +**Before:** +```tsx +

+``` + +**After:** +```tsx +

+``` + +--- + +#### 1.4 Standardize Line Heights + +**Priority:** 🔴 CRITICAL +**Impact:** Readability +**Time:** 1.5 hours + +##### Body Text Should Use `leading-relaxed` + +**Files to Review:** +- `src/pages/About.tsx` - Lines 108, 116, 124 - Add `leading-relaxed` +- `src/pages/Home.tsx` - All paragraph text +- `src/pages/ICC.tsx` - All paragraph text +- `src/pages/Support.tsx` - All paragraph text + +**Standard Pattern:** +```tsx +

+``` + +--- + +### 2. Fix Color Inconsistencies + +#### 2.1 Replace Hardcoded Colors with Theme Colors + +**Priority:** 🔴 CRITICAL +**Impact:** Theme consistency, dark mode support +**Time:** 2 hours + +##### Update Base Styles in index.css + +**File:** `src/index.css` + +**Changes Required:** + +**Lines 13-33:** Replace `text-slate-900` with `text-base-content` + +**Before:** +```css +h1, h2, h3, h4, h5, h6 { + @apply font-heading font-bold text-slate-900 leading-tight; +} +``` + +**After:** +```css +h1, h2, h3, h4, h5, h6 { + @apply font-heading font-bold text-base-content leading-tight; +} +``` + +**Lines 110-219:** Review and potentially remove legacy consent-container styles with hardcoded colors + +--- + +##### Update HomeHero Component + +**File:** `src/components/Sections/HomeHero.tsx` + +**Line 19:** Replace hardcoded gradient with theme colors + +**Before:** +```tsx +

+``` + +**After:** +```tsx +
+``` + +**Alternative (if gradient is desired):** +```tsx +
+``` + +**Line 40:** Replace `text-slate-900` + +**Before:** +```tsx +

+``` + +**After:** +```tsx +

+``` + +--- + +##### Replace bg-slate-50 with bg-base-200 + +**File:** `src/components/Sections/RecentEvents.tsx` +- **Line 9:** Change `bg-slate-50` to `bg-base-200` + +**Before:** +```tsx +
+``` + +**After:** +```tsx +
+``` + +--- + +**File:** `src/pages/Home.tsx` +- **Line 27:** Change `bg-slate-50` to `bg-base-200` + +**Before:** +```tsx +
+``` + +**After:** +```tsx +
+``` + +--- + +#### 2.2 Fix Semantic Color Misuse + +**Priority:** 🔴 CRITICAL +**Impact:** Semantic correctness, accessibility +**Time:** 1 hour + +##### Remove Success Color from Regular Headings + +**File:** `src/pages/Home.tsx` + +**Line 41:** Change `text-success` to `text-primary` +**Line 48:** Change `text-success` to `text-primary` + +**Before:** +```tsx +

+``` + +**After:** +```tsx +

+``` + +**Note:** Also changed `border-l-secondary` to `border-l-primary` for consistency + +--- + +#### 2.3 Standardize Text Color Opacity Levels + +**Priority:** 🟡 MEDIUM +**Impact:** Accessibility (contrast ratios) +**Time:** 1.5 hours + +##### Audit All Text Opacity Levels + +**Standard Usage:** +- `text-base-content` - Headings, important text +- `text-base-content/80` - Body text (primary content) +- `text-base-content/70` - Secondary text (labels, captions) +- `text-base-content/60` - Metadata, timestamps (use sparingly - may fail contrast) + +**Files to Review:** +- Check all instances of `/60` for WCAG AA compliance +- Consider changing to `/70` where readability is critical + +**Key Files:** +- `src/pages/BlogPost.tsx` - Line 82 (metadata) +- `src/pages/ICC.tsx` - Line 43 (office order info) + +--- + +### 3. Fix Border Inconsistencies + +**Priority:** 🟡 MEDIUM +**Impact:** Visual consistency +**Time:** 1 hour + +#### 3.1 Simplify Dual Border Pattern + +**File:** `src/pages/Home.tsx` + +**Lines 40, 47:** Dual borders (`border-l-secondary` + `border-r-primary`) are overly complex + +**Before:** +```tsx +

+``` + +**After (Simplified):** +```tsx +

+``` + +--- + +### 4. Component Consistency + +#### 4.1 Standardize Card Shadows and Hover Effects + +**Priority:** 🟡 MEDIUM +**Impact:** Visual consistency +**Time:** 2 hours + +##### Standard Card Pattern + +```tsx +
+``` + +**Files to Update:** + +**File:** `src/components/Cards/HomeCard.tsx` +- **Line 21:** Standardize shadow and transition + +**Before:** +```tsx +
+``` + +**After:** +```tsx +
+``` + +--- + +**File:** `src/components/Cards/EventCard.tsx` +- Review and standardize shadow usage +- Use `shadow-lg` as base, `hover:shadow-xl` for hover + +--- + +**File:** `src/components/Cards/ContactCard.tsx` +- **Line 16:** Standardize transition duration to `duration-300` + +**Before:** +```tsx +
+``` + +**After (keep as-is, already using duration-300):** +```tsx +
+``` + +--- + +**File:** `src/pages/About.tsx` +- **Lines 105, 113, 121:** Standardize card styling + +**Before:** +```tsx +
+``` + +**After (already good, just verify consistency):** +```tsx +
+``` + +--- + +## Major Issues (Phase 2) + +### 5. Spacing Standardization + +**Priority:** 🟡 MEDIUM +**Impact:** Visual rhythm, consistency +**Time:** 3 hours + +#### 5.1 Standardize Section Padding + +**Pattern:** `py-16 md:py-20` + +**Files to Update:** +- `src/pages/Home.tsx` +- `src/pages/About.tsx` +- `src/pages/Events.tsx` +- `src/pages/ICC.tsx` +- `src/pages/Support.tsx` +- `src/pages/Resources.tsx` +- `src/pages/Competitions.tsx` + +**Review each section tag and apply standard padding.** + +--- + +#### 5.2 Standardize Card Padding + +**Patterns:** +- Small cards: `p-6 md:p-8` +- Large cards: `p-8 md:p-10` + +**File:** `src/components/Cards/HomeCard.tsx` +- **Line 22:** Change `p-5 lg:p-12` to `p-6 md:p-8` + +**Before:** +```tsx +
+``` + +**After:** +```tsx +
+``` + +--- + +#### 5.3 Standardize Gap Spacing + +**Files to Review:** +- All grid/flex containers +- Use: `gap-4`, `gap-6`, or `gap-8` consistently +- Avoid: `gap-3`, `gap-5`, `gap-7`, `gap-12` + +--- + +### 6. Button Standardization + +**Priority:** 🟡 MEDIUM +**Impact:** User experience consistency +**Time:** 2 hours + +#### 6.1 Standardize Button Sizes + +**Patterns:** +- Hero/CTA: `btn btn-primary btn-lg` +- Standard: `btn btn-primary` +- Small: `btn btn-primary btn-sm` + +**File:** `src/pages/Resources.tsx` +- **Line 238:** Verify `btn-sm` is appropriate for "Read more" links + +--- + +#### 6.2 Convert Custom Link Buttons to DaisyUI Buttons + +**File:** `src/components/Cards/HomeCard.tsx` +- **Lines 27-30:** Consider converting custom link with underline animation to DaisyUI button + +**Current:** +```tsx + + + {linkText || 'Learn More'} + + + +``` + +**Consider Standardizing to:** +```tsx + + {linkText || 'Learn More'} + +``` + +**Decision:** Keep custom styling if it's intentional for HomeCard, but document it. + +--- + +### 7. Responsive Design Improvements + +**Priority:** 🟡 MEDIUM +**Impact:** Mobile experience +**Time:** 3 hours + +#### 7.1 Standardize Breakpoint Usage + +**Standard Breakpoints:** +- Mobile-first (default) +- `md:` - Tablet (768px) +- `lg:` - Desktop (1024px) + +**Avoid:** `sm:`, `xl:`, `2xl:` unless absolutely necessary + +**File:** `src/components/Navbar/Navbar.tsx` +- **Line 45:** Change `xl:` to `lg:` for menu breakpoint + +**Before:** +```tsx +
); }; -ImageSlider.propTypes = { - images: PropTypes.arrayOf(PropTypes.string).isRequired, - textHeight: PropTypes.number.isRequired, // Prop for the height of text content -}; - export default ImageSlider; diff --git a/src/css/BlogPost.css b/src/css/BlogPost.css index c8ff901..ce2c784 100644 --- a/src/css/BlogPost.css +++ b/src/css/BlogPost.css @@ -26,7 +26,7 @@ opacity: 0.9; } -.blog-post-content { +.blog-post-body { max-width: 90%; margin: 0 auto; background: white; @@ -65,7 +65,7 @@ font-weight: 500; } -.blog-post-title { +.blog-post-heading { padding: 20px 30px 10px 30px; font-size: 2.5rem; font-weight: 700; @@ -80,49 +80,49 @@ font-style: italic; } -.blog-post-body { +.blog-post-content { padding: 0 30px 40px 30px; line-height: 1.8; color: #374151; } -.blog-post-body h2 { +.blog-post-content h2 { font-size: 2rem; font-weight: 600; color: #1f2937; margin: 30px 0 20px 0; } -.blog-post-body h3 { +.blog-post-content h3 { font-size: 1.5rem; font-weight: 600; color: #1f2937; margin: 25px 0 15px 0; } -.blog-post-body h4 { +.blog-post-content h4 { font-size: 1.25rem; font-weight: 600; color: #1f2937; margin: 20px 0 10px 0; } -.blog-post-body p { +.blog-post-content p { margin: 15px 0; font-size: 1.1rem; } -.blog-post-body ul { +.blog-post-content ul { margin: 15px 0; padding-left: 20px; } -.blog-post-body li { +.blog-post-content li { margin: 8px 0; font-size: 1.1rem; } -.blog-post-body strong { +.blog-post-content strong { font-weight: 600; color: #1f2937; } @@ -137,7 +137,7 @@ height: 250px; } - .blog-post-title { + .blog-post-heading { font-size: 2rem; padding: 15px 20px 10px 20px; } @@ -150,30 +150,30 @@ padding: 0 20px 15px 20px; } - .blog-post-body { + .blog-post-content { padding: 0 20px 30px 20px; } - .blog-post-body h2 { + .blog-post-content h2 { font-size: 1.75rem; } - .blog-post-body h3 { + .blog-post-content h3 { font-size: 1.4rem; } - .blog-post-body h4 { + .blog-post-content h4 { font-size: 1.2rem; } - .blog-post-body p, - .blog-post-body li { + .blog-post-content p, + .blog-post-content li { font-size: 1rem; } } @media (max-width: 480px) { - .blog-post-title { + .blog-post-heading { font-size: 1.75rem; } diff --git a/src/css/Blogs.css b/src/css/Blogs.css index 5c2b3f8..7780b82 100644 --- a/src/css/Blogs.css +++ b/src/css/Blogs.css @@ -101,7 +101,7 @@ color: #1f2937; } -.blog-title { +.blog-heading { font-size: 1.25rem; font-weight: 600; margin-bottom: 12px; @@ -173,7 +173,7 @@ padding: 16px; } - .blog-title { + .blog-heading { font-size: 1.1rem; } } \ No newline at end of file diff --git a/src/css/events.css b/src/css/events.css deleted file mode 100644 index bb494ee..0000000 --- a/src/css/events.css +++ /dev/null @@ -1,195 +0,0 @@ -.page { - padding: 0px; - background-color: rgb(219, 253, 254); -} - -.section-event-gallery { - margin: 20px auto; - max-width: 1500px; - padding: 10px; -} - -.gallery { - display: flex; - justify-content: center; -} - -.main-gallery { - display: flex; - flex-wrap: wrap; - gap: 20px; -} - -@media screen and (max-width: 768px) { - .main-gallery { - flex-direction: column; - } -} - -.heading1 { - margin-bottom: 13px; - color: hsl(240, 69%, 75%); -} - -.app-gallery { - display: flex; - flex-direction: column; - padding: 3rem 0; - min-height: 100vh; - justify-content: center; - align-items: center; - /* background-color: hsl(240, 19%, 92%); */ -} - -.maintitle { - text-align: center; - font-size: 50px; - margin: 20px; - color: #ffffff; - font-family: Dance; - letter-spacing: 2px; -} - -.app-gallery-images { - margin-top: 2rem; - display: flex; - flex-direction: row; - max-width: 95%; - position: relative; -} - -.app-gallery-images_container { - display: flex; - overflow-x: auto; - -ms-overflow-style: none; /* Internet Explorer 10+ */ - scrollbar-width: none; /* Firefox */ -} - -.app-gallery-images_container::-webkit-scrollbar { - display: none; /* Safari and Chrome */ -} - -.app-gallery-images_card { - position: relative; - min-width: fit-content; - margin-right: 1rem; - margin-left: 1rem; - position: sticky; - left: 5vw; - display: flex; -} - -.app-gallery-images_card .gallery-image { - max-width: 100%; - width: max-content; - height: auto; - height: 70vh; - width: 90vh; -} - -.app-gallery-images_arrows { - width: 100%; - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 2rem; - position: absolute; - bottom: 5%; -} - -.gallery-arrow-icon { - font-size: 2.5rem; - cursor: pointer; - width: 40px; - height: 40px; - display: flex; - align-items: center; - justify-content: center; - border-radius: 50%; /* Circular shape */ - background: hsl(240, 30%, 75%); /* Light lavender background color */ - color: #555; /* Dark grey text color */ - transition: background 0.3s, color 0.3s; /* Added color transition */ -} - -.gallery-arrow-icon:hover { - background: hsl(240, 67%, 80%); /* Slightly darker lavender background on hover */ - color: #fff; /* White text color on hover */ -} -.gallery-arrow-icon:active { - background: hsl(240, 57%, 68%); /* Slightly darker lavender background on hover */ - color: #fff; /* White text color on hover */ -} - - -/* Stylish arrow icons */ -.gallery-arrow-icon::before { - content: ''; - display: inline-block; - width: 0.5em; - height: 0.5em; - border-top: 0.2em solid #555; /* Arrow color */ - border-right: 0.2em solid #555; /* Arrow color */ -} - -.gallery-arrow-prev::before { - transform: rotate(-135deg); /* Left arrow */ -} - -.gallery-arrow-next::before { - transform: rotate(45deg); /* Right arrow */ -} - -.gallery-arrows-div { - background: transparent; - padding: 3px; - border-radius: 10px; -} - -.gallery-arrow-icon:hover { - color: rgb(255, 185, 33); -} - -.app-gallery-images_card:nth-child(1) img { - transform: scale(0.75) rotate(-10deg); -} - -.app-gallery-images_card:nth-child(2) img { - transform: scale(0.75) rotate(-7deg); -} - -.app-gallery-images_card:nth-child(3) img { - transform: scale(0.75) rotate(-4deg); -} - -.app-gallery-images_card:nth-child(4) img { - transform: scale(0.75) rotate(-1deg); -} - -.app-gallery-images_card:nth-child(5) img { - transform: scale(0.75) rotate(2deg); -} - -.app-gallery-images_card:nth-child(6) img { - transform: scale(0.75) rotate(5deg); -} - -.app-gallery-images_card:nth-child(7) img { - transform: scale(0.75) rotate(8deg); -} - -.app-gallery-images_card:nth-child(8) img { - transform: scale(0.75) rotate(11deg); -} - -@media (width <= 750px) { - .app-gallery-images_card .gallery-image { - width: max-content; - height: auto; - } -} -.app-gallery-content-heading{ - /* gallery heading changed bigger font size and */ - color: rgb(87, 87, 255); - font-size:xx-large; - font-weight: 700; -} \ No newline at end of file diff --git a/src/css/home.css b/src/css/home.css deleted file mode 100644 index 2ce5e5c..0000000 --- a/src/css/home.css +++ /dev/null @@ -1,104 +0,0 @@ -.consent-container { - /* max-width: 800px; */ - margin: 0 auto; - padding: 40px 6rem; - margin-bottom: 0px; - font-family: Arial, sans-serif; - background-color: #ffe5d9; - border-radius: 10px; - /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */ - } - - .consent-container h1 { - text-align: center; - color: #333; - font-size: 34px; - margin-bottom: 20px; - } - - .consent-container p { - /* color: #666; */ - line-height: 1.6; - } - .para1{ - color: #666; - line-height: 1.6; - text-align: center; - font-size: 24px; - } - - .consent-box { - background-color: #fff; - padding: 15px; - margin-bottom: 15px; - border-left: 5px solid #4CAF50; - border-right: 5px solid rgb(209, 192, 250); - border-radius: 5px; - width: 436px; - background-color: #ffdab9; - } - @media (max-width:1020px) { - .consent-container{ - width: 100%; - padding: 0; - } - .consent-box{ - width: 95%; - margin: auto; - } - .consent-box2{ - width: 95%; - margin: auto; - } - .highlight{ - width: 92%; - margin: auto; - } - } - .consent-box2 { - background-color: #fff; - padding: 15px; - margin-bottom: 15px; - border-left: 5px solid #4CAF50; - border-right: 5px solid rgb(209, 192, 250); - border-radius: 5px; - background-color: #ffdab9; - /* width: 33%; */ - } - .consentalign{ - display: flex; - flex-wrap: wrap; - } - .consent-box h2 { - color: #4CAF50; - margin-top: 0; - font-size: 24px; - } - .consent-box2 h2 { - color: #4CAF50; - margin-top: 0; - font-size: 24px; - } - .consent-box2 p, - .consent-box2 ul { - color: #444; - } - - .consent-box2 ul { - list-style-type: none; - padding-left: 20px; - } - - .consent-box2 ul li { - padding: 5px 0; - } - - .consent-box2 ul li::before { - content: '•'; - color: #4CAF50; - padding-right: 10px; - } - .highlight{ - color: red; - } - \ No newline at end of file diff --git a/src/firebase.ts b/src/firebase.ts new file mode 100644 index 0000000..b408be1 --- /dev/null +++ b/src/firebase.ts @@ -0,0 +1,24 @@ +// Import the functions you need from the SDKs you need +import { initializeApp } from "firebase/app"; +import { getFirestore } from "firebase/firestore"; + +// TODO: Add SDKs for Firebase products that you want to use +// https://firebase.google.com/docs/web/setup#available-libraries + +// Your web app's Firebase configuration + +const firebaseConfig = { + apiKey: import.meta.env.VITE_FIREBASE_API_KEY, + authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN, + projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID, + storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET, + messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID, + appId: import.meta.env.VITE_FIREBASE_APP_ID, + measurementId: import.meta.env.VITE_FIREBASE_MEASUREMENT_ID, +}; + +// Initialize Firebase +const app = initializeApp(firebaseConfig); + +// Initialize and export Firestore +export const db = getFirestore(app); \ No newline at end of file diff --git a/src/index.css b/src/index.css index e69de29..80fc1e6 100644 --- a/src/index.css +++ b/src/index.css @@ -0,0 +1,113 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Outfit:wght@100..900&display=swap'); + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + body { + @apply font-sans text-neutral bg-background text-base leading-relaxed; + } + + h1 { + @apply font-heading font-bold text-base-content text-4xl md:text-5xl leading-tight mb-6; + } + + h2 { + @apply font-heading font-bold text-base-content text-3xl md:text-4xl leading-tight mb-4; + } + + h3 { + @apply font-heading font-bold text-base-content text-2xl md:text-3xl leading-snug mb-3; + } + + h4 { + @apply font-heading font-bold text-base-content text-xl md:text-2xl leading-snug mb-2; + } + + h5 { + @apply font-heading font-bold text-base-content text-lg md:text-xl leading-snug mb-2; + } + + h6 { + @apply font-heading font-bold text-base-content text-base md:text-lg leading-snug mb-2; + } + + p { + @apply mb-4; + } +} + +@layer utilities { + .font-inter { + font-family: "Inter", sans-serif; + } + + .font-outfit { + font-family: "Outfit", sans-serif; + } + + .nav-link { + @apply font-semibold transition-all; + } + + .nav-link:hover { + @apply text-primary; + } + + .nav-link:focus-visible { + @apply text-primary ring-2 ring-primary ring-offset-2; + } + + .nav-link:active { + @apply text-primary; + } + + .active-link { + @apply px-3.5 py-1.5 bg-primary text-white scale-105 rounded-md transform transition-all; + } + + .active-link:hover { + @apply bg-primary brightness-110 text-white; + } + + .active-link:focus-visible { + @apply bg-primary text-white ring-2 ring-primary ring-offset-2; + } + + .active-link:active { + @apply bg-primary scale-100 text-white; + } + + .page-container { + @apply container mx-auto px-6 lg:px-12; + } +} + +/* Override DaisyUI menu link default states */ +.menu li > * { + @apply transition-colors; +} + +.menu li > *:focus, +.menu li > *:active { + @apply bg-transparent; +} + +.menu li > *:focus-visible { + @apply bg-transparent ring-2 ring-primary ring-offset-2; +} + +.menu li > *.active-link:focus, +.menu li > *.active-link:active { + @apply bg-primary text-white; +} + +.menu li > *.active-link:focus-visible { + @apply bg-primary text-white ring-2 ring-primary ring-offset-2; +} + +/* Global Image Rendering Fix */ +img { + image-rendering: auto !important; +} \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx deleted file mode 100644 index d6975d2..0000000 --- a/src/main.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.jsx' -import './index.css' -import "./output.css" - -ReactDOM.createRoot(document.getElementById('root')).render( - - - , -) diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..5839d7b --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import './index.css' +// import "./output.css" // Removing manual output, assuming index.css handles tailwind + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/src/pages/About.jsx b/src/pages/About.jsx deleted file mode 100644 index d332d14..0000000 --- a/src/pages/About.jsx +++ /dev/null @@ -1,187 +0,0 @@ -import '../css/About.css' -import ContactCard from '../components/Card/Contactcard'; -import BannerCard from '../components/Card/BannerCard'; -import LinksSection from '../components/Linkscard/LinkCard'; -import teamImages from '../setups/teamImages'; - -function About() { - const head = [ - { - name: 'Prof. Priyanka V Bagade', - designation: 'Chairperson Gender Cell', - phone: '+91 (512) 259/679-2206', - email: 'pbagade@iitk.ac.in', - image: teamImages.priyanka, - }, - { - name: 'Prof. Devlina Chatterjee', - designation: 'Chairperson ICC', - phone: '+91 512-259-6960', - email: 'devlina@iitk.ac.in', - image: teamImages.devlina, - }, - ] - const contacts = [ - { - name: 'Prof. Urbi Chatterjee', - designation: 'Member', - phone: '+91 (512) 259/679-2211', - email: 'urbic@iitk.ac.in', - image: teamImages.urbi, - }, { - name: 'Prof. Jishnu Bhattacharya', - designation: 'Member', - phone: '+91-512-2597684', - email: 'jishnu@iitk.ac.in', - image: teamImages.jishnu, - }, { - name: 'Prof. Vaibhav Arghode', - designation: 'Member', - phone: '+91 512-259-6294', - email: 'varghode@iitk.ac.in', - image: teamImages.vaibhav, - } - // Add more contacts as needed - ]; - const nominees = [ - { - name: 'Pushpender', - designation: 'Student Nominee', - Phone: ' +91 9257009192', - Email: 'pushpender23@iitk.ac.in', - post: ' UG - MALE', - image: teamImages.pushpender, - }, { - name: "Rasagna Abothula", - designation: 'Student Nominee', - Phone: '+91 8247276839', - Email: 'aboyhula23@iitk.ac.in', - post: ' UG - Female', - image: teamImages.rasagana, - }, { - name: 'Jyoti Srivastava', - designation: 'Student Nominee', - Phone: '+91 94738 81699', - Email: 'jyotis22@iitk.ac.in', - post: 'PG - Female', - image: teamImages.jyoti, - },{ - name: 'Satyaki Banerjee', - designation: 'Student Nominee', - Phone: '+91 6290311744', - Email: 'bsatyaki25@iitk.ac.in', - post: 'PG - Male', - image: teamImages.satyaki, - } - ] - const staff=[ - { - name: 'Mrs. Pragati Indoria', - designation: 'Member', - phone: '+91 (512) 259/679-7223 ', - email: 'pragati@iitk.ac.in', - image: teamImages.pragati, - }, - ] - const title = "Know More About Us"; - const description = "Fostering inclusivity through education, advocacy, and support, empowering all genders with equality and understanding"; - const buttons = [ - { label: "About Us", sectionId: "about-us" }, - { label: "Meet our Team", sectionId: "team-info" }, - { label: "Know our History", sectionId: "history" }, - ]; - return ( -
- -
-

About us

-
-
-

Who are we?

-

- The Gender Cell at IIT Kanpur is committed to creating a safe and supportive environment for everyone on campus. We are committed to treating all people with dignity and respect, and we actively prevent any exploitation, sexual harassment, or abuse. -

-
-
-

What do we do?

-

- The Cell's goals include raising awareness within the community about gender issues and making a safe campus environment. We address the issue of sexual harassment and abuse across campus. We conduct orientation programs, seminars for students and staff, and sensitize residents from all parts of the community.

-
-
-

Who can approach us?

-

- Any person residing, working or visiting the campus as well as any student can approach us and file complaint in any case of sexual harassment. Your all information will be kept completely confidential. -

-
-
-
- -
-

Meet Our Team

-
-
Chairperson
-
- {head.map((head, index) => ( - - ))} -
-
Faculty Members of Gender Cell
-
- {contacts.map((contact, index) => ( - - ))} -
-
Staff Member of Gender Cell
-
- {staff.map((contact, index) => ( - - ))} -
-
- Student Nominee of Gender Cell -
-
- {nominees.map((nominee, index) => ( - - ))} -
-
-
-
-
-
-

History of the Gender Cell

-
-

- The Gender Cell (previously called the Women's Cell), IITK was constituted on May 10, 2013 based on the judgment of Supreme Court dated 13.8.97 in Visakha and other V/S State of Rajasthan which envisaged the creation of an appropriate complaint mechanism in any professional workspace for speedy redressal of sexual harassment and abuse cases. The committee has been historically promoting equal male-female representation by exhibiting a nearly equal number of male and female members constituting the committee. Since its inception, the Gender Cell, IITK has been continuously working towards sensitizing the campus residents towards gender equality and preventing sexual harassment and abuse at all levels in the campus. -

-
-
- -
- ) -} - -export default About \ No newline at end of file diff --git a/src/pages/About.tsx b/src/pages/About.tsx new file mode 100644 index 0000000..94077f8 --- /dev/null +++ b/src/pages/About.tsx @@ -0,0 +1,215 @@ +import React from 'react'; +import ContactCard from '../components/Cards/ContactCard'; +import BannerCard from '../components/Cards/BannerCard'; + +import teamImages from '../setups/teamImages.ts'; + +const About: React.FC = () => { + const head = [ + { + name: 'Prof. Priyanka V Bagade', + designation: 'Chairperson Gender Cell', + phone: '+91 (512) 259/679-2206', + email: 'pbagade@iitk.ac.in', + image: teamImages.priyanka, + }, + { + name: 'Prof. Devlina Chatterjee', + designation: 'Chairperson ICC', + phone: '+91 512-259-6960', + email: 'devlina@iitk.ac.in', + image: teamImages.devlina, + }, + ]; + + const contacts = [ + { + name: 'Prof. Urbi Chatterjee', + designation: 'Member', + phone: '+91 (512) 259/679-2211', + email: 'urbic@iitk.ac.in', + image: teamImages.urbi, + }, { + name: 'Prof. Jishnu Bhattacharya', + designation: 'Member', + phone: '+91-512-2597684', + email: 'jishnu@iitk.ac.in', + image: teamImages.jishnu, + }, { + name: 'Prof. Vaibhav Arghode', + designation: 'Member', + phone: '+91 512-259-6294', + email: 'varghode@iitk.ac.in', + image: teamImages.vaibhav, + } + ]; + + const nominees = [ + { + name: 'Pushpender', + designation: 'Student Nominee', + phone: ' +91 9257009192', + email: 'pushpender23@iitk.ac.in', + post: ' UG - MALE', + image: teamImages.pushpender, + }, { + name: "Rasagna Abothula", + designation: 'Student Nominee', + phone: '+91 8247276839', + email: 'aboyhula23@iitk.ac.in', + post: ' UG - Female', + image: teamImages.rasagana, + }, { + name: 'Jyoti Srivastava', + designation: 'Student Nominee', + phone: '+91 94738 81699', + email: 'jyotis22@iitk.ac.in', + post: 'PG - Female', + image: teamImages.jyoti, + }, { + name: 'Satyaki Banerjee', + designation: 'Student Nominee', + phone: '+91 6290311744', + email: 'bsatyaki25@iitk.ac.in', + post: 'PG - Male', + image: teamImages.satyaki, + } + ]; + + const staff = [ + { + name: 'Mrs. Pragati Indoria', + designation: 'Member', + phone: '+91 (512) 259/679-7223 ', + email: 'pragati@iitk.ac.in', + image: teamImages.pragati, + }, + ]; + + const title = "Know More About Us"; + const description = "Fostering inclusivity through education, advocacy, and support, empowering all genders with equality and understanding"; + const buttons = [ + { label: "About Us", sectionId: "about-us" }, + { label: "Meet our Team", sectionId: "team-info" }, + { label: "Know our History", sectionId: "history" }, + ]; + + return ( +
+ + +
+
+

About Us

+
+
+
+

Who are we?

+

+ The Gender Cell at IIT Kanpur is committed to creating a safe and supportive environment for everyone on campus. We are committed to treating all people with dignity and respect, and we actively prevent any exploitation, sexual harassment, or abuse. +

+
+
+
+
+

What do we do?

+

+ The Cell's goals include raising awareness within the community about gender issues and making a safe campus environment. We address the issue of sexual harassment and abuse across campus. We conduct orientation programs, seminars for students and staff, and sensitize residents from all parts of the community. +

+
+
+
+
+

Who can approach us?

+

+ Any person residing, working or visiting the campus as well as any student can approach us and file complaint in any case of sexual harassment. Your all information will be kept completely confidential. +

+
+
+
+
+
+ +
+
+

Meet Our Team

+ +
+

Chairperson

+
+ {head.map((head, index) => ( + + ))} +
+
+ +
+

Faculty Members of Gender Cell

+
+ {contacts.map((contact, index) => ( + + ))} +
+
+ +
+

Staff Member of Gender Cell

+
+ {staff.map((contact, index) => ( + + ))} +
+
+ +
+

Student Nominee of Gender Cell

+
+ {nominees.map((nominee, index) => ( + + ))} +
+
+
+
+ +
+
+
+

History of the Gender Cell

+
+
+

+ The Gender Cell (previously called the Women's Cell), IITK was constituted on May 10, 2013 based on the judgment of Supreme Court dated 13.8.97 in Visakha and other V/S State of Rajasthan which envisaged the creation of an appropriate complaint mechanism in any professional workspace for speedy redressal of sexual harassment and abuse cases. The committee has been historically promoting equal male-female representation by exhibiting a nearly equal number of male and female members constituting the committee. Since its inception, the Gender Cell, IITK has been continuously working towards sensitizing the campus residents towards gender equality and preventing sexual harassment and abuse at all levels in the campus. +

+
+
+
+ + +
+ ); +}; + +export default About; diff --git a/src/pages/BlogPost.jsx b/src/pages/BlogPost.jsx deleted file mode 100644 index aaf3d10..0000000 --- a/src/pages/BlogPost.jsx +++ /dev/null @@ -1,153 +0,0 @@ -import React from 'react'; -import { useParams, useNavigate } from 'react-router-dom'; -import '../css/BlogPost.css'; -import sneha from '../assets/blogs/sneha.png'; -import sonal from '../assets/blogs/sonal.png'; - - -function BlogPost() { - const { id } = useParams(); - const navigate = useNavigate(); - - const blogPosts = [ - { - id: 2, - title: "The Gender Lens: Seeing What We Miss\n\nWritten by Sonal", - excerpt: "Bias doesn’t always arrive with insults or discrimination. It’s often hidden in the way we give compliments, divide responsibilities, or make casual remarks.", - author: "Sonal", - date: "September 6, 2025", - category: "Awareness", - readTime: "7 min read", - image: sonal, - content: ` -

Seeing Beyond Stereotypes: The Subtle Ways Gender Shapes Our World

-

In our daily lives—between lectures, deadlines, and coffee breaks—it’s easy to miss the quiet forces shaping our experiences. We often think classrooms, workplaces, or public spaces are neutral, where only merit and hard work decide outcomes. But the truth is more complicated. Gender, even when invisible, often changes how people are seen, heard, and treated.

-

Looking through a gender lens doesn’t mean focusing only on women’s issues or men’s challenges. It means pausing to notice how gender norms, expectations, and biases affect all of us—often in ways we’ve learned not to notice.

- -

What Is the “Gender Lens”?

-

The gender lens is not a filter to twist reality—it’s a tool to reveal it. It helps us ask:

-
    -
  • Who is included in this space, and who is left out?
    (For example, hackathons or coding clubs often see mostly boys, while girls feel less encouraged to join. On the other hand, dance groups may have fewer boys because dance is wrongly called “feminine.”)
  • -
  • Whose voice gets amplified, and whose is ignored?
    (When a boy cries or shows emotions, people say, “Why are you crying like a girl?” instead of accepting his feelings. But when a girl cries, she may receive comfort.)
  • -
  • Are the same behaviours judged differently based on gender?
    (When men lose their temper, it is brushed off as “normal,” but if women do the same, they may be called “unfeminine” or “rude.”)
  • -
  • What assumptions are we carrying without realizing?
    (Like thinking men are naturally better with coding or finances, while women are “better suited” for planning events or hospitality.)
  • -
- -

And the examples of these subtle behaviors go on:

-
    -
  • In many forms, the dependent option is automatically listed as “wife,” assuming men are the main applicants.
  • -
  • If a girl faces harassment, it’s usually taken seriously. But if a boy goes through the same, people may make fun of him instead of supporting him.
  • -
  • When a girl leads a team and gets things done, some dismiss it by saying, “People agreed only because you’re a girl,” instead of acknowledging her leadership.
  • -
- -

These may look like small things, but they shape how students, faculty, and staff feel every day.

- -

Gender Stereotypes Hurt Everyone

-
    -
  • Men may feel pressured to hide emotions and “act strong,” even at the cost of mental health.
  • -
  • Some people may feel invisible or unsafe in spaces built only for specific genders.
  • -
  • Women may be interrupted more in discussions or underrepresented in leadership and STEM.
  • -
- -

Why We Miss What We Miss

-

Bias doesn’t always arrive with insults or discrimination. It’s often hidden in the way we give compliments, divide responsibilities, or make casual remarks. Most of us don’t mean harm—we’re just repeating norms we’ve inherited. That’s why the gender lens matters. It makes the invisible visible. On campus, using a gender lens can change how we work, study, and live together. It can guide how we form teams, lead projects, host events, and support each other.

- -

Building a More Inclusive Campus

-

On campus, adopting a gender lens can be transformative. It can inform how we form teams, lead group projects, host events, or respond to peer behaviour. It can shape policy, but more importantly, it can reshape culture.

-

We can make a difference by starting with tiny changes like:

-
    -
  • Using inclusive language
  • -
  • Making sure women, men, and gender minorities feel safe sharing ideas in class or clubs
  • -
  • Rotating roles in group work, so every gender is equally represented.
  • -
  • Valuing skills and ideas, not just appearance, when giving compliments
  • -
  • Questioning gendered assumptions in sports, cultural events, or technical clubs
  • -
- -

These may not look like big changes, but together, they create fairness and dignity.

-

Looking through the gender lens means asking better questions. It’s about understanding more and assuming less. We just need to start noticing what we’ve been missing. The gender lens helps us see the gender biased patterns—not to blame, but to begin conversations and change.
Let’s begin there.

- ` - }, ,{ - id: 1, - title: "It’s not about intention, it’s about impact", - excerpt: "Sexual harassment often occurs not because someone intends harm but because they fail to understand the impact of their actions. That’s why understanding the impact over intention is so important, especially in the context of gender sensitivity.", - author: "Snehlata Rao", - date: "April 2024", - category: "Awareness", - readTime: "5 min read", - image: sneha, - content: ` -

Understanding Sexual Harassment Beyond “I Didn’t Mean It”

- -

“It was just a compliment.”
“It’s normal, you are overreacting.”
“I was just being friendly.”
“Why are you behaving like a girl?”.

-

You’ve probably heard these lines or maybe even said them. In an educated and thoughtful campus community like IIT Kanpur, most people don’t try to make sexist comments or be disrespectful. Still, comments like these can come under sexual harassment if the other person is not comfortable or has already asked you to stop.
-

Sexual harassment often occurs not because someone intends harm but because they fail to understand the impact of their actions.
That’s why understanding the impact over intention is so important, especially in the context of gender sensitivity.

-

What Does It Mean?
Intention” is what you meant to do.
Impact” is what the other person experienced because of it.
You might not mean to be disrespectful, or hurtful but if someone feels disrespected, offended or unsafe because of your words or behaviour, that feeling is valid.

-

Here are some real examples that show the gap between intention and impact:

-
    -
  • 1. “ You look so hot in that dress.” (said to a classmate)
    Intention: Giving a compliment.
    Impact: Unwanted sexual attention that makes the person feel objectified or uncomfortable in an academic space.
  • -
  • 2. Staring at someone during class or lab.
    Intention: Admiring someone.
    Impact: Makes the person feel watched or uneasy, especially if it happens often.
  • -
  • 3. Sending late-night texts like “You up?” or “Send me a pic.”
    Intention: Flirting.
    Impact: Invading boundaries; can feel harassing.
  • -
-

For the one who is affected (victim):
It’s also important to talk about the person who feels uncomfortable, hurt, or harassed.
If you feel someone’s words or actions are making you uncomfortable you should speak up and set a clear boundary because people often do not realise that they are making you uncomfortable.
You have every right to say:

-
    -
  • “That makes me uncomfortable.”
  • -
  • “Please don’t say things like that to me.”
  • -
  • “I didn’t like that message you sent.”
  • -
  • “I’m not okay with this behavior.”
  • -
-

Being clear and direct can help the other person understand your boundaries. It also gives them a chance to correct their behavior.
Let’s be the kind of IITK community that:
Open for feedback.
Apologizes with maturity.
Respect others' boundaries.

-

In classrooms, hostels, labs, or clubs being mindful of how we make others feel is as important as being right or well-intentioned. Learns, grows, and creates safer spaces together.

` - }, - ]; - - const post = blogPosts.find(p => p.id === parseInt(id)); - - if (!post) { - return ( -
-
-

Blog Post Not Found

-

The blog post you're looking for doesn't exist.

- -
-
- ); - } - - return ( -
-
- -
- -
-
- {post.title} -
- -
- {post.category} - {post.date} - {post.readTime} -
- -

{post.title}

- -
- By {post.author} -
- -
-
-
- ); -} - -export default BlogPost; \ No newline at end of file diff --git a/src/pages/BlogPost.tsx b/src/pages/BlogPost.tsx new file mode 100644 index 0000000..4d98875 --- /dev/null +++ b/src/pages/BlogPost.tsx @@ -0,0 +1,112 @@ +import React, { useState, useEffect } from "react"; +import { useParams, useNavigate } from "react-router-dom"; +import { getContentByFolder } from '../utils/firebaseUtils'; + +interface BlogPostData { + id: string; + heading: string; + excerpt: string; + author: string; + date: string; + category: string; + readtime: string; + image: string; + content: string; +} + +const BlogPost: React.FC = () => { + const [blogPosts, setBlogPosts] = useState([]); + const [loading, setLoading] = useState(true); + const { id } = useParams<{ id: string }>(); + const navigate = useNavigate(); + + useEffect(() => { + const fetchBlogs = async () => { + try { + setLoading(true); + const blogData = await getContentByFolder('blogs'); + setBlogPosts(blogData.reverse()); + } catch (error) { + console.error("Error fetching blog posts:", error); + } finally { + setLoading(false); + } + }; + + fetchBlogs(); + }, []); + + if (loading) { + return ( +
+ +
+ ); + } + + const postIndex = id ? parseInt(id) - 1 : -1; + const post = blogPosts[postIndex]; + + if (!post) { + return ( +
+

Blog Post Not Found

+

The blog post you're looking for doesn't exist.

+ +
+ ); + } + + return ( +
+
+ + +
+
+ {post.heading} +
+ +
+ {post.category} + {post.date} + + {post.readtime} +
+ +

+ {post.heading} +

+ +
+
+
+ {post.author.charAt(0)} +
+
+ By {post.author} +
+ +
+
+
+
+ ); +}; + +export default BlogPost; diff --git a/src/pages/Blogs.jsx b/src/pages/Blogs.jsx deleted file mode 100644 index 61c6346..0000000 --- a/src/pages/Blogs.jsx +++ /dev/null @@ -1,150 +0,0 @@ -import React from 'react'; -import { useNavigate } from 'react-router-dom'; -import '../css/Blogs.css'; -import BannerCard from '../components/Card/BannerCard'; -import sneha from '../assets/blogs/sneha.png'; -import sonal from '../assets/blogs/sonal.png'; - - - -function Blogs() { - const navigate = useNavigate(); - const title = "Gender Cell Blog"; - const description = "Insights, stories, and perspectives on gender equality, inclusivity, and campus life"; - const buttons = [ - { label: "All Blogs", sectionId: "all-blogs" }, - ]; - - const blogPosts = [ - { - id: 2, - title: "The Gender Lens: Seeing What We Miss\n\nWritten by Sonal", - excerpt: "Bias doesn’t always arrive with insults or discrimination. It’s often hidden in the way we give compliments, divide responsibilities, or make casual remarks.", - author: "Sonal", - date: "September 6, 2025", - category: "Awareness", - readTime: "7 min read", - image: sonal, - content: ` -

The Gender Lens: Seeing What We Miss

-

Seeing Beyond Stereotypes: The Subtle Ways Gender Shapes Our World

-

In our daily lives—between lectures, deadlines, and coffee breaks—it’s easy to miss the quiet forces shaping our experiences. We often think classrooms, workplaces, or public spaces are neutral, where only merit and hard work decide outcomes. But the truth is more complicated. Gender, even when invisible, often changes how people are seen, heard, and treated.

-

Looking through a gender lens doesn’t mean focusing only on women’s issues or men’s challenges. It means pausing to notice how gender norms, expectations, and biases affect all of us—often in ways we’ve learned not to notice.

- -

What Is the “Gender Lens”?

-

The gender lens is not a filter to twist reality—it’s a tool to reveal it. It helps us ask:

-
    -
  • Who is included in this space, and who is left out?
    (For example, hackathons or coding clubs often see mostly boys, while girls feel less encouraged to join. On the other hand, dance groups may have fewer boys because dance is wrongly called “feminine.”)
  • -
  • Whose voice gets amplified, and whose is ignored?
    (When a boy cries or shows emotions, people say, “Why are you crying like a girl?” instead of accepting his feelings. But when a girl cries, she may receive comfort.)
  • -
  • Are the same behaviours judged differently based on gender?
    (When men lose their temper, it is brushed off as “normal,” but if women do the same, they may be called “unfeminine” or “rude.”)
  • -
  • What assumptions are we carrying without realizing?
    (Like thinking men are naturally better with coding or finances, while women are “better suited” for planning events or hospitality.)
  • -
- -

And the examples of these subtle behaviors go on:

-
    -
  • In many forms, the dependent option is automatically listed as “wife,” assuming men are the main applicants.
  • -
  • If a girl faces harassment, it’s usually taken seriously. But if a boy goes through the same, people may make fun of him instead of supporting him.
  • -
  • When a girl leads a team and gets things done, some dismiss it by saying, “People agreed only because you’re a girl,” instead of acknowledging her leadership.
  • -
- -

These may look like small things, but they shape how students, faculty, and staff feel every day.

- -

Gender Stereotypes Hurt Everyone

-
    -
  • Men may feel pressured to hide emotions and “act strong,” even at the cost of mental health.
  • -
  • Some people may feel invisible or unsafe in spaces built only for specific genders.
  • -
  • Women may be interrupted more in discussions or underrepresented in leadership and STEM.
  • -
- -

Why We Miss What We Miss

-

Bias doesn’t always arrive with insults or discrimination. It’s often hidden in the way we give compliments, divide responsibilities, or make casual remarks. Most of us don’t mean harm—we’re just repeating norms we’ve inherited. That’s why the gender lens matters. It makes the invisible visible. On campus, using a gender lens can change how we work, study, and live together. It can guide how we form teams, lead projects, host events, and support each other.

- -

Building a More Inclusive Campus

-

On campus, adopting a gender lens can be transformative. It can inform how we form teams, lead group projects, host events, or respond to peer behaviour. It can shape policy, but more importantly, it can reshape culture.

-

We can make a difference by starting with tiny changes like:

-
    -
  • Using inclusive language
  • -
  • Making sure women, men, and gender minorities feel safe sharing ideas in class or clubs
  • -
  • Rotating roles in group work, so every gender is equally represented.
  • -
  • Valuing skills and ideas, not just appearance, when giving compliments
  • -
  • Questioning gendered assumptions in sports, cultural events, or technical clubs
  • -
- -

These may not look like big changes, but together, they create fairness and dignity.

-

Looking through the gender lens means asking better questions. It’s about understanding more and assuming less. We just need to start noticing what we’ve been missing. The gender lens helps us see the gender biased patterns—not to blame, but to begin conversations and change.
Let’s begin there.

- ` -}, { - id: 1, - title: "It’s not about intention, it’s about impact\n“Understanding Sexual Harassment Beyond “I Didn’t Mean It”\n\nWritten by Snehlata Rao", - excerpt: "Sexual harassment often occurs not because someone intends harm but because they fail to understand the impact of their actions. That’s why understanding the impact over intention is so important, especially in the context of gender sensitivity.", - author: "Snehlata Rao", - date: "August 5, 2025", - category: "Awareness", - readTime: "5 min read", - image: sneha, - content: `

“It was just a compliment.”
“It’s normal, you are overreacting.”
“I was just being friendly.”
“Why are you behaving like a girl?”.

-

You’ve probably heard these lines or maybe even said them. In an educated and thoughtful campus community like IIT Kanpur, most people don’t try to make sexist comments or be disrespectful. Still, comments like these can come under sexual harassment if the other person is not comfortable or has already asked you to stop.
Sexual harassment often occurs not because someone intends harm but because they fail to understand the impact of their actions.
That’s why understanding the impact over intention is so important, especially in the context of gender sensitivity.

-

What Does It Mean?
“Intention” is what you meant to do.
“Impact” is what the other person experienced because of it.
You might not mean to be disrespectful, or hurtful but if someone feels disrespected, offended or unsafe because of your words or behaviour, that feeling is valid.

-

Here are some real examples that show the gap between intention and impact:

-
    -
  • “You look so hot in that dress.” (said to a classmate)
    Intention: Giving a compliment.
    Impact: Unwanted sexual attention that makes the person feel objectified or uncomfortable in an academic space.
  • -
  • Staring at someone during class or lab.
    Intention: Admiring someone.
    Impact: Makes the person feel watched or uneasy, especially if it happens often.
  • -
  • Sending late-night texts like “You up?” or “Send me a pic.”
    Intention: Flirting.
    Impact: Invading boundaries; can feel harassing.
  • -
-

For the one who is affected (victim):
It’s also important to talk about the person who feels uncomfortable, hurt, or harassed.
If you feel someone’s words or actions are making you uncomfortable you should speak up and set a clear boundary because people often do not realise that they are making you uncomfortable.
You have every right to say:

-
    -
  • “That makes me uncomfortable.”
  • -
  • “Please don’t say things like that to me.”
  • -
  • “I didn’t like that message you sent.”
  • -
  • “I’m not okay with this behavior.”
  • -
-

Being clear and direct can help the other person understand your boundaries. It also gives them a chance to correct their behavior.
Let’s be the kind of IITK community that:
Open for feedback.
Apologizes with maturity.
Respect others' boundaries.

-

In classrooms, hostels, labs, or clubs being mindful of how we make others feel is as important as being right or well-intentioned. Learns, grows, and creates safer spaces together.

` - } - ]; - - const handleReadMore = (postId) => { - navigate(`/blogs/${postId}`); - }; - - return ( -
- {/* Hero Section */} - - - - {/* Main Content */} -
-
-
- {blogPosts.map((post) => ( -
-
- {post.title} -
{post.category}
-
-
-
- {post.author} - {post.date} - {post.readTime} -
-

{post.title}

-

{post.excerpt}

- -
-
- ))} -
-
-
-
- ); -} - -export default Blogs; \ No newline at end of file diff --git a/src/pages/Blogs.tsx b/src/pages/Blogs.tsx new file mode 100644 index 0000000..177e196 --- /dev/null +++ b/src/pages/Blogs.tsx @@ -0,0 +1,100 @@ +import React, { useState, useEffect } from "react"; +import { useNavigate } from "react-router-dom"; +import BannerCard from "../components/Cards/BannerCard"; +import { getContentByFolder } from "../utils/firebaseUtils"; + +interface BlogPost { + id: string; + heading: string; + excerpt: string; + author: string; + date: string; + category: string; + readtime: string; + image: string; + content: string; +} + +const Blogs: React.FC = () => { + const [blogPosts, setBlogPosts] = useState([]); + const [loading, setLoading] = useState(true); + const navigate = useNavigate(); + + const title = "Gender Cell Blog"; + const description = "Insights, stories, and perspectives on gender equality, inclusivity, and campus life"; + const buttons = [{ label: "All Blogs", sectionId: "all-blogs" }]; + + useEffect(() => { + const fetchBlogs = async () => { + try { + setLoading(true); + const blogData = await getContentByFolder("blogs"); + setBlogPosts(blogData.reverse()); + } catch (error) { + console.error("Error fetching blog posts:", error); + } finally { + setLoading(false); + } + }; + + fetchBlogs(); + }, []); + + const handleReadMore = (index: number) => { + // Assuming the ID logic is index + 1 based on the original code, + // but ideally it should use post.id if available and consistent. + // The original code used index + 1. + navigate(`/blogs/${index + 1}`); + }; + + return ( +
+ + +
+ {loading ? ( +
+ +
+ ) : ( +
+ {blogPosts.map((post, index) => ( +
+
+ {post.heading} +
{post.category}
+
+
+
+ {post.author} + {post.date} • {post.readtime} +
+

handleReadMore(index)}> + {post.heading} +

+

+ {post.excerpt} +

+
+ +
+
+
+ ))} +
+ )} +
+
+ ); +}; + +export default Blogs; diff --git a/src/pages/Competitions.tsx b/src/pages/Competitions.tsx new file mode 100644 index 0000000..12d9c75 --- /dev/null +++ b/src/pages/Competitions.tsx @@ -0,0 +1,67 @@ +import React, { useState, useEffect } from "react"; +import EventCard from "../components/Cards/EventCard"; +import BannerCard from "../components/Cards/BannerCard"; + +import { getContentByFolder } from "../utils/firebaseUtils"; + +interface CompetitionData { + id: string; + heading?: string; + datetime?: string; + venue?: string; + theme?: string; + content: string; + image?: string; +} + +const Competitions: React.FC = () => { + const [competitions, setCompetitions] = useState([]); + + const title = "Competitions"; + const description = "Participate in our exciting competitions designed to challenge your skills, foster creativity, and promote awareness. From debates and quizzes to creative writing and art contests, there's something for everyone. Join us to showcase your talents and win amazing prizes!"; + const buttons = [ + { label: "Competitions details", sectionId: "section-competitions-list" }, + ]; + + useEffect(() => { + const fetchCompetitions = async () => { + const data = await getContentByFolder('competitions'); + setCompetitions(data.reverse()); + }; + + fetchCompetitions(); + }, []); + + return ( +
+ + +
+

Upcoming & Recent Competitions

+
+ {competitions.length > 0 ? ( + competitions.map((comp) => ( + + )) + ) : ( +
+

No competitions found at the moment. Please check back later!

+
+ )} +
+
+ + +
+ ); +}; + +export default Competitions; diff --git a/src/pages/Events.tsx b/src/pages/Events.tsx new file mode 100644 index 0000000..ebcdd49 --- /dev/null +++ b/src/pages/Events.tsx @@ -0,0 +1,133 @@ +import React, { useState, useEffect } from "react"; +import { Fade } from "react-awesome-reveal"; +import EventCard from "../components/Cards/EventCard"; +import BannerCard from "../components/Cards/BannerCard"; + +import { getContentByFolder } from "../utils/firebaseUtils"; + +// Swiper imports +import { Swiper, SwiperSlide } from 'swiper/react'; +import { EffectCoverflow, Pagination, Navigation } from 'swiper/modules'; +import 'swiper/css'; +import 'swiper/css/effect-coverflow'; +import 'swiper/css/pagination'; +import 'swiper/css/navigation'; + +// Import images for gallery +import hall1 from "../assets/images_events/hall1.jpg"; +import hall2 from "../assets/images_events/hall2.jpg"; +import lapata1 from "../assets/images_events/lapata1.png"; +import runwalk2 from "../assets/images_events/run_walk2.png"; +import runwalk3 from "../assets/images_events/run_walk3.png"; +import lapata2 from "../assets/images_events/lapata2.png"; +import barbie1 from "../assets/images_events/barbie1.png"; +import barbie2 from "../assets/images_events/barbie2.png"; + +interface EventData { + id: string; + heading?: string; + datetime?: string; + venue?: string; + speaker?: string; + theme?: string; + content: string; + image?: string; +} + +const EventsPage: React.FC = () => { + const [events, setEvents] = useState([]); + + const galleryData = [ + { id: 1, img: hall1 }, + { id: 2, img: hall2 }, + { id: 3, img: lapata1 }, + { id: 4, img: runwalk2 }, + { id: 5, img: runwalk3 }, + { id: 6, img: lapata2 }, + { id: 7, img: barbie1 }, + { id: 8, img: barbie2 }, + ]; + + const title = "Know More About Our Recent Events"; + const description = "Here is a vibrant showcase of the different events we organize to promote gender equality and create a safe and inclusive environment for all. In the past, we have organized multiple workshops, seminars, awareness programs, and activities. Join us in our mission to foster understanding, support, and empowerment within the community."; + const buttons = [ + { label: "Events details", sectionId: "section-event-gallery" }, + { label: "Gallery", sectionId: "gallery" } + ]; + + useEffect(() => { + const fetchEvents = async () => { + const eventData = await getContentByFolder('event'); + // eventData.reverse(); // Assuming getContentByFolder returns an array + setEvents(eventData.reverse()); + }; + + fetchEvents(); + }, []); + + return ( +
+ + + + + + + +
+ ); +}; + +export default EventsPage; diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx deleted file mode 100644 index 740dea6..0000000 --- a/src/pages/Home.jsx +++ /dev/null @@ -1,94 +0,0 @@ -import HomeCard from "../components/Card/HomeCard"; -// import Contact from "../components/contact/Contact"; -import Events from "../components/events/Events"; -import HomeHero from "../components/Hero/Banner/HomeHero"; -import LinksSection from "../components/Linkscard/LinkCard"; -import '../css/home.css' - -export const Home = () => { - return ( - <> -
-
- {/* */} - - -
-
-

Understanding Consent

-

Consent is “permission for something to happen or agreement to do something”

-
- - -
-

Consent Is Active

-

Consent is not passive. It requires an unmistakable agreement via words or actions. The phrase "No always means NO, and only YES means YES" captures this essence perfectly. It's about clear, affirmative participation in the activity.

-
- -
-

Consent Is Clear

-

Clear consent involves direct communication. It means that all parties involved have a mutual and explicit understanding of what is being agreed to, leaving no room for ambiguity or misinterpretation.

-
- -
-

Consent Is Knowing

-

For consent to be valid, it must be given by individuals who are fully conscious and not impaired by drugs or alcohol. This ensures that all participants are fully aware of and understand what they are consenting to.

-
- -
-

Consent Is Ongoing

-

Consent is not a one-time agreement. It needs to be confirmed at each level of sexual activity, ensuring that all parties remain comfortable and willing throughout the interaction. This means checking in regularly and being attentive to each other's needs and boundaries.

-
- -
-

Consent Is Voluntary

-

Consent must be given freely, without any form of pressure, force, or manipulation. All participants should willingly agree to the activity, making sure that their decision is not influenced by coercion or duress.

-
- -
-

Consent Is Required

-

Consent is essential for any sexual interaction and cannot be inferred from clothing, alcohol consumption, or dancing. It is a distinct, conscious decision made by all parties involved.

-
-
- -
-

Consent Is FRIES

-
    -
  • Freely Given: Both partners have the freedom to say yes or no without any pressure or manipulation.
  • -
  • Reversible: Consent can be withdrawn at any time, even in the middle of an activity.
  • -
  • Informed: Both partners need to know exactly what they are consenting to each time.
  • -
  • Enthusiastic: Both partners should be excited and genuinely interested in the activity. If one partner is not, it’s crucial to stop immediately.
  • -
  • Specific: Each individual act requires consent. Just because someone consented to one thing does not mean they have consented to everything.
  • -
-
-
-

All sexual interactions must occur between consenting adults. Understanding and respecting consent is crucial in ensuring that all parties feel safe, respected, and valued. By adhering to these principles, we can create a culture of mutual respect and understanding, where everyone’s boundaries are acknowledged and honored.

-
-
-

Credits to:

University Health and Counseling Services, University of Wisconsin Whitewater -

-
-
-
- -
- {/* */} - {/* */} - {/* */} -
-
- - - - ); -}; - - - diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx new file mode 100644 index 0000000..e9572bc --- /dev/null +++ b/src/pages/Home.tsx @@ -0,0 +1,76 @@ +import React from 'react'; +import HomeCard from "../components/Cards/HomeCard"; +import RecentEvents from "../components/Sections/RecentEvents"; +import HomeHero from "../components/Sections/HomeHero"; + + +export const Home: React.FC = () => { + return ( + <> +
+ +
+ +
+
+
+

Understanding Consent

+

Consent is “permission for something to happen or agreement to do something”

+ +
+ {[ + { title: "Consent Is Active", text: "Consent is not passive. It requires an unmistakable agreement via words or actions. The phrase \"No always means NO, and only YES means YES\" captures this essence perfectly. It's about clear, affirmative participation in the activity." }, + { title: "Consent Is Clear", text: "Clear consent involves direct communication. It means that all parties involved have a mutual and explicit understanding of what is being agreed to, leaving no room for ambiguity or misinterpretation." }, + { title: "Consent Is Knowing", text: "For consent to be valid, it must be given by individuals who are fully conscious and not impaired by drugs or alcohol. This ensures that all participants are fully aware of and understand what they are consenting to." }, + { title: "Consent Is Ongoing", text: "Consent is not a one-time agreement. It needs to be confirmed at each level of sexual activity, ensuring that all parties remain comfortable and willing throughout the interaction. This means checking in regularly and being attentive to each other's needs and boundaries." }, + { title: "Consent Is Voluntary", text: "Consent must be given freely, without any form of pressure, force, or manipulation. All participants should willingly agree to the activity, making sure that their decision is not influenced by coercion or duress." }, + { title: "Consent Is Required", text: "Consent is essential for any sexual interaction and cannot be inferred from clothing, alcohol consumption, or dancing. It is a distinct, conscious decision made by all parties involved." } + ].map((item, index) => ( +
+

{item.title}

+

{item.text}

+
+ ))} +
+ +
+

Consent Is FRIES

+
    +
  • Freely Given: Both partners have the freedom to say yes or no without any pressure or manipulation.
  • +
  • Reversible: Consent can be withdrawn at any time, even in the middle of an activity.
  • +
  • Informed: Both partners need to know exactly what they are consenting to each time.
  • +
  • Enthusiastic: Both partners should be excited and genuinely interested in the activity. If one partner is not, it’s crucial to stop immediately.
  • +
  • Specific: Each individual act requires consent. Just because someone consented to one thing does not mean they have consented to everything.
  • +
+
+ +
+

All sexual interactions must occur between consenting adults. Understanding and respecting consent is crucial in ensuring that all parties feel safe, respected, and valued. By adhering to these principles, we can create a culture of mutual respect and understanding, where everyone’s boundaries are acknowledged and honored.

+
+ +
+

Credits to:

+

University Health and Counseling Services, University of Wisconsin Whitewater

+
+
+ +
+ +
+
+ + + + ); +}; diff --git a/src/pages/ICC.jsx b/src/pages/ICC.jsx deleted file mode 100644 index 4605ebe..0000000 --- a/src/pages/ICC.jsx +++ /dev/null @@ -1,137 +0,0 @@ -import React from "react"; -import BannerCard from "../components/Card/BannerCard"; - -export default function ICC() { - const title = "Know About ICC at IIT Kanpur"; -const description = - "The Internal Complaints Committee (ICC) is committed to addressing and preventing sexual harassment on campus. We are here to ensure a safe, inclusive, and supportive environment for all students, faculty, and staff. Explore the purpose, structure, and process of filing a complaint with the ICC."; -const buttons = [ - { label: "Committee Members", sectionId: "current-committee" }, - { label: "Filing a Complaint", sectionId: "how-to-file" }, - {label: "Who can file a complaint?", sectionId: "who-can" } -]; - - return ( -
- -
- -

Internal Complaints Committee (ICC)

- -

- The Internal Complaints Committee of IIT Kanpur was constituted on 9th March 2016 in accordance with the provisions described in the - Sexual Harassment of Women at Workplace (Prevention, Prohibition and Redressal) Act, 2013 - and the Sexual Harassment of Women at Workplace (Prevention, Prohibition and Redressal) Rules, 2013 . The new rules applicable to faculty and staff at: - this link. -

- - {/*

Current Committee

*/} -

- The Current Committee ( - link1 |{" "} - link2 |{" "} - link3 |{" "} - link4 |{" "} - link5 |{" "} - link6 |{" "} - link7{" "} - link8{" "} - to office order(s)) -

- -
- {[ - { - name: "Prof. Devlina Chatterjee (IME)", - email: ["devlina@iitk.ac.in"], - phone: "512-259-6960" -}, -{ - name: "Prof. Shatarupa Thakurta Roy (HSS)", - email: ["stroy@iitk.ac.in"], - phone: "512-259-7145" -}, -{ - name: "Prof. Kallol Mondal (MSE)", - email: ["kallol@iitk.ac.in"], - phone: "512-259-6156" -}, -{ - name: "Prof. Rama Rawat (Maths)", - email: ["rrawat@iitk.ac.in"], - phone: "512-259-7466" -}, -{ - name: "Prof. Abhishek (AE)", - email: ["abhish@iitk.ac.in"], - phone: "512-259-7515" -}, -{ - name: "Prof. Animesh Das (CE)", - email: ["adas@iitk.ac.in"], - phone: "512-259-7477" -}, -{ - name: "Prof. Dootika Vats (Maths)", - email: ["dootika@iitk.ac.in"], - phone: "512-259-2076" -}, -{ - name: "Chairman, SAEC", - email: ["chair_saec@iitk.ac.in"], - phone: "512-259-7546" -}, -{ - name: "Ms. Rita Shukla, Counsellor", - email: ["rita@iitk.ac.in"], - phone: "512-259-7165" -}, -{ - name: "Dr. Sadhana Singh", - email: [""], - phone: "" -} - ].map((member, index) => ( -
-

{member.name}

- {member.email.map((email, i) => ( -

{email}

- ))} - {member.phone &&

Ph: {member.phone}

} -
- ))} -
- -

Who can file a complaint?

-
    -
  • Any woman employee of IIT Kanpur including faculty and staff as well as any woman residing in the Campus or visiting the Campus in any capacity may file a complaint against an incident of sexual harassment.
  • -
  • Any student, irrespective of age and/or gender, may file a complaint against an incident of sexual harassment
  • -
-

Complaints from the above categories of complainants will be dealt with as per the IIT Kanpur Prevention, Prohibition and Redressal of Sexual Harassment of Students Rules 2017 or the IIT Kanpur (Inquiry into Complaints of Sexual Harassment of Women at Workplace) Rules, 2021, whichever is relevant.

- -

How to file a complaint?

-
    -
  • A formal written complaint must be filed (hard copy or email) within 90 days of the incident.
  • -
  • The ICC will complete inquiry and submit the report within 90 days of receiving the complaint.
  • -
  • The complaint should include: -
      -
    • Date and time of the incident
    • -
    • Location of the incident
    • -
    • Name and contact of the accused
    • -
    • Witnesses, if any
    • -
    • Detailed description of the incident
    • -
    -
  • -
-

Contact ICC for assistance in drafting the complaint. All information will remain strictly confidential.

- -

Where to file a complaint?

-

- Email the Presiding Officer or any ICC member. For further action, send a formal complaint to: -
Email: icc@iitk.ac.in, devlina@iitk.ac.in -

-
- -
- ); -} diff --git a/src/pages/ICC.tsx b/src/pages/ICC.tsx new file mode 100644 index 0000000..c4c8cd3 --- /dev/null +++ b/src/pages/ICC.tsx @@ -0,0 +1,110 @@ +import React from "react"; +import BannerCard from "../components/Cards/BannerCard"; + +const ICC: React.FC = () => { + const title = "Know About ICC at IIT Kanpur"; + const description = "The Internal Complaints Committee (ICC) is committed to addressing and preventing sexual harassment on campus. We are here to ensure a safe, inclusive, and supportive environment for all students, faculty, and staff. Explore the purpose, structure, and process of filing a complaint with the ICC."; + const buttons = [ + { label: "Committee Members", sectionId: "current-committee" }, + { label: "Filing a Complaint", sectionId: "how-to-file" }, + { label: "Who can file a complaint?", sectionId: "who-can" } + ]; + + const committeeMembers = [ + { name: "Prof. Devlina Chatterjee (IME)", email: ["devlina@iitk.ac.in"], phone: "512-259-6960" }, + { name: "Prof. Shatarupa Thakurta Roy (HSS)", email: ["stroy@iitk.ac.in"], phone: "512-259-7145" }, + { name: "Prof. Kallol Mondal (MSE)", email: ["kallol@iitk.ac.in"], phone: "512-259-6156" }, + { name: "Prof. Rama Rawat (Maths)", email: ["rrawat@iitk.ac.in"], phone: "512-259-7466" }, + { name: "Prof. Abhishek (AE)", email: ["abhish@iitk.ac.in"], phone: "512-259-7515" }, + { name: "Prof. Animesh Das (CE)", email: ["adas@iitk.ac.in"], phone: "512-259-7477" }, + { name: "Prof. Dootika Vats (Maths)", email: ["dootika@iitk.ac.in"], phone: "512-259-2076" }, + { name: "Chairman, SAEC", email: ["chair_saec@iitk.ac.in"], phone: "512-259-7546" }, + { name: "Ms. Rita Shukla, Counsellor", email: ["rita@iitk.ac.in"], phone: "512-259-7165" }, + { name: "Dr. Sadhana Singh", email: [], phone: "" } + ]; + + return ( +
+ + +
+

Internal Complaints Committee (ICC)

+ +

+ The Internal Complaints Committee of IIT Kanpur was constituted on 9th March 2016 in accordance with the provisions described in the + Sexual Harassment of Women at Workplace (Prevention, Prohibition and Redressal) Act, 2013 + and the Sexual Harassment of Women at Workplace (Prevention, Prohibition and Redressal) Rules, 2013 . The new rules applicable to faculty and staff at: + this link. +

+ +
+

+ The Current Committee + + (Office Orders: + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8) + +

+ +
+ {committeeMembers.map((member, index) => ( +
+
+

{member.name}

+ {member.email.map((email, i) => ( + {email} + ))} + {member.phone &&

Ph: {member.phone}

} +
+
+ ))} +
+
+ +
+

Who can file a complaint?

+
    +
  • Any woman employee of IIT Kanpur including faculty and staff as well as any woman residing in the Campus or visiting the Campus in any capacity may file a complaint against an incident of sexual harassment.
  • +
  • Any student, irrespective of age and/or gender, may file a complaint against an incident of sexual harassment
  • +
+

Complaints from the above categories of complainants will be dealt with as per the IIT Kanpur Prevention, Prohibition and Redressal of Sexual Harassment of Students Rules 2017 or the IIT Kanpur (Inquiry into Complaints of Sexual Harassment of Women at Workplace) Rules, 2021, whichever is relevant.

+
+ +
+

How to file a complaint?

+
    +
  • A formal written complaint must be filed (hard copy or email) within 90 days of the incident.
  • +
  • The ICC will complete inquiry and submit the report within 90 days of receiving the complaint.
  • +
  • The complaint should include: +
      +
    • Date and time of the incident
    • +
    • Location of the incident
    • +
    • Name and contact of the accused
    • +
    • Witnesses, if any
    • +
    • Detailed description of the incident
    • +
    +
  • +
+

Contact ICC for assistance in drafting the complaint. All information will remain strictly confidential.

+
+ +
+

Where to file a complaint?

+

+ Email the Presiding Officer or any ICC member. For further action, send a formal complaint to: +
Email: icc@iitk.ac.in, devlina@iitk.ac.in +

+
+
+
+ ); +}; + +export default ICC; diff --git a/src/pages/Resources.jsx b/src/pages/Resources.jsx deleted file mode 100644 index fbb7683..0000000 --- a/src/pages/Resources.jsx +++ /dev/null @@ -1,719 +0,0 @@ - -import Faqs from "../components/Faqs/Faqs"; -import '../css/Resources.css' -import BannerCard from '../components/Card/BannerCard'; -import LinksSection from '../components/Linkscard/LinkCard'; -import React, { useState, useEffect } from 'react'; -// import ReadMore from "../components/ReadMore"; - -function Resources() { - - const title = "Resources"; - const description = "A collection of resources to help students at IIT Kanpur."; - const buttons = [ - { label: "Mandate", sectionId: "mandate" }, - { label: "Understanding Harassment", sectionId: "understanding-harassment" }, - {label:"Annual Reports", sectionId:"annual-reports"}, - { label: "Office Orders", sectionId: "office-orders" }, - { label: "Official Documents", sectionId: "official-documents" }, - { label: "Articles, reports and Judgements", sectionId: "articles" }, - { label: "Other Official Documents", sectionId: "other-official-docs" }, - { label: "FAQS", sectionId: "faqs" }, - ]; - const resources = [ - - { - name: "ICC case Correspondence Document (New)", - author: "ICC IIT Kanpur", - resourceType: "Document", - link: "https://docs.google.com/document/d/1T4lHHlAgfsC_DAu7ukZdpVF8ytcCGs_HgWJBoNIvMjA/edit?usp=sharing" - },{ - name: "The Sexual Harassment of Women at Workplace Act, 2013 (POSH)", - author: "Ministry of Law and Justice", - resourceType: "Act", - link: "https://drive.google.com/file/d/11n9HL9SIGfCHMhTZhmdJ8ohIaX-Kgt2s/view?usp=drive_link" - },{ - name: "Internal Complaints Committee", - author: "ICC", - resourceType: "WEBSITE Link", - link: "https://website-33w.pages.dev/icc/" - },{ - name: "CSS Conduct Rules", - author: "Department of Personnel and Training ", - resourceType: "Rules", - link: "https://drive.google.com/file/d/1InAyLMV51J7SBKR2TwQcYQhNmsepdqNu/view " - }, - { - name: "Rules for The Sexual Harassment of Women at Workplace (Prevention, Prohibition, and Redressal) Act, 2013.", - author: "Department of Women and Child Development", - resourceType: "Rules", - link: "https://drive.google.com/file/d/11n9HL9SIGfCHMhTZhmdJ8ohIaX-Kgt2s/view?usp=drive_link" - }, -{ - name: "HANDBOOK on Sexual Harassment of Women at Workplace (Prevention, Prohibition and Redressal) Act, 2013.", - author: "Department of Women and Child Development", - resourceType: "Rules", - link: "https://drive.google.com/file/d/17A1q54ckDjmU4E2hdTAyQ9HgZZ3Q-Iac/view?usp=drive_link" - }, - { - name: "The Criminal Law (Amendment) Act, 2013", - author: "Ministry of Law and Justice", - resourceType: " Law and Act", - link: "https://drive.google.com/file/d/1_d55FDziewIlE5BdD0hHpITrb2mT0mug/view?usp=sharing" - }, - { - name: "The Constitution of India Guarantees fundamental rights for equality, freedom, and safety through Articles 14, 15, 16, 19(1)(g), and 21", - author: "Ministry of Women and Child Development", - resourceType: "Constitution", - link: "https://drive.google.com/file/d/1rPmIUcMqTQEQs5Tj4u3siiGv8ATrfpak/view?usp=drive_link" - },{ - name: "Prevention, Prohibition, and Redressal of Sexual Harassment of Students Rules, 2017", - author: "IIT Kanpur", - resourceType: "Rules", - link: "https://drive.google.com/file/d/1d0SVFABd7i2eedQ_W3qwjaa9yVwHJQl-/view?usp=drive_link" - },{ - name: "IIT Kanpur Policy on Romantic or Sexual Relationships between Individuals in Positions of Authority and Students/Employees of the Institute", - author: "IIT Kanpur", - resourceType: "Policy", - link: "https://drive.google.com/file/d/1T5ZbH-NFuLAJlrK4B8EZUp0ohpdT6M-n/view?usp=drive_link" - },{ - name: "IIT Kanpur Prevention, Prohibition and Redressal of Sexual Harassment of Students Rules, 2017", - author: "IIT Kanpur", - resourceType: "Rules", - link: "https://drive.google.com/file/d/1d0SVFABd7i2eedQ_W3qwjaa9yVwHJQl-/view?usp=drive_link" - },{ - name: "The Indian Penal Code", - author: "The First Law Commission", - resourceType: "Handbook", - link: "https://drive.google.com/file/d/1NzUpkvmnCnzDTZwMyqSlJ6uQbpcVWL20/view?usp=drive_link" - },{ - name: "UGC Regulations 2015", - author: "Ministry of Education of India", - resourceType: "Handbook", - link: "https://drive.google.com/file/d/1Yrmm3-9rKyadx6fW5WxQ7DUoanx-zi1V/view?usp=drive_link" - },{ - name: "Vishaka Guidelines against Sexual Harassment at Workplace", - author: "Hon’ble Supreme Court", - resourceType: "Handbook", - link: "https://drive.google.com/file/d/1tZQGs104wLKLBdK6WPMa_CiNW2uRan9X/view?usp=drive_link" - },{ - name: "UGC Regulations 2015", - author: "Ministry of Education of India", - resourceType: "Handbook", - link: "https://drive.google.com/file/d/1Yrmm3-9rKyadx6fW5WxQ7DUoanx-zi1V/view?usp=drive_link" - } - ]; - const articles=[ - { - name: "Beyond Bias and Barriers: Fulfilling the Potential of Women in Academic Science and Engineering", - author: "National Academy of Sciences; National Academy of Engineering; Institute of Medicine", - resourceType: "Articles and Reports", - link: "https://nap.nationalacademies.org/catalog/11741/beyond-bias-and-barriers-fulfilling-the-potential-of-women-in" - }, - { - name: "Report of the Committee on Amendments to Criminal Law", - author: "Department of Economics and Social Affairs ", - resourceType: "Report and Article", - link: "https://worlds-women-2020-data-undesa.hub.arcgis.com/" - }, - { - name: "Anju Thomas, Incidents of Sexual Harassment at Educational Institutes in India: Preventive Measures and Grievance Handling, Review article in Journal of Recent Advances in Multidisciplinary Research, March 2015.", - author: "Anju Thomas", - resourceType: "Report and Article", - link: "https://www.ijramr.com/sites/default/files/issues-pdf/148.pdf" - }, - { - name: "Perceptions of the Work Environment: The Issue of Gender in Indian Scientific Research Institutes,", - author: "Namrata Gupta Indian Journal of Gender Studies, 2016", - resourceType: "Report and Article", - link: "https://journals.sagepub.com/doi/abs/10.1177/0971521516656079?journalCode=ijgb" - }, - { - name: "Global Gender Gap Report 2020", - author: "World Economic Forum", - resourceType: "Report and Article", - link: "https://www3.weforum.org/docs/WEF_GGGR_2020.pdf" - }, - { - name: "A Global Approach to the Gender Gap in Mathematical, Computing, and Natural Sciences. How to Measure It, How to Reduce It?", - author: "Marie-Françoise Roy et al. International Science Council, 2020", - resourceType: "Report and Article", - link: "https://zenodo.org/records/3697223#.XmXmJEplOUk" - }, - { - name: "Judgement ADJ", - author: "ADJ", - resourceType: "Judgement and Order", - link: "https://drive.google.com/file/d/10pxaLLd6ELuXmaVCgtV7n_1QmhIpFoar/view?usp=drive_link" - }, - { - name: "Judgement M.K. Lele", - author: " M.K. Lele,", - resourceType: "Judgement and Order", - link: "https://drive.google.com/file/d/16LSgDR_HDD8oqaw-W-k62EFc4i1xJ-L3/view?usp=drive_link" - }, - { - name: "Judgement Seema Lepcha", - author: "Seema Lepcha", - resourceType: "Judgement and Order", - link: "https://drive.google.com/file/d/1NkvpHAv9uglw6kUjrXQgoEorCyVibdBs/view?usp=drive_link" - }, - { - name: " Judgements and Orders related to Sexual Harassment Case", - author: "Indian Kanoon", - resourceType: "Judgement and Order", - link: "https://indiankanoon.org/search/?formInput=sexual%20harassment%20cases" - } - ]; - -const otherresources = [ - { - name: "Handbook on combating gender stereotypes", - author: "Supreme Court of India", - resourceType: "Handbook", - link: "https://main.sci.gov.in/pdf/LU/04092023_070741.pdf" - }, - { - name: "Handbook On Sexual Harassment of Women at Workplace", - author: "Ministry of Women and Child Development", - resourceType: "Handbook", - link: "https://wcd.nic.in/sites/default/files/Handbook%20on%20Sexual%20Harassment%20of%20Women%20at%20Workplace.pdf" - }, - { - name: "Report of the Committee on Amendments to Criminal Law", - author: "Recommendations for amendments to the Criminal Law by Justice J S Verma (retd) Justice Leila Seth (retd) Gopal Subramanium", - resourceType: "Report/ Ordinance Summary", - link: "https://prsindia.org/policy/report-summaries/justice-verma-committee-report-summary" - }, - { - name: "Convention on the Elimination of All Forms of Discrimination against Women (CEDAW) Dec 1979", - author: "International treaty adopted in 1979 by the United Nations General Assembly", - resourceType: "Treaty", - link: "https://www.ohchr.org/sites/default/files/documents/professionalinterest/cedaw.pdf " - }, - { - name: "CONVENTION C190 Convention concerning the elimination of violence and harassment in the world of work", - author: "International Labour Organization", - resourceType: "International convention", - link: "https://www.ilo.org/sites/default/files/wcmsp5/groups/public/@dgreports/@dcomm/@publ/documents/publication/wcms_721160.pdf" - }, - { - name: "Sexual Harassment of Women in Colleges and Universities:Concerns and Solutions 16th November 2017", - author: "Genderlogue- Women Power Connect, Tata Institute of Social Sciences, Mumbai, Friedrich Ebert Stiftung", - resourceType: "Report", - link: "https://www.ilo.org/sites/default/files/wcmsp5/groups/public/@dgreports/@dcomm/@publ/documents/publication/wcms_721160.pdf" - }, - { - name: "Measures for Ensuring the Safety of Women and Programmes for Gender Sensitization on Campuses", - author: "University Grants Commission", - resourceType: "Report", - link: "https://www.ilo.org/sites/default/files/wcmsp5/groups/public/@dgreports/@dcomm/@publ/documents/publication/wcms_721160.pdf" - }, - { - name: "Women's Cell - IIT Bombay", - author: "IIT Bombay", - resourceType: "Website", - link: "http://www.iitb.ac.in/womenscell/en" - }, - { - name: "Women's Cell - TIFR Bombay", - author: "Tata Institute of Fundamental Research", - resourceType: "Website", - link: "https://www.tifr.res.in/~womencell/" - }, - { - name: "Women's Cell - IISER Pune", - author: "Indian Institute of Science Education and Research Pune", - resourceType: "Website", - link: "http://www.iiserpune.ac.in/links/women-s-cell" - }, - { - name: "GSCASH - JNU", - author: "Jawaharlal Nehru University", - resourceType: "Website", - link: "http://www.jnu.ac.in/AboutJNU/GSCASH.asp" - }, - { - name: "Sexual Harassment Policy - Miranda House, Delhi University", - author: "Delhi University (Miranda House)", - resourceType: "PDF Document", - link: "http://www.mirandahouse.ac.in/mirandahouse/userspace/username/admin/DynamicFolder/2006-2007/WomenDevelopment/SexHarass.pdf" - }, - { - name: "Sexual Harassment/Assault Advising, Resources and Education (SHARE)", - author: "Princeton University", - resourceType: "Website", - link: "https://share.princeton.edu/" - }, - { - name: "Sexual and Gender-Based Harassment Policy and Resources", - author: "Harvard University", - resourceType: "Website", - link: "http://www.fas.harvard.edu/sexual-gender-based-harassment-policyresources" - }, - { - name: "Sexual Respect and Community Standards", - author: "Columbia University", - resourceType: "Website", - link: "https://sexualrespect.columbia.edu/" - }, - { - name: "Sexual Harassment Policy - SHARE", - author: "Stanford University", - resourceType: "Website", - link: "https://share.stanford.edu/" - }, - { - name: "Policy on Harassment, Discrimination, and Sexual Misconduct", - author: "University of Chicago", - resourceType: "Website", - link: "https://studentmanual.uchicago.edu/page/policy-harassment-discrimination-and-sexual-misconduct" - }, - { - name: "National Commission for Women (NCW)", - author: "Government of India", - resourceType: "Website", - link: "https://www.ncw.gov.in/" - }, -]; -const annualreports=[ - { - name: "Annual Report 2023-24", - author: "Gender Cell IITK", - resourceType: "Report", - link: "https://docs.google.com/document/d/1Jd98NrFyLzcg0Xa9wdO7_LsWlrHJxzS9/edit?usp=drivesdk&ouid=117882615103267759421&rtpof=true&sd=true" - },{ - name: "Annual Report 2022-23", - author: "Gender Cell IITK", - resourceType: "Report", - link: "https://docs.google.com/document/d/1JTToUclOMFTDXhw9QJKDNiOIh1zkeQQw/edit?usp=drivesdk&ouid=117882615103267759421&rtpof=true&sd=true" - },{ - name: "Annual Report 2021-22", - author: "Gender Cell IITK", - resourceType: "Report", - link: "https://docs.google.com/document/d/1JqNvP2LAVMNEZVHvUcBrSo14d8-0DecO/edit?usp=drivesdk&ouid=117882615103267759421&rtpof=true&sd=true" - }, -] -const Officeorders=[ - { - name: "Women cell to Gender cell Name change", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-No-003-04-01-24.pdf " - }, - { - name: "Women Cell Faculty member change", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-No-60-05-08-23.pdf" - }, - { - name: "Women Cell Team change", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-51-22-07-22.pdf" - },{ - name: "Re-constitution of the 'Women's Cell'", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-72-11-06-20.pdf" - },{ - name: "Re-constitution of the 'Women's Cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-71-09-06-20.pdf" - },{ - name: "Extension of tenure of present connstitution of women cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-40-28-03-2020.pdf" - },{ - name: "Replacement of staff Representative", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office%20Order_24-20-02-20.pdf" - }, - { - name: "Office Order for Relationship policy", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://drive.google.com/file/d/1wQMr0MQ7pgF2r-hvWPAKJteGPcVEpiEg/view?usp=sharing" - }, -] -const Officeorders2=[ - { - name: "Replacement of UG students' representatives in the Women's Cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no.%20136-15-11-19.pdf" - },{ - name: "Extension of tenure of present constitution of the Women's Cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no.-119-24-09-19.pdf" - },{ - name: "Replacement of student Representative", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-84-2018-revised.pdf" - },{ - name: "Replacement of student Representative", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_no_46.pdf" - },{ - name: "Functions and responsibilities of women cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_no_52.pdf" - },{ - name: "Re-Constitution of women cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_DIR_IITK_2016_OO_39.pdf" - },{ - name: "Re-Constitution of women cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_DIR_IITK_2016_OO_39.pdf" - },{ - name: "Director Nominee of womens cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/DIRIITK201465.pdf" - },{ - name: "Chairperson and Vice-chairperson of women cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/DIRIITK2014OO015.pdf" - },{ - name: "Constitution of Women Cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2013_072.pdf" - },{ - name: "Constitution of Women Cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2013_037.pdf" - },{ - name: "Constitution of Women Cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2013_028.pdf" - },{ - name: "Constitution of Women Cell", - author: "Gender Cell IITK", - resourceType: "Office orders", - link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2012_047.pdf" - } -] -const [isExpanded, setIsExpanded] = useState(false); - - const toggleReadMore = () => { - setIsExpanded(!isExpanded); - }; -return ( -
- -
-

Mandate

- -

-
- IIT Kanpur endeavors to create a sustainable, equal-opportunity environment conducive to an all-round development of all members of the campus community, both professionally and personally. The institute constantly strives to ensure that people from all genders and from all walks of life, residing in or visiting the campus, are treated with respect and dignity. It is committed to making the campus-environment safe for everyone – free from exploitation, sexual harassment, and violence of any nature. -

-

- The Gender Cell of IIT Kanpur was constituted in accordance with the{' '} - - Sexual Harassment of Women at Workplace (Prevention, Prohibition, and Redressal) Act, 2013 - - . The Cell's mandate includes sensitizing the community towards gender-related issues, and in this regard, -

-
    -
  • -

    organizing orientation programs for new students and employees,

    -
  • -
  • -

    conducting workshops and open houses for various sections of the community.

    -
  • -
-

The Cell also advises on available courses of action to people on campus who may be in distress.

-

- Mandate of the Gender Cell: a{' '} - - link - {' '} - to the office order. -

-

The Cell draws members from students, staff, and faculty, and is equally represented by women and men.

- -
- -
-

Understanding Sexual Harassment

-

-
What is sexual harassment? -

-

- -
- Unwelcome -
{' '} - acts or behavior with sexual undertones (whether directly or by implication) including -

-
    -
  • -

    physical contact and advances

    -
  • -
  • -

    a demand or request for sexual favors

    -
  • -
  • -

    making sexually colored remarks

    -
  • -
  • -

    showing pornography

    -
  • -
  • -

    any other unwelcome physical, verbal, or non-verbal conduct of sexual nature

    -
  • -
-

- -
-
Power of position may be abused by perpetrators of sexual harassment through -

-
    -
  • -

    implied or explicit promise of preferential treatment

    -
  • -
  • -

    implied or explicit threat of detrimental treatment

    -
  • -
  • -

    creating an offensive work-environment

    -
  • -
-

- These are criminal offenses ( - - link - - ). - -

Some other criminal offenses
-
- Apart from the grave criminal offense of Rape, following acts are also punishable under law: -

-
    -
  • -

    - Voyeurism: watching or capturing an image of a woman engaged in a private act. -

    -
  • -
  • -

    - Stalking: following a woman, contacting (or attempting to contact) a woman despite a clear - indication of disinterest by the woman; monitoring the use of the internet by a woman ( - - link - - ) -

    -
  • -
  • -

    - Exhibitionism: Word, gesture or act intended to insult the modesty of a woman ( - - IPC Section 509 - link - - ) -

    -
  • -
-

- - - Apart from heavy penal consequences, these acts may lead to academic termination, or suspension from - service. - - -

-
    -
  • -

    - - IIT Kanpur has put in place a gender neutral policy on Prevention, Prohibition and Redressal of Sexual - Harassment of Students ( - - link - - ) - -

    -
  • -
-
- -
-
-

Annual Reports

- -

- The below given are Previous Year Annual Reports of Gender Cell IIT Kanpur. -

- - - - - - - - - - {annualreports.map((resource, index) => ( - - - - - - ))} - -
Document nameAuthorResource
{resource.name}{resource.author}{resource.resourceType}
-
-
-

Office Orders

-
-

- The below given are some Office Orders of Gender Cell IIT Kanpur. -

-
-

- - - - - - - - - - {Officeorders.map((resource, index) => ( - - - - - - ))} - - - {Officeorders2.map((resource, index) => ( - - - - - - ))} - -
Document nameAuthorResource
{resource.name}{resource.author}{resource.resourceType}
{resource.name}{resource.author}{resource.resourceType}
-

- -
-
- -
-

Official documents

- -

- The following are some important official documents regarding sexual harassment at the workplace, including Indian Government acts and reports, international conventions and research papers. -

- - - - - - - - - - {resources.map((resource, index) => ( - - - - - - ))} - -
Document nameAuthorResource
{resource.name}{resource.author}{resource.resourceType}
-
- -
-

Articles, Reports and Judgements

- -

- The following are some important Articles, Reports and Judgements regarding sexual harassment at the workplace, including Indian Government acts and reports, international conventions and research papers. -

- - - - - - - - - - {articles.map((resource, index) => ( - - - - - - ))} - -
Document nameAuthorResource
{resource.name}{resource.author}{resource.resourceType}
-
-
-

Other Official documents

- -

- The following are some other important official documents regarding sexual harassment at the workplace, including Indian Government acts and reports, international conventions and research papers. -

- - - - - - - - - - {otherresources.map((resource, index) => ( - - - - - - ))} - -
Document nameAuthorResource
{resource.name}{resource.author}{resource.resourceType}
-
- -
- -
- -
- -
- - - ); - - - -} - -export default Resources; diff --git a/src/pages/Resources.tsx b/src/pages/Resources.tsx new file mode 100644 index 0000000..e868793 --- /dev/null +++ b/src/pages/Resources.tsx @@ -0,0 +1,272 @@ +import React, { useState } from 'react'; +import Faqs from "../components/Sections/Faqs"; +import BannerCard from '../components/Cards/BannerCard'; + + +const Resources: React.FC = () => { + const title = "Resources"; + const description = "A collection of resources to help students at IIT Kanpur."; + const buttons = [ + { label: "Mandate", sectionId: "mandate" }, + { label: "Understanding Harassment", sectionId: "understanding-harassment" }, + { label: "Annual Reports", sectionId: "annual-reports" }, + { label: "Office Orders", sectionId: "office-orders" }, + { label: "Official Documents", sectionId: "official-documents" }, + { label: "Articles, reports and Judgements", sectionId: "articles" }, + { label: "Other Official Documents", sectionId: "other-official-docs" }, + { label: "FAQS", sectionId: "faqs" }, + ]; + + const resources = [ + { name: "ICC case Correspondence Document (New)", author: "ICC IIT Kanpur", resourceType: "Document", link: "https://docs.google.com/document/d/1T4lHHlAgfsC_DAu7ukZdpVF8ytcCGs_HgWJBoNIvMjA/edit?usp=sharing" }, + { name: "The Sexual Harassment of Women at Workplace Act, 2013 (POSH)", author: "Ministry of Law and Justice", resourceType: "Act", link: "https://drive.google.com/file/d/11n9HL9SIGfCHMhTZhmdJ8ohIaX-Kgt2s/view?usp=drive_link" }, + { name: "Internal Complaints Committee", author: "ICC", resourceType: "WEBSITE Link", link: "https://website-33w.pages.dev/icc/" }, + { name: "CSS Conduct Rules", author: "Department of Personnel and Training ", resourceType: "Rules", link: "https://drive.google.com/file/d/1InAyLMV51J7SBKR2TwQcYQhNmsepdqNu/view " }, + { name: "Rules for The Sexual Harassment of Women at Workplace (Prevention, Prohibition, and Redressal) Act, 2013.", author: "Department of Women and Child Development", resourceType: "Rules", link: "https://drive.google.com/file/d/11n9HL9SIGfCHMhTZhmdJ8ohIaX-Kgt2s/view?usp=drive_link" }, + { name: "HANDBOOK on Sexual Harassment of Women at Workplace (Prevention, Prohibition and Redressal) Act, 2013.", author: "Department of Women and Child Development", resourceType: "Rules", link: "https://drive.google.com/file/d/17A1q54ckDjmU4E2hdTAyQ9HgZZ3Q-Iac/view?usp=drive_link" }, + { name: "The Criminal Law (Amendment) Act, 2013", author: "Ministry of Law and Justice", resourceType: " Law and Act", link: "https://drive.google.com/file/d/1_d55FDziewIlE5BdD0hHpITrb2mT0mug/view?usp=sharing" }, + { name: "The Constitution of India Guarantees fundamental rights for equality, freedom, and safety through Articles 14, 15, 16, 19(1)(g), and 21", author: "Ministry of Women and Child Development", resourceType: "Constitution", link: "https://drive.google.com/file/d/1rPmIUcMqTQEQs5Tj4u3siiGv8ATrfpak/view?usp=drive_link" }, + { name: "Prevention, Prohibition, and Redressal of Sexual Harassment of Students Rules, 2017", author: "IIT Kanpur", resourceType: "Rules", link: "https://drive.google.com/file/d/1d0SVFABd7i2eedQ_W3qwjaa9yVwHJQl-/view?usp=drive_link" }, + { name: "IIT Kanpur Policy on Romantic or Sexual Relationships between Individuals in Positions of Authority and Students/Employees of the Institute", author: "IIT Kanpur", resourceType: "Policy", link: "https://drive.google.com/file/d/1T5ZbH-NFuLAJlrK4B8EZUp0ohpdT6M-n/view?usp=drive_link" }, + { name: "IIT Kanpur Prevention, Prohibition and Redressal of Sexual Harassment of Students Rules, 2017", author: "IIT Kanpur", resourceType: "Rules", link: "https://drive.google.com/file/d/1d0SVFABd7i2eedQ_W3qwjaa9yVwHJQl-/view?usp=drive_link" }, + { name: "The Indian Penal Code", author: "The First Law Commission", resourceType: "Handbook", link: "https://drive.google.com/file/d/1NzUpkvmnCnzDTZwMyqSlJ6uQbpcVWL20/view?usp=drive_link" }, + { name: "UGC Regulations 2015", author: "Ministry of Education of India", resourceType: "Handbook", link: "https://drive.google.com/file/d/1Yrmm3-9rKyadx6fW5WxQ7DUoanx-zi1V/view?usp=drive_link" }, + { name: "Vishaka Guidelines against Sexual Harassment at Workplace", author: "Hon’ble Supreme Court", resourceType: "Handbook", link: "https://drive.google.com/file/d/1tZQGs104wLKLBdK6WPMa_CiNW2uRan9X/view?usp=drive_link" }, + { name: "UGC Regulations 2015", author: "Ministry of Education of India", resourceType: "Handbook", link: "https://drive.google.com/file/d/1Yrmm3-9rKyadx6fW5WxQ7DUoanx-zi1V/view?usp=drive_link" } + ]; + + const articles = [ + { name: "Beyond Bias and Barriers: Fulfilling the Potential of Women in Academic Science and Engineering", author: "National Academy of Sciences; National Academy of Engineering; Institute of Medicine", resourceType: "Articles and Reports", link: "https://nap.nationalacademies.org/catalog/11741/beyond-bias-and-barriers-fulfilling-the-potential-of-women-in" }, + { name: "Report of the Committee on Amendments to Criminal Law", author: "Department of Economics and Social Affairs ", resourceType: "Report and Article", link: "https://worlds-women-2020-data-undesa.hub.arcgis.com/" }, + { name: "Anju Thomas, Incidents of Sexual Harassment at Educational Institutes in India: Preventive Measures and Grievance Handling, Review article in Journal of Recent Advances in Multidisciplinary Research, March 2015.", author: "Anju Thomas", resourceType: "Report and Article", link: "https://www.ijramr.com/sites/default/files/issues-pdf/148.pdf" }, + { name: "Perceptions of the Work Environment: The Issue of Gender in Indian Scientific Research Institutes,", author: "Namrata Gupta Indian Journal of Gender Studies, 2016", resourceType: "Report and Article", link: "https://journals.sagepub.com/doi/abs/10.1177/0971521516656079?journalCode=ijgb" }, + { name: "Global Gender Gap Report 2020", author: "World Economic Forum", resourceType: "Report and Article", link: "https://www3.weforum.org/docs/WEF_GGGR_2020.pdf" }, + { name: "A Global Approach to the Gender Gap in Mathematical, Computing, and Natural Sciences. How to Measure It, How to Reduce It?", author: "Marie-Françoise Roy et al. International Science Council, 2020", resourceType: "Report and Article", link: "https://zenodo.org/records/3697223#.XmXmJEplOUk" }, + { name: "Judgement ADJ", author: "ADJ", resourceType: "Judgement and Order", link: "https://drive.google.com/file/d/10pxaLLd6ELuXmaVCgtV7n_1QmhIpFoar/view?usp=drive_link" }, + { name: "Judgement M.K. Lele", author: " M.K. Lele,", resourceType: "Judgement and Order", link: "https://drive.google.com/file/d/16LSgDR_HDD8oqaw-W-k62EFc4i1xJ-L3/view?usp=drive_link" }, + { name: "Judgement Seema Lepcha", author: "Seema Lepcha", resourceType: "Judgement and Order", link: "https://drive.google.com/file/d/1NkvpHAv9uglw6kUjrXQgoEorCyVibdBs/view?usp=drive_link" }, + { name: " Judgements and Orders related to Sexual Harassment Case", author: "Indian Kanoon", resourceType: "Judgement and Order", link: "https://indiankanoon.org/search/?formInput=sexual%20harassment%20cases" } + ]; + + const otherresources = [ + { name: "Handbook on combating gender stereotypes", author: "Supreme Court of India", resourceType: "Handbook", link: "https://main.sci.gov.in/pdf/LU/04092023_070741.pdf" }, + { name: "Handbook On Sexual Harassment of Women at Workplace", author: "Ministry of Women and Child Development", resourceType: "Handbook", link: "https://wcd.nic.in/sites/default/files/Handbook%20on%20Sexual%20Harassment%20of%20Women%20at%20Workplace.pdf" }, + { name: "Report of the Committee on Amendments to Criminal Law", author: "Recommendations for amendments to the Criminal Law by Justice J S Verma (retd) Justice Leila Seth (retd) Gopal Subramanium", resourceType: "Report/ Ordinance Summary", link: "https://prsindia.org/policy/report-summaries/justice-verma-committee-report-summary" }, + { name: "Convention on the Elimination of All Forms of Discrimination against Women (CEDAW) Dec 1979", author: "International treaty adopted in 1979 by the United Nations General Assembly", resourceType: "Treaty", link: "https://www.ohchr.org/sites/default/files/documents/professionalinterest/cedaw.pdf " }, + { name: "CONVENTION C190 Convention concerning the elimination of violence and harassment in the world of work", author: "International Labour Organization", resourceType: "International convention", link: "https://www.ilo.org/sites/default/files/wcmsp5/groups/public/@dgreports/@dcomm/@publ/documents/publication/wcms_721160.pdf" }, + { name: "Sexual Harassment of Women in Colleges and Universities:Concerns and Solutions 16th November 2017", author: "Genderlogue- Women Power Connect, Tata Institute of Social Sciences, Mumbai, Friedrich Ebert Stiftung", resourceType: "Report", link: "https://www.ilo.org/sites/default/files/wcmsp5/groups/public/@dgreports/@dcomm/@publ/documents/publication/wcms_721160.pdf" }, + { name: "Measures for Ensuring the Safety of Women and Programmes for Gender Sensitization on Campuses", author: "University Grants Commission", resourceType: "Report", link: "https://www.ilo.org/sites/default/files/wcmsp5/groups/public/@dgreports/@dcomm/@publ/documents/publication/wcms_721160.pdf" }, + { name: "Women's Cell - IIT Bombay", author: "IIT Bombay", resourceType: "Website", link: "http://www.iitb.ac.in/womenscell/en" }, + { name: "Women's Cell - TIFR Bombay", author: "Tata Institute of Fundamental Research", resourceType: "Website", link: "https://www.tifr.res.in/~womencell/" }, + { name: "Women's Cell - IISER Pune", author: "Indian Institute of Science Education and Research Pune", resourceType: "Website", link: "http://www.iiserpune.ac.in/links/women-s-cell" }, + { name: "GSCASH - JNU", author: "Jawaharlal Nehru University", resourceType: "Website", link: "http://www.jnu.ac.in/AboutJNU/GSCASH.asp" }, + { name: "Sexual Harassment Policy - Miranda House, Delhi University", author: "Delhi University (Miranda House)", resourceType: "PDF Document", link: "http://www.mirandahouse.ac.in/mirandahouse/userspace/username/admin/DynamicFolder/2006-2007/WomenDevelopment/SexHarass.pdf" }, + { name: "Sexual Harassment/Assault Advising, Resources and Education (SHARE)", author: "Princeton University", resourceType: "Website", link: "https://share.princeton.edu/" }, + { name: "Sexual and Gender-Based Harassment Policy and Resources", author: "Harvard University", resourceType: "Website", link: "http://www.fas.harvard.edu/sexual-gender-based-harassment-policyresources" }, + { name: "Sexual Respect and Community Standards", author: "Columbia University", resourceType: "Website", link: "https://sexualrespect.columbia.edu/" }, + { name: "Sexual Harassment Policy - SHARE", author: "Stanford University", resourceType: "Website", link: "https://share.stanford.edu/" }, + { name: "Policy on Harassment, Discrimination, and Sexual Misconduct", author: "University of Chicago", resourceType: "Website", link: "https://studentmanual.uchicago.edu/page/policy-harassment-discrimination-and-sexual-misconduct" }, + { name: "National Commission for Women (NCW)", author: "Government of India", resourceType: "Website", link: "https://www.ncw.gov.in/" }, + ]; + + const annualreports = [ + { name: "Annual Report 2023-24", author: "Gender Cell IITK", resourceType: "Report", link: "https://docs.google.com/document/d/1Jd98NrFyLzcg0Xa9wdO7_LsWlrHJxzS9/edit?usp=drivesdk&ouid=117882615103267759421&rtpof=true&sd=true" }, + { name: "Annual Report 2022-23", author: "Gender Cell IITK", resourceType: "Report", link: "https://docs.google.com/document/d/1JTToUclOMFTDXhw9QJKDNiOIh1zkeQQw/edit?usp=drivesdk&ouid=117882615103267759421&rtpof=true&sd=true" }, + { name: "Annual Report 2021-22", author: "Gender Cell IITK", resourceType: "Report", link: "https://docs.google.com/document/d/1JqNvP2LAVMNEZVHvUcBrSo14d8-0DecO/edit?usp=drivesdk&ouid=117882615103267759421&rtpof=true&sd=true" }, + ]; + + const Officeorders = [ + { name: "Women cell to Gender cell Name change", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-No-003-04-01-24.pdf " }, + { name: "Women Cell Faculty member change", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-No-60-05-08-23.pdf" }, + { name: "Women Cell Team change", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-51-22-07-22.pdf" }, + { name: "Re-constitution of the 'Women's Cell'", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-72-11-06-20.pdf" }, + { name: "Re-constitution of the 'Women's Cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-71-09-06-20.pdf" }, + { name: "Extension of tenure of present connstitution of women cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-40-28-03-2020.pdf" }, + { name: "Replacement of staff Representative", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office%20Order_24-20-02-20.pdf" }, + { name: "Office Order for Relationship policy", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://drive.google.com/file/d/1wQMr0MQ7pgF2r-hvWPAKJteGPcVEpiEg/view?usp=sharing" }, + ]; + + const Officeorders2 = [ + { name: "Replacement of UG students' representatives in the Women's Cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no.%20136-15-11-19.pdf" }, + { name: "Extension of tenure of present constitution of the Women's Cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no.-119-24-09-19.pdf" }, + { name: "Replacement of student Representative", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office-Order-no-84-2018-revised.pdf" }, + { name: "Replacement of student Representative", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_no_46.pdf" }, + { name: "Functions and responsibilities of women cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_no_52.pdf" }, + { name: "Re-Constitution of women cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_DIR_IITK_2016_OO_39.pdf" }, + { name: "Re-Constitution of women cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/Office_Order_DIR_IITK_2016_OO_39.pdf" }, + { name: "Director Nominee of womens cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/DIRIITK201465.pdf" }, + { name: "Chairperson and Vice-chairperson of women cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/DIRIITK2014OO015.pdf" }, + { name: "Constitution of Women Cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2013_072.pdf" }, + { name: "Constitution of Women Cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2013_037.pdf" }, + { name: "Constitution of Women Cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2013_028.pdf" }, + { name: "Constitution of Women Cell", author: "Gender Cell IITK", resourceType: "Office orders", link: "https://web.iitk.ac.in/july14iitkn/data/directorateoff_orders/2012_047.pdf" }, + ]; + + const [isExpanded, setIsExpanded] = useState(false); + + const toggleReadMore = () => { + setIsExpanded(!isExpanded); + }; + + const renderTable = (data: any[]) => ( +
+ + + + + + + + + + {data.map((resource, index) => ( + + + + + + ))} + +
Document nameAuthorResource
{resource.name}{resource.author}{resource.resourceType}
+
+ ); + + return ( +
+ + +
+
+

Mandate

+
+

+ IIT Kanpur endeavors to create a sustainable, equal-opportunity environment conducive to an all-round development of all members of the campus community, both professionally and personally. The institute constantly strives to ensure that people from all genders and from all walks of life, residing in or visiting the campus, are treated with respect and dignity. It is committed to making the campus-environment safe for everyone – free from exploitation, sexual harassment, and violence of any nature. +

+

+ The Gender Cell of IIT Kanpur was constituted in accordance with the{' '} + + Sexual Harassment of Women at Workplace (Prevention, Prohibition, and Redressal) Act, 2013 + + . The Cell's mandate includes sensitizing the community towards gender-related issues, and in this regard, +

+
    +
  • organizing orientation programs for new students and employees,
  • +
  • conducting workshops and open houses for various sections of the community.
  • +
+

The Cell also advises on available courses of action to people on campus who may be in distress.

+

+ Mandate of the Gender Cell: a{' '} + + link + {' '} + to the office order. +

+

The Cell draws members from students, staff, and faculty, and is equally represented by women and men.

+
+
+ +
+

Understanding Sexual Harassment

+
+
+

What is sexual harassment?

+

Unwelcome acts or behavior with sexual undertones (whether directly or by implication) including:

+
    +
  • physical contact and advances
  • +
  • a demand or request for sexual favors
  • +
  • making sexually colored remarks
  • +
  • showing pornography
  • +
  • any other unwelcome physical, verbal, or non-verbal conduct of sexual nature
  • +
+
+ +
+

Power of position may be abused by perpetrators of sexual harassment through:

+
    +
  • implied or explicit promise of preferential treatment
  • +
  • implied or explicit threat of detrimental treatment
  • +
  • creating an offensive work-environment
  • +
+

These are criminal offenses (link).

+
+ +
+

Some other criminal offenses

+

Apart from the grave criminal offense of Rape, following acts are also punishable under law:

+
    +
  • Voyeurism: watching or capturing an image of a woman engaged in a private act.
  • +
  • Stalking: following a woman, contacting (or attempting to contact) a woman despite a clear indication of disinterest by the woman; monitoring the use of the internet by a woman (link)
  • +
  • Exhibitionism: Word, gesture or act intended to insult the modesty of a woman (IPC Section 509 - link)
  • +
+
+ +
+
+ + Apart from heavy penal consequences, these acts may lead to academic termination, or suspension from service. +
+
+ +

+ + IIT Kanpur has put in place a gender neutral policy on Prevention, Prohibition and Redressal of Sexual Harassment of Students ( + + link + + ) + +

+
+
+ +
+

Annual Reports

+

The below given are Previous Year Annual Reports of Gender Cell IIT Kanpur.

+ {renderTable(annualreports)} +
+ +
+

Office Orders

+

The below given are some Office Orders of Gender Cell IIT Kanpur.

+
+ {renderTable(Officeorders)} +
+
+ {renderTable(Officeorders2)} +
+
+ +
+
+ +
+

Official documents

+

The following are some important official documents regarding sexual harassment at the workplace, including Indian Government acts and reports, international conventions and research papers.

+ {renderTable(resources)} +
+ +
+

Articles, Reports and Judgements

+

The following are some important Articles, Reports and Judgements regarding sexual harassment at the workplace, including Indian Government acts and reports, international conventions and research papers.

+ {renderTable(articles)} +
+ +
+

Other Official documents

+

The following are some other important official documents regarding sexual harassment at the workplace, including Indian Government acts and reports, international conventions and research papers.

+ {renderTable(otherresources)} +
+ +
+ +
+
+ + +
+ ); +}; + +export default Resources; diff --git a/src/pages/Support.jsx b/src/pages/Support.jsx deleted file mode 100644 index 6aed3d6..0000000 --- a/src/pages/Support.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import '../css/support.css'; -import VideoSection from '../components/VideoSection'; -import SupportService from '../components/SupportService'; -import BannerCard from '../components/Card/BannerCard'; -import LinksSection from '../components/Linkscard/LinkCard'; - - -const sectionArr=[ - { - title:'Contact Counsellors and professors', - value:"Contact info for nominee and professors who can help are available in the about us page team info section. Feel free to contact Us any time. We would be very pleased to help you Out " - }, - { - title:"What Gender Cell Says", - value:"Video section with links to videos." - } -] -const title = "Learn About the Support Services Available"; - const description = "Fostering inclusivity through education, advocacy, and support. Empowering all genders with equality and understanding"; - const buttons = [ - { label: "Support Information", sectionId: "support-services" }, - { label: "Advisory Videos", sectionId: "videosec" }, - ]; -function Support() { - return ( -
- -
- -
- - -
- ); -} - -export default Support; diff --git a/src/pages/Support.tsx b/src/pages/Support.tsx new file mode 100644 index 0000000..c1839f1 --- /dev/null +++ b/src/pages/Support.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import VideoSection from '../components/Sections/VideoSection'; +import SupportService from '../components/Sections/SupportService'; +import BannerCard from '../components/Cards/BannerCard'; + + +const Support: React.FC = () => { + const title = "Learn About the Support Services Available"; + const description = "Fostering inclusivity through education, advocacy, and support. Empowering all genders with equality and understanding"; + const buttons = [ + { label: "Support Information", sectionId: "support-services" }, + { label: "Advisory Videos", sectionId: "videosec" }, + ]; + + return ( +
+ + + + +
+ ); +}; + +export default Support; diff --git a/src/pages/SurveysResult.tsx b/src/pages/SurveysResult.tsx new file mode 100644 index 0000000..fb31039 --- /dev/null +++ b/src/pages/SurveysResult.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import img1 from '../assets/images/survey_img/2.png'; +import img3 from '../assets/images/survey_img/3.png'; +import img4 from '../assets/images/survey_img/4.png'; +import img5 from '../assets/images/survey_img/5.png'; +import img6 from '../assets/images/survey_img/6.png'; +import img7 from '../assets/images/survey_img/7.png'; +import img8 from '../assets/images/survey_img/8.png'; +import img9 from '../assets/images/survey_img/9.png'; + +const SurveysResult: React.FC = () => { + const images = [img1, img3, img4, img5, img6, img7, img8, img9]; + + return ( +
+
+

Surveys

+ +
+

Pride Month Survey

+ +
+

+ The Gender Cell, IITK, conducted a campus-wide survey on sexual diversity during Pride Month in June 2024. + The objective of the survey was to assess students' understanding of gender diversity and to promote the spirit of Pride Month. +

+
+ +
+

Disclaimer:

+
+ Survey was conducted strictly among the residents of IIT Kanpur. The dataset is based on voluntary responses and may not accurately represent the entire community. Results should be interpreted with caution. +
+
+
+
+ +
+ {images.map((img, index) => ( +
+
+ {`Survey +
+
+ {/* Optional: Add descriptions if available */} +
+
+ ))} +
+
+
+
+ ); +}; + +export default SurveysResult; diff --git a/src/pages/Surveysresult.jsx b/src/pages/Surveysresult.jsx deleted file mode 100644 index 6b28264..0000000 --- a/src/pages/Surveysresult.jsx +++ /dev/null @@ -1,72 +0,0 @@ -// import React from 'react'; -// import BarChartComponent from '../components/Charts/BarChartComponent'; -// import LineChartComponent from '../components/Charts/LineChartComponent'; -// import '../css/Survey.css' -// import LinksSection from '../components/Linkscard/LinkCard'; -// const SurveyResults = () => { -// return ( -// <> -//
-//

Surveys

-//
-//

Pride Month Survey

-//
-// - -//
-//
-//
-// - -// ); -// }; - -// export default SurveyResults; - -import React from 'react'; -import '../css/Survey.css'; -import img1 from '../assets/images/survey_img/2.png' -import img3 from '../assets/images/survey_img/3.png' -import img4 from '../assets/images/survey_img/4.png' -import img5 from '../assets/images/survey_img/5.png' -import img6 from '../assets/images/survey_img/6.png' -import img7 from '../assets/images/survey_img/7.png' -import img8 from '../assets/images/survey_img/8.png' -import img9 from '../assets/images/survey_img/9.png' -const GridLayout = () => { - return ( -
-

Surveys

-
-

Pride Month Survey

-

The Gender Cell, IITK, conducted a campus-wide survey on sexual diversity during Pride Month in June 2024. The objective of the survey was to assess students' understanding of gender diversity and to promote the spirit of Pride Month. - -

Disclaimer:

Survey was conducted strictly among the residents of IIT Kanpur. The dataset is based on voluntary responses and may not accurately represent the entire community. Results should be interpreted with caution. -

-
-
-
-
-
-
-
-
-
- {/*
Item 9
*/} -
-
-
- ); -}; - -export default GridLayout; diff --git a/src/pages/events.jsx b/src/pages/events.jsx deleted file mode 100644 index 46934eb..0000000 --- a/src/pages/events.jsx +++ /dev/null @@ -1,266 +0,0 @@ -import EventsCard from "../components/EventsCard/EventsCard"; -import '../css/events.css'; -import BannerCard from '../components/Card/BannerCard'; -import { useState, useRef } from "react"; -import { BsArrowLeftShort, BsArrowRightShort } from "react-icons/bs"; -import { Fade } from "react-awesome-reveal"; -import case1 from '../assets/images_events/case.png'; -import womensDay1 from '../assets/images_events/wday5.jpeg'; -import runwalk1 from '../assets/images_events/run_walk1.png'; -import runwalk2 from '../assets/images_events/run_walk2.png'; -import runwalk3 from '../assets/images_events/run_walk3.png'; -// import movie_screening2 from '../assets/images_events/movie2.jpg'; -import open1 from '../assets/images/open1.jpg'; -import LinksSection from "../components/Linkscard/LinkCard"; -import hall1 from "../assets/images_events/hall1.jpg"; -import hall2 from "../assets/images_events/hall2.jpg"; -import lapata1 from "../assets/images_events/lapata1.png"; -import lapata2 from "../assets/images_events/lapata2.png"; -// import case from 'src/assets/images_events/case.png'; -import barbie1 from '../assets/images_events/barbie1.png' -import barbie2 from '../assets/images_events/barbie2.png' -import meme from '../assets/images_events/meme.png'; -import movie_screening2 from '../assets/images_events/movie4.jpeg'; -import wall_of_voices from '../assets/images_events/wall_of_voices.png'; -import blogs from '../assets/images_events/blogs.png'; -import kiit from '../assets/images_events/kiit.png'; - -const EventsPage = () => { - const scrollRef = useRef(null); - - const scrollLeftDir = () => scroll("left"); - const scrollRightDir = () => scroll("right"); - - const scroll = (direction) => { - const { current } = scrollRef; - if (current && current.scrollLeft != null) { - if (direction === "left") { - current.scrollLeft -= 800; - } else if (direction === "right") { - current.scrollLeft += 500; - } - } - }; - - const galleryDB = [ - { - id: 1, - img: hall1, - }, - { - id: 2, - img: hall2, - }, - - { - id: 3, - img: lapata1, - }, - { - id: 4, - img: runwalk2, - }, - { - id: 5, - img: runwalk3, - }, - { - id: 6, - img: lapata2, - }, - { - id: 7, - img: barbie1, - }, - { - id: 8, - img: barbie2, - }, - ]; - - const [galleryData] = useState(galleryDB); - - const events = [ - { - subtitle: "Open Mic: Break the Silence Against Sexual Harassment", - description: `Date: 23rd August, 2025
-Venue: Lecture Hall 12
The Open Mic Night, IITK was an impactful event where we provided a safe, inclusive space for sharing personal experiences and creative expressions against sexual harassment through storytelling, poetry, music, painting, and more.The evening was marked by a sense of unity as people came together to freely express their experiences, ensuring that every voice was heard and valued. The event underscored the importance of creating spaces for open dialogue and mutual support within the campus community.` - , image: - wall_of_voices, - }, - { - subtitle: "Towards a safer place", - description: `Date: 5th August, 2025
-Platform: Gender Cell Website and Email
The Gender Cell, IIT Kanpur, is starting a new monthly blog series: -TOWARDS A SAFER SPACE -‘A monthly blog on gender sensitization and respectful conduct.’ -Each month, we’ll share short, thought-provoking pieces that highlight key issues around gender, consent, and creating an inclusive environment on campus. The goal is simple but vital: to build a culture where everyone feels safe, respected, and heard.` - - - , image: - blogs, - }, - { - subtitle: "Movie Screening: Shubh Mangal Zyada Saavdhan", - description: `Date: 18th June, 2025
-Venue: Lecture Hall 7
The Gender Cell, IIT Kanpur, hosted a lively and laughter-filled evening on 18th June 2025 with the screening of Shubh Mangal Zyada Saavdhan at Lecture Hall 7. The comedy film brought students together for a fun nigheveryoneackled themes of love, acceptance, and societal change—all with a humorous twist.Starting at 6:00 PM, the hall was soon filled with cheerful energy, loud chuckles, and heartfelt moments. -The event was a delightful Movie -evening that reminded everyone of the power of humor in breaking stereotypes and embracing individuality ,an enjoyable and memorable night indeed!` - , image: - movie_screening2, - }, - { - subtitle: "Movie Screening: Shubh Mangal Zyada Saavdhan", - description: `Date: 18th June, 2025
-Venue: Lecture Hall 7
The Gender Cell, IIT Kanpur, hosted a lively and laughter-filled evening on 18th June 2025 with the screening of Shubh Mangal Zyada Saavdhan at Lecture Hall 7. The comedy film brought students together for a fun nigheveryoneackled themes of love, acceptance, and societal change—all with a humorous twist.Starting at 6:00 PM, the hall was soon filled with cheerful energy, loud chuckles, and heartfelt moments. -The event was a delightful Movie -evening that reminded everyone of the power of humor in breaking stereotypes and embracing individuality ,an enjoyable and memorable night indeed!` - , image: - movie_screening2, - }, - { - subtitle: "5 KM Run and Walk", - description: `Date: 22nd March, 2025
-Venue: OAT
The Gender Cell, IIT Kanpur successfully organized the 7th Edition of the 5KM Run & Walk on 22nd March 2025, witnessing an incredible turnout of 900+ participants. The event began at 5:30 AM from the Open Air Theatre (OAT) and featured a fun-filled 10-minute Zumba session to kick off the morning. The enthusiastic participation and vibrant energy made it a memorable celebration of health, unity, and empowerment.` - , image: - runwalk2, - },{ - subtitle: "Meme Competition on the theme Breaking Gender Stereotypes and Raising Awareness Against Sexual Harassment", - description: `
-Venue : Lecture Hall 17
The Gender Cell, IIT Kanpur, organized a magical evening on 29th January 2025 with the screening of Barbie at Lecture Hall 17, drawing viewers into a world that challenges patriarchal norms, celebrates individuality, and empowers self-expression. Starting at 6:10 PM, the film sparked laughter, reflection, and meaningful conversations about identity, self-discovery, and breaking societal expectations. The event was a vibrant celebration of being unapologetically unique and empowered making it an inspiring night to remember. -` - , image: meme, - },{ - subtitle: "Women’s Day Talk by Ms. Seema Kushwaha", - description: `Date: 8th March 2025 (Saturday)
-Venue : Lecture Hall 8
TOn the occasion of International Women’s Day, the Gender Cell, IIT Kanpur organized a powerful and insightful talk by Ms. Seema Kushwaha, Supreme Court Advocate and legal counsel in the 2012 Nirbhaya case. Known for her relentless pursuit of justice, Ms. Kushwaha shared her experiences and perspectives that continue to inspire and empower generations` - , image: womensDay1, - },{ - subtitle: "Movie Screening: Barbie", - description: `Date: 29th January 2025
-Venue : Lecture Hall 17
The Gender Cell, IIT Kanpur, organized a magical evening on 29th January 2025 with the screening of Barbie at Lecture Hall 17, drawing viewers into a world that challenges patriarchal norms, celebrates individuality, and empowers self-expression. Starting at 6:10 PM, the film sparked laughter, reflection, and meaningful conversations about identity, self-discovery, and breaking societal expectations. The event was a vibrant celebration of being unapologetically unique and empowered making it an inspiring night to remember. -` - , image: - barbie2, - },{ - subtitle: "ICC Case Correspondence Document", - description: `Date: 4th Dec, 2024
-Mode: Online
The Gender Cell, IIT Kanpur, successfully released the ICC Case Correspondence Document, marking a significant milestone in promoting awareness, accountability, and institutional transparency into the enquiry process of complaints related to Sexual Harassment. - -The document provides a comprehensive overview of the nature of sexual offenses reported to the ICC, the actions taken, and the corresponding punishments enforced in each case. By maintaining necessary confidentiality, it ensures protection for all individuals involved while fostering a culture of openness and trust. This initiative serves as a valuable resource for understanding institutional responses to such issues and reinforces IITK’s commitment to a safe and respectful environment.` - , image: case1, - }, - { - subtitle: "Movie Screening: Laapata Ladies", - description: `Date: October 15, 2024
-Venue: L9
The Gender Cell, IIT Kanpur conducted a special screening of Laapata Ladies which witnessed a houseful audience till the very end. As India’s Oscar entry, the film delivered a witty yet profound narrative that challenged the gender norms in rural India. Through humor and heartfelt storytelling, it sparked deep reflections on societal stereotypes that have historically restricted women’s empowerment. The audience remained engaged throughout, and the film’s impact forced people into thought-provoking discussions, reinforcing the need for continuous dialogue on gender equality.` - , image: - lapata1, - - - }, - - { - subtitle: "Bridging Gaps: Hall-Level Sessions for Freshers'24", - description: `Date: 30th Sep - 1st Oct
-Venue: Hall 13, 4, 14 and GH1
-A Hall-level Gender Sensitization session was conducted by the Gender Cell, IIT Kanpur, for the first-year UG and PG students of Halls 13, 4, 14, and GH1. The session aimed to increase awareness about sexual harassment, gender biases, and the available methods for filing complaints. Participants were also informed about the wide range of support services that the Gender Cell offers to the campus community along with some real life success stories. Attendees actively engaged by asking important questions, which were addressed by the student members of the Gender Cell, fostering an open and informative discussion. This initiative was a key step towards creating a safer and more inclusive environment at IITK.`, - image: - hall1, - },{ - subtitle: "Open Mic: Speaking Out, Standing Strong", - description: `Date: 27 August 2024
Time: 6:30 to 8:30
Venue: L18-L19 Foyer
The Open Mic Night, conducted in association with the Institute Counselling Service, IITK was an impactful event where students openly shared their personal stories of harassment and mental stress, along with how they overcame these challenges. The evening was marked by a sense of unity as people came together to freely express their experiences, ensuring that every voice was heard and valued. The event underscored the importance of creating spaces for open dialogue and mutual support within the campus community.`, - image: - open1, - }, - { - subtitle: "Degendering STEM: Why So Slow?", - description: `Date: 8 March 2024
Time: 5:00 PM
Speaker: Dr Prajval Shastri, Emeritus Scientist of Astronomy and Astrophysics, Raman Research Institute
Venue: L9
The talk focused on gender discrimination and the lack of representation of different genders in the area of STEM. The insightful talk was followed with a Q&A session focusing on gender-sensitive policies and practices.
`, - image: - womensDay1, - - }, - { - subtitle: "5 km run and walk", - description: ` - Date: March 9, 2024 (Sunday)
- Theme: "Don't be a Bystander; Stand Against Sexual Harassment" -
Number of participants: 150+ -
`, - image: - runwalk2, - - }, - { - subtitle: "Movie Screening followed by a discussion with the actor", - description: " Movie: Turup, directed by Ektara Collective
Interaction with Nidhi Qazi, the actor who played a leading role of the character Neelima in the movie.
Date: 10 March 2024
Time: 6:00 AM

Venue: L2
The screening was followed by a thought-provoking and critical discussion on the movie by the audience.
", - image: - movie_screening2, - }, - ]; - - const title = "Know More About Our Recent Event's"; - const description = "Here is a vibrant showcase of the different events we organize to promote gender equality and create a safe and inclusive environment for all. In the past, we have organized multiple workshops, seminars, awareness programs, and activities. Join us in our mission to foster understanding, support, and empowerment within the community."; - const buttons = [ - { label: "Events details", sectionId: "section-event-gallery" }, - { label: "Gallery", sectionId: "gallery" } - ]; - - return ( -
- - - -
- ); -}; - -export default EventsPage; diff --git a/src/setups/teamImages.jsx b/src/setups/teamImages.jsx deleted file mode 100644 index 27816de..0000000 --- a/src/setups/teamImages.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import vaibhav from '../assets/team/vaibhav.jpg'; -import jishnu from '../assets/team/jishnu.jpeg'; -import urbi from '../assets/team/urbi.jpg'; -import priyanka from '../assets/team/priyanka.jpg'; -import pragati from '../assets/team/pragati.jpeg'; - -const teamImages = { - vaibhav, - jishnu, - urbi, - priyanka, - pragati, -}; - -export default teamImages; \ No newline at end of file diff --git a/src/setups/teamImages.js b/src/setups/teamImages.ts similarity index 71% rename from src/setups/teamImages.js rename to src/setups/teamImages.ts index 1ac9b4c..bcc2e97 100644 --- a/src/setups/teamImages.js +++ b/src/setups/teamImages.ts @@ -9,17 +9,17 @@ import jyoti from '../assets/team/jyoti.jpeg'; import pushpender from '../assets/team/pushpender.jpeg'; import devlina from '../assets/team/devlina.png'; -const teamImages = { - vaibhav, - jishnu, - urbi, - priyanka, - devlina, - pragati, - rasagana, - satyaki, - jyoti, - pushpender, +const teamImages: { [key: string]: string } = { + vaibhav, + jishnu, + urbi, + priyanka, + devlina, + pragati, + rasagana, + satyaki, + jyoti, + pushpender, }; -export default teamImages; \ No newline at end of file +export default teamImages; diff --git a/src/utils/firebaseUtils.ts b/src/utils/firebaseUtils.ts new file mode 100644 index 0000000..362ba03 --- /dev/null +++ b/src/utils/firebaseUtils.ts @@ -0,0 +1,49 @@ +// src/utils/firebaseUtils.ts + +import { collection, getDocs } from "firebase/firestore"; +import { db } from "../firebase"; // Your main firebase config file + +/** + * Fetches all documents from the 'data' subcollection of a specific folder. + * @param {string} folderName - The name of the folder (e.g., 'event', 'users'). + * @returns {Promise} A promise that resolves to an array of documents. + */ +export const getContentByFolder = async (folderName: string): Promise => { + try { + // Correctly reference the 'data' subcollection inside a specific folder + const contentCollectionRef = collection(db, 'folders', folderName, 'data'); + + const querySnapshot = await getDocs(contentCollectionRef); + + const contentList = querySnapshot.docs.map(doc => ({ + id: doc.id, + ...doc.data() + })); + + console.log(contentList); + + return contentList; + } catch (error) { + console.error(`Error fetching content for type '${folderName}':`, error); + return []; // Return an empty array on error + } +}; + +/** + * Fetches all available folder types (document IDs from the 'folders' collection). + * @returns {Promise} A promise that resolves to an array of folder names. + */ +export const getAllFolderTypes = async (): Promise => { + try { + const foldersCollectionRef = collection(db, 'folders'); + const querySnapshot = await getDocs(foldersCollectionRef); + + // We only need the ID of each document, which is the folder name + const folderTypes = querySnapshot.docs.map(doc => doc.id); + + return folderTypes; + } catch (error) { + console.error("Error fetching folder types:", error); + return []; + } +}; \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..4527f0b --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,21 @@ +/// + +declare module '*.png' { + const value: string; + export default value; +} + +declare module '*.jpg' { + const value: string; + export default value; +} + +declare module '*.jpeg' { + const value: string; + export default value; +} + +declare module '*.svg' { + const value: string; + export default value; +} diff --git a/tailwind.config.js b/tailwind.config.js index aa21b59..d8707de 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -8,15 +8,25 @@ export const content = [ export const theme = { extend: { themes: ["light", "dark"], - colors:{ - subheading : "#6b7280", - links : "#0673F0", - success : "#2EA44E", - sub2 : "#9099B3", - lightPurple : "#e0d3fc", - lightpink: "#fa2c76", - purpleshade1: "#7466f1", - buttonpurple: "#6366F1", + colors: { + primary: "#4F46E5", // Slate Blue + secondary: "#14B8A6", // Teal + neutral: "#64748B", // Slate Gray + background: "#F8FAFC", // Off-White + accent: "#F59E0B", // Soft Gold + // Keeping some existing colors for backward compatibility if needed, but mapping them to new palette or deprecating + subheading: "#64748B", + links: "#4F46E5", + success: "#14B8A6", + sub2: "#94A3B8", + lightPurple: "#E0E7FF", // Mapped to a light indigo + lightpink: "#F0FDFA", // Mapped to a light teal/slate + purpleshade1: "#6366F1", + buttonpurple: "#4F46E5", + }, + fontFamily: { + sans: ['Inter', 'sans-serif'], + heading: ['Outfit', 'sans-serif'], } }, }; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e5ae377 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": [ + "ES2020", + "DOM", + "DOM.Iterable" + ], + "module": "ESNext", + "skipLibCheck": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": [ + "src" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} \ No newline at end of file diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..b85dd47 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": [ + "vite.config.ts" + ] +} \ No newline at end of file diff --git a/vite.config.js b/vite.config.ts similarity index 56% rename from vite.config.js rename to vite.config.ts index 8ba5723..b4d2358 100644 --- a/vite.config.js +++ b/vite.config.ts @@ -3,8 +3,7 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react()], - assetsInclude: ['**/*.JPG', '**/*.jpg', '**/*.png', '**/*.svg'], - base: '/', + plugins: [react()], + assetsInclude: ['**/*.JPG', '**/*.jpg', '**/*.png', '**/*.svg'], + base: '/', }) -