Skip to content

Commit 2ee0951

Browse files
OBC & PWD Cell Page (#416)
1. Made OBC and PWD Cell Page 2. Added "Institute Cells" to Institute dropdown 3. On the "Institute Cells" section under the /institute page added SC/ST cell and OBC/PWD Cell with links.
1 parent 86cf07d commit 2ee0951

File tree

6 files changed

+226
-21
lines changed

6 files changed

+226
-21
lines changed

app/[locale]/header.tsx

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,29 +63,11 @@ export default async function Header({ locale }: { locale: string }) {
6363
},
6464
// For now IKS and IIC are added as temp units, will change this once a "CELL" design is ready
6565
{
66-
title: 'IKS Cell',
67-
href: '/institute/cells/iks',
66+
title: 'Institute Cells',
67+
href: '/institute#cells',
6868
description:
6969
'Explore the minds that work hard to maintain our institute’s high reputation and proper functioning!',
7070
},
71-
{
72-
title: 'IIC Cell',
73-
href: '/institute/cells/iic',
74-
description:
75-
'Explore the minds that work hard to maintain our institute’s high reputation and proper functioning!',
76-
},
77-
{
78-
title: 'IPR Cell',
79-
href: '/institute/cells/ipr',
80-
description:
81-
'The Intellectual Property Rights Cell promotes awareness and assists in protecting innovations, ideas, and creative works.',
82-
},
83-
{
84-
title: 'SC & ST Cell',
85-
href: '/institute/cells/scst',
86-
description:
87-
'The SC & ST Cell is dedicated to promoting the welfare and interests of students from Scheduled Castes and Scheduled Tribes, ensuring equal opportunities and support.',
88-
}
8971
],
9072
},
9173
{
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
import Image from 'next/image';
2+
import Link from 'next/link';
3+
import { MdEmail, MdOutlineLocalPhone } from 'react-icons/md';
4+
5+
import { cn } from '~/lib/utils';
6+
import { Button } from '~/components/buttons';
7+
import Heading from '~/components/heading';
8+
import { getTranslations } from '~/i18n/translations';
9+
import { getS3Url } from '~/server/s3';
10+
11+
export default async function OBCPWD({
12+
params: { locale },
13+
}: {
14+
params: { locale: string };
15+
}) {
16+
const text = await getTranslations(locale);
17+
18+
const facultyIncharge = [
19+
{...text.Institute.cells.obcpwd.liaisonOfficer},
20+
];
21+
const cellFunctions = text.Institute.cells.obcpwd.cellFunctions;
22+
23+
return (
24+
<>
25+
{/* Header */}
26+
<article
27+
className="sm:h-76 md:h-84 lg:h-94 relative flex h-56 w-full bg-cover bg-center xl:h-[448px] 2xl:h-[540px]"
28+
style={{
29+
backgroundImage: `linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.3)), url('${getS3Url()}/training-and-placement/header.jpg')`,
30+
}}
31+
>
32+
<div className="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 text-center w-[90%] max-w-5xl">
33+
<h1 className="mx-2 my-auto text-3xl text-[#FFFFFF] lg:text-3xl xl:text-4xl font-serif font-normal ">
34+
{text.Institute.cells.obcpwd.title}
35+
</h1>
36+
</div>
37+
</article>
38+
39+
<main className="container mt-12">
40+
{/* description */}
41+
<article className="space-y-6 rounded-lg p-6 drop-shadow font-sans font-normal text-lg">
42+
{text.Institute.cells.obcpwd.description.map((paragraph, index) => (
43+
<p key={index} className="text-justify leading-relaxed">
44+
{paragraph}
45+
</p>
46+
))}
47+
</article>
48+
{/*cell functions*/}
49+
<div>
50+
<Heading
51+
glyphDirection="rtl"
52+
heading="h2"
53+
text={text.Institute.cells.obcpwd.cellFunctionsHeading}
54+
className="mt-12"
55+
/>
56+
<section>
57+
<ul className="mt-8 space-y-4 bg-[#FFFFFF] p-4 rounded-lg border border-primary-500 drop-shadow font-sans font-normal text-lg">
58+
{cellFunctions.map((functionItem, index) => (
59+
<li key={index} className="text-justify leading-tight flex">
60+
<span className="mr-1.5"></span>
61+
<span>{functionItem}</span>
62+
</li>
63+
))}
64+
</ul>
65+
</section>
66+
<section className="mt-8 bg-[#FFFFFF] p-4 rounded-lg border border-primary-500 drop-shadow font-sans font-normal text-lg">
67+
{text.Institute.cells.obcpwd.complaint}
68+
</section>
69+
</div>
70+
{/* LIAISON OFFICER */}
71+
<div>
72+
<Heading
73+
glyphDirection="ltr"
74+
heading="h2"
75+
text={text.Institute.cells.obcpwd.liaisonOfficerHeading}
76+
className="mt-12"
77+
/>
78+
<ul className="flex w-full flex-col items-center">
79+
{facultyIncharge.map((faculty, idx) => (
80+
<li
81+
key={idx}
82+
className="flex w-[90%] max-w-3xl rounded-lg border border-primary-500 bg-neutral-50 p-1 "
83+
>
84+
{/* Image - smaller on mobile */}
85+
<div className="flex-shrink-0 flex items-center justify-center">
86+
<Image
87+
src={faculty.image}
88+
alt={faculty.name}
89+
width={300}
90+
height={340}
91+
className="h-full w-24 xs:h-24 xs:w-24 sm:h-36 sm:w-36 md:h-52 md:w-52 rounded-md object-cover"
92+
/>
93+
</div>
94+
95+
{/* Content section - adjusted for mobile row layout */}
96+
<section className="ml-2 xs:ml-3 sm:ml-6 md:ml-8 flex flex-col justify-center">
97+
{/* Name in red - reduced margin bottom */}
98+
<h2 className="text-lg xs:text-xl sm:text-2xl md:text-3xl font-medium text-red-600 mb-0">
99+
{faculty.name}
100+
</h2>
101+
102+
{/* Title and position - reduced spacing */}
103+
<div className="mb-0.5 xs:mb-1 sm:mb-2"> {/* Reduced margin from mb-1/mb-2/mb-4 */}
104+
<p className="text-sm xs:text-base sm:text-xl md:text-xl font-normal text-gray-700 leading-tight"> {/* Added leading-tight */}
105+
{faculty.title}
106+
</p>
107+
{!faculty.title.includes("Head") && (
108+
<p className="text-sm xs:text-base sm:text-xl md:text-2xl font-normal text-gray-700 leading-tight mt-0"> {/* Added leading-tight and mt-0 */}
109+
(Head of the Department)
110+
</p>
111+
)}
112+
</div>
113+
114+
{/* Contact info */}
115+
<div className="space-y-0.5 xs:space-y-1 sm:space-y-2">
116+
{/* Email with icon */}
117+
<span className="flex items-center">
118+
<span className="inline-flex h-5 w-5 xs:h-6 xs:w-6 sm:h-7 sm:w-7 items-center justify-center text-red-600">
119+
<MdEmail className="text-primary-700 text-base xs:text-lg sm:text-xl" />
120+
</span>
121+
<a
122+
href={`mailto:${faculty.email}`}
123+
className="hover:text-primary-700 hover:underline break-all ml-1 xs:ml-1.5 sm:ml-2 text-xs xs:text-sm sm:text-base md:text-lg text-gray-700 "
124+
>
125+
{faculty.email}
126+
</a>
127+
</span>
128+
129+
{/* Phone with icon */}
130+
<span className="flex items-center">
131+
<span className="inline-flex h-5 w-5 xs:h-6 xs:w-6 sm:h-7 sm:w-7 items-center justify-center text-red-600">
132+
<MdOutlineLocalPhone className="text-primary-700 text-base xs:text-lg sm:text-xl" />
133+
</span>
134+
<span className="ml-1 xs:ml-1.5 sm:ml-2 text-xs xs:text-sm sm:text-base md:text-lg text-gray-700">
135+
{faculty.phone}
136+
</span>
137+
</span>
138+
</div>
139+
</section>
140+
</li>
141+
))}
142+
</ul>
143+
</div>
144+
145+
{/* TODO: MAKE IT EXACTLY LIKE THE DESIGN , ADD RELEVENT BACKGROUND */}
146+
147+
</main>
148+
</>
149+
);
150+
}

app/[locale]/institute/page.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,18 @@ export default async function Institute({
318318
icon: MdPhotoLibrary,
319319
annotation: '(IIC)',
320320
},
321+
{
322+
label: text.cells.scst.title,
323+
href: `/${locale}/institute/cells/scst`,
324+
icon: MdPhotoLibrary,
325+
annotation: '(SC & ST)',
326+
},
327+
{
328+
label: text.cells.obcpwd.title,
329+
href: `/${locale}/institute/cells/obcpwd`,
330+
icon: MdPhotoLibrary,
331+
annotation: '(OBC & PWD)',
332+
},
321333
].map(({ label, href, icon: Icon, annotation }, index) => (
322334
<Button
323335
asChild

i18n/en.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,13 +677,35 @@ const text: Translations = {
677677
link: 'https://www.aicte.gov.in/bureaus/administration/scst-cell'
678678
}
679679
],
680+
},
681+
obcpwd: {
682+
title: 'OBC & PWD Cell',
683+
description: [
684+
'NIT Kurukshetra is committed to maintaining a work environment where students, faculty, and staff members from different communities can work together harmoniously. It is the institute\'s endeavor to ensure that no discrimination takes place in the workplace. The Institute has appointed a Liaison Officer for the OBC Cell, who can be contacted in the event of any caste-based discrimination.'
685+
],
686+
cellFunctionsHeading: 'CELL FUNCTIONS',
687+
cellFunctions: [
688+
'To ensure proper implementation of various schemes of MHRD, GoI, and the State Government concerning scholarships, stipends, etc., for the welfare of reserved categories.',
689+
'Grievance Redressal: for any grievance(s) regarding academic, administrative, or social issues. The cell takes necessary action and provides advice/help to resolve the matter.',
690+
'To take follow-up measures to achieve the objectives and targets laid down by MHRD, Government of India.'
691+
],
692+
complaint:
693+
'In case you want to register a formal complaint, please fill out the form in the complaint book, available in the OBC Cell, Administrative Building, NIT Kurukshetra. The committee will review discrimination complaints received from OBC students, faculty, and staff members and resolve them accordingly.',
694+
liaisonOfficerHeading: 'LIAISON OFFICER',
695+
liaisonOfficer: {
696+
image: 'fallback/user-image.jpg',
697+
name: 'Arun Goel',
698+
title: 'Professor & Head of Department',
699+
700+
phone: '01744-233349, 01744-233300'
701+
}
680702
}
681703
},
682704
},
683705
NotFound: {
684706
title: '404',
685707
description: 'Not found ',
686-
backHome: 'Looks like youre lost lets get you back home',
708+
backHome: 'Looks like you\'re lost let\'s get you back home',
687709
},
688710
Profile: {
689711
tabs: {

i18n/hi.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,30 @@ const text: Translations = {
626626
link: 'https://www.aicte.gov.in/bureaus/administration/scst-cell'
627627
}
628628
],
629+
},
630+
obcpwd: {
631+
title: 'अन्य पिछड़ा वर्ग एवं दिव्यांगजन प्रकोष्ठ',
632+
description:
633+
[
634+
'एनआईटी कुरुक्षेत्र इस बात के लिए प्रतिबद्ध है कि एक ऐसा कार्य वातावरण स्थापित किया जाए, जहाँ विभिन्न समुदायों से आने वाले छात्र, संकाय सदस्य एवं स्टाफ सद्भावपूर्ण ढंग से कार्य कर सकें। संस्थान का यह पूर्ण प्रयास है कि कार्यस्थल पर किसी भी प्रकार का भेदभाव न हो। जाति-आधारित भेदभाव की किसी भी घटना के संदर्भ में, ओबीसी सेल के लिए नियुक्त लायज़न अधिकारी से संपर्क किया जा सकता है।'
635+
],
636+
cellFunctionsHeading:'प्रकोष्ठ के कार्य',
637+
cellFunctions:
638+
[
639+
'आरक्षित वर्गों के कल्याण हेतु छात्रवृत्ति, वजीफे आदि से संबंधित भारत सरकार के एमएचआरडी तथा राज्य सरकार की विभिन्न योजनाओं के उचित क्रियान्वयन को सुनिश्चित करना।',
640+
'शिकायत निवारण: शैक्षणिक, प्रशासनिक या सामाजिक समस्याओं से संबंधित किसी भी शिकायत के लिए। प्रकोष्ठ आवश्यक कार्यवाही करता है तथा समस्या के समाधान हेतु मार्गदर्शन/सहायता प्रदान करता है।',
641+
'भारत सरकार के एमएचआरडी द्वारा निर्धारित उद्देश्यों और लक्ष्यों की प्राप्ति के लिए आवश्यक अनुवर्ती कार्यवाहियों को अपनाना।'
642+
],
643+
644+
complaint: 'यदि आप किसी प्रकार की औपचारिक शिकायत दर्ज करना चाहते हैं, तो कृपया शिकायत पुस्तिका में उपलब्ध फॉर्म को भरें, जो एनआईटी कुरुक्षेत्र के प्रशासनिक भवन स्थित ओबीसी प्रकोष्ठ में उपलब्ध है। समिति को प्राप्त ओबीसी छात्र, संकाय सदस्य एवं स्टाफ से संबंधित भेदभाव की शिकायतों की जांच की जाएगी तथा ऐसी शिकायतों का समाधान किया जाएगा।',
645+
liaisonOfficerHeading: 'संपर्क अधिकारी',
646+
liaisonOfficer : {
647+
image: 'fallback/user-image.jpg',
648+
name: 'Arun Goel',
649+
title: 'प्रोफेसर (विभागाध्यक्ष)',
650+
651+
phone: '01744-233349, 01744-233300'
652+
}
629653
}
630654
},
631655
},

i18n/translations.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,21 @@ export interface Translations {
360360
importantLinksHeading: string;
361361
importantLinks: { title: string; link: string }[];
362362
};
363+
obcpwd: {
364+
title: string;
365+
description: string[];
366+
cellFunctionsHeading: string;
367+
cellFunctions: string[];
368+
complaint: string;
369+
liaisonOfficerHeading: string;
370+
liaisonOfficer: {
371+
image: string;
372+
name: string;
373+
title: string;
374+
email: string;
375+
phone: string;
376+
};
377+
};
363378
};
364379
};
365380
Hostels: {

0 commit comments

Comments
 (0)