Skip to content

TEMPFIX: Hardcoded VS data #281

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 43 commits into
base: staged
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
eb3d7dd
Squashed commit of the following:
heydoyouknowme0 Sep 28, 2024
9c548bb
Squashed commit of the following:
heydoyouknowme0 Sep 28, 2024
54d164a
feat: institute landing page
geekysilento Jun 7, 2024
db5d4f4
feat: individual dean's page
geekysilento Jun 20, 2024
953cb4d
feat: curriculum page
geekysilento May 15, 2024
6969a8f
fix: translation schema and coordinator typo
GetPsyched Jun 26, 2024
03b2c86
fix: updated curriculum page ui
geekysilento Jul 3, 2024
d3cc4e7
feat: added accounts page
heydoyouknowme0 Jun 19, 2024
b0e2294
section/estate
som-04 Jun 17, 2024
ca6c1a8
feat: programmes page
geekysilento Sep 30, 2024
43c7139
feat: scholarships page
geekysilento Sep 30, 2024
c7e0e54
faculty profile page
SilentJungle399 Mar 18, 2024
dd89cd8
feat: administration-landing init
KambojRajan Jun 7, 2024
de1da0d
feat: convocation page init
KambojRajan May 11, 2024
a45f047
feat: awards init
KambojRajan May 16, 2024
592d691
feature: replaced footer loremipsum with dummy links
geekysilento Sep 30, 2024
a8c6850
Squashed commit of the following:
geekysilento Oct 1, 2024
76955a3
Squashed commit of the following:
geekysilento Oct 2, 2024
dcd10aa
Squashed commit of the following:
geekysilento Oct 2, 2024
7f31064
Squashed commit of the following:
geekysilento Jan 6, 2025
af313ba
feature/tnp
som-04 Jun 21, 2024
70a6103
campus infra
som-04 Jun 7, 2024
0b16bf9
chabbra details
geekysilento Feb 3, 2025
fcc7e8d
Added Administration Static Page
aryansri-19 Feb 3, 2025
352d102
feat:navbar changes
heydoyouknowme0 Feb 3, 2025
7d3c2b1
hotfix: skill issue
geekysilento Feb 3, 2025
a5e1e01
added loading
heydoyouknowme0 Feb 5, 2025
94646cf
temp
heydoyouknowme0 Feb 5, 2025
2072e21
fixxx
heydoyouknowme0 Mar 27, 2025
34155be
temp: force http typesense
heydoyouknowme0 Mar 31, 2025
59a1c2e
style: consistant nav changes
heydoyouknowme0 Mar 31, 2025
c645493
fix: faculty profile page
heydoyouknowme0 Apr 1, 2025
a2bc1cb
TEMPFIX: faculty profile picture fallback
geekysilento Apr 2, 2025
a517384
TEMPFIX: administration description fix
geekysilento Apr 2, 2025
530014f
fix: update footer links, slideshow icons and update copyright year i…
geekysilento Apr 10, 2025
8d56820
feature: HOD message in department
geekysilento Apr 10, 2025
18da860
feature: add quick links section to homepage
geekysilento Apr 10, 2025
29baadf
refactor: move hostels page inside institute
geekysilento Apr 10, 2025
ab057a4
TEMPFIX: Hardcoded VS data
Debatreya Apr 10, 2025
f016051
Update app/[locale]/faculty-and-staff/[employee_id]/[faculty_section]…
Debatreya Apr 10, 2025
6c6a449
TEMPFIX: Data corrected for VS
Debatreya Apr 10, 2025
3920e5e
FIXED THE NO DATA BREAKING THING
Debatreya Apr 10, 2025
b04f8fb
Merge conflict Resolve
Debatreya Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 101 additions & 3 deletions app/[locale]/academics/awards/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,107 @@
import { WorkInProgressStatus } from '~/components/status';
import { ReactNode } from 'react';

export default function Programmes({
import Heading from '~/components/heading';
import ImageHeader from '~/components/image-header';
import { getTranslations } from '~/i18n/translations';
import { cn } from '~/lib/utils';

export default async function Programmes({
params: { locale },
}: {
params: { locale: string };
}) {
return <WorkInProgressStatus locale={locale} />;
const text = (await getTranslations(locale)).Awards;

return (
<>
<ImageHeader title="Awards" src="slideshow/image02.jpg" />
<main className="container">
{text.awards.map((award, i) => (
<AwardsCard
text={{
about: text.aboutTitle,
description: text.descriptionTitle,
criterion: text.criterionTitle,
}}
index={i}
key={i}
title={award.title}
about={award.about}
description={award.description}
>
{award.criterion && (
<>
<div className="mb-4">
<strong>{award.criterion[0]}</strong>:
</div>
<h6 className="mb-2 text-lg font-semibold">
{award.criterion[1]}
</h6>
{award.criterion.length > 2 && (
<ul className="ml-10 list-decimal space-y-2">
{award.criterion.slice(2).map((item, index) => (
<li key={index}>{item}</li>
))}
</ul>
)}
</>
)}
</AwardsCard>
))}
</main>
</>
);
}

interface AwardCardProps {
title: string;
about: string;
description?: string;
children?: ReactNode;
index: number;
text: {
about: string;
description: string;
criterion: string;
};
}

function AwardsCard({
title,
about,
children,
description,
index,
text,
}: AwardCardProps) {
return (
<>
<Heading
glyphDirection={index % 2 ? 'rtl' : 'ltr'}
heading="h4"
text={title}
/>
<section
className={cn(
'container mt-5 rounded-md border border-primary-500 p-5 shadow-lg',
index % 2 === 0 && 'bg-neutral-50'
)}
>
<h4 className="mt-4 text-xl font-semibold">{text.about}</h4>
<p className="text-gray-800 text-base">{about}</p>
{children && (
<>
<h4 className="mt-4 text-xl font-semibold">{text.criterion}</h4>
<div className="text-gray-800 text-base">{children}</div>
</>
)}
{description && (
<>
<h4 className="mt-4 text-xl font-semibold">{text.criterion}</h4>
<p className="text-gray-800 text-base">{description}</p>
</>
)}
</section>
</>
);
}
63 changes: 63 additions & 0 deletions app/[locale]/academics/convocation/[year]/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import Image from 'next/image';
import Link from 'next/link';

import Heading from '~/components/heading';
import ImageHeader from '~/components/image-header';
import { getTranslations } from '~/i18n/translations';
import { cn } from '~/lib/utils';

import { getConvocationData } from '../utils';

export default async function Page({
params: { locale, year },
}: {
params: { locale: string; year: string };
}) {
const text = (await getTranslations(locale)).Convocation;

const data = getConvocationData(year);

return (
<>
<ImageHeader
title={`${year} Convocation`}
src={`https://nitkkr.ac.in/wp-content/uploads/2022/12/IMG_0496-scaled.jpg`}
/>

<Heading
className="container"
glyphDirection="dual"
heading="h3"
id=""
text={text.notification}
/>
<section className="container w-full rounded-md border border-primary-500">
<ul className={cn('w-full space-y-5 py-5')}>
{data.notifications.map((note, i) => (
<li
key={i}
className={cn(
'group w-full rounded-lg p-5 transition-all duration-300',
i % 2 === 0
? 'bg-background hover:bg-neutral-200'
: 'bg-primary-500 hover:bg-primary-700'
)}
>
<Link
href={note.href}
className={cn(
'line-clamp-1 max-w-full text-ellipsis text-lg font-semibold transition-colors duration-300',
i % 2 === 0
? 'text-primary-500 hover:text-primary-700'
: 'hover:text-background-light text-background'
)}
>
{note.title}
</Link>
</li>
))}
</ul>
</section>
</>
);
}
54 changes: 51 additions & 3 deletions app/[locale]/academics/convocation/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,57 @@
import { WorkInProgressStatus } from '~/components/status';
import Link from 'next/link';

export default function Convocation({
import { cn } from '~/lib/utils';
import Heading from '~/components/heading';

export default async function Convocation({
params: { locale },
}: {
params: { locale: string };
}) {
return <WorkInProgressStatus locale={locale} />;
return (
<main className="container h-screen">
<Heading glyphDirection={'dual'} heading={'h1'} text={'Convocations'} />
<ul
className={cn(
'container mb-2 sm:mb-4 lg:mb-6 xl:mb-8',
'grid grid-cols-1 gap-2',
'sm:grid-cols-2 sm:gap-4',
'lg:grid-cols-3 lg:gap-6',
'xl:grid-cols-4 xl:gap-8'
)}
>
{['19th', '18th', '17th', '16th'].map((convocation, i) => (
<li key={i}>
<Link
className={cn(
'flex items-center gap-2 md:gap-3',
'group bg-neutral-50 font-serif hover:bg-primary-500',
'rounded p-2 drop-shadow hover:drop-shadow-lg xl:p-3'
)}
href={`/${locale}/academics/convocation/${convocation}`}
>
<h5
className={cn(
'size-8 p-1',
'sm:h-12 sm:min-w-12 sm:p-3',
'lg:h-20 lg:min-w-20 lg:p-5',
'rounded bg-primary-700 fill-neutral-50 text-neutral-50 drop-shadow group-hover:bg-neutral-50 group-hover:text-primary-700'
)}
>
{convocation}
</h5>
<h5
className={cn(
'text-primary-700 group-hover:text-neutral-50',
'transition-colors duration-200'
)}
>
Convocation
</h5>
</Link>
</li>
))}
</ul>
</main>
);
}
Loading