Add Theory Day updates and recent service items
This commit is contained in:
parent
9bfda3d95a
commit
d87e464ab8
7 changed files with 271 additions and 17 deletions
|
|
@ -8,6 +8,15 @@ import { ArrowRight } from 'lucide-react';
|
|||
import { Button } from '@/components/ui/button';
|
||||
|
||||
const slides = [
|
||||
{
|
||||
src: '/images/course-resources/theory-of-computing.png',
|
||||
alt: 'Foundations of computer science visual with automata, stacks, and computation diagrams',
|
||||
title: 'Theory Day 2026',
|
||||
description:
|
||||
'Foundations of Computer Science. 17 June 2026; registration is open.',
|
||||
ctaLabel: 'View Details',
|
||||
ctaHref: '/updates/theory-day-2026',
|
||||
},
|
||||
{
|
||||
src: '/images/jee-open-house-2026-landscape.jpg',
|
||||
alt: 'JEE Open House 2026 at IIT Gandhinagar',
|
||||
|
|
|
|||
|
|
@ -30,19 +30,32 @@ export default function RecentWins() {
|
|||
{homepageAwardItems.map((award, index) => (
|
||||
<tr
|
||||
key={award.id}
|
||||
className="border-b text-left text-foreground/40"
|
||||
className={`border-b text-left ${
|
||||
award.featured
|
||||
? 'bg-secondary/5 text-foreground'
|
||||
: 'text-foreground/40'
|
||||
}`}
|
||||
>
|
||||
<td className="py-4 pr-4 text-base font-medium tracking-tight text-foreground">
|
||||
<div className="flex items-center gap-3">
|
||||
<span className={`size-3 shrink-0 rounded-full ${colors[index % colors.length]}`} />
|
||||
<a
|
||||
href={award.sourceUrl}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="hover:text-secondary transition-colors"
|
||||
>
|
||||
{award.title}
|
||||
</a>
|
||||
<span
|
||||
className={`size-3 shrink-0 rounded-full ${colors[index % colors.length]}`}
|
||||
/>
|
||||
<span className="space-y-1">
|
||||
{award.featured && (
|
||||
<span className="inline-flex rounded-full border border-secondary/30 bg-secondary/10 px-2 py-0.5 text-[0.68rem] font-medium uppercase tracking-wide text-secondary">
|
||||
Featured
|
||||
</span>
|
||||
)}
|
||||
<a
|
||||
href={award.sourceUrl}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="block hover:text-secondary transition-colors"
|
||||
>
|
||||
{award.title}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="hidden py-4 pr-4 text-sm md:table-cell">
|
||||
|
|
|
|||
|
|
@ -39,6 +39,21 @@ export const EVENT_CATEGORY_STYLES: Record<EventCategory, string> = {
|
|||
};
|
||||
|
||||
export const departmentEvents: DepartmentEvent[] = [
|
||||
{
|
||||
id: "theory-day-foundations-cs-2026",
|
||||
title: "Theory Day: Foundations of Computer Science",
|
||||
category: "symposium",
|
||||
year: 2026,
|
||||
displayDate: "17 Jun 2026",
|
||||
startDate: "2026-06-17",
|
||||
organizer: "Department of Computer Science & Engineering, IIT Gandhinagar",
|
||||
description:
|
||||
"A one-day Theory Day focused on foundations of computer science. The schedule, talk titles, and abstracts will be announced soon.",
|
||||
source: "CSE archive",
|
||||
sourceLabel: "Event page",
|
||||
sourceUrl: "/updates/theory-day-2026",
|
||||
featured: true,
|
||||
},
|
||||
{
|
||||
id: "ai-day-2026",
|
||||
title: "AI Day",
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ export interface DepartmentNewsItem {
|
|||
sourceLabel: string;
|
||||
sourceUrl: string;
|
||||
homepage?: boolean;
|
||||
featured?: boolean;
|
||||
}
|
||||
|
||||
export const CATEGORY_LABELS: Record<NewsCategory, string> = {
|
||||
|
|
@ -409,6 +410,22 @@ export const departmentNews: DepartmentNewsItem[] = [
|
|||
sourceLabel: "IITGN Technical Council",
|
||||
sourceUrl: "https://technical-council.iitgn.tech/achievements",
|
||||
},
|
||||
{
|
||||
id: "anirban-stoc-test-of-time-2024",
|
||||
title: "Anirban Dasgupta receives ACM STOC 10-year Test of Time Award",
|
||||
summary:
|
||||
"The STOC 2024 award recognizes the lasting impact of the paper “A Sparse Johnson-Lindenstrauss Transform,” co-authored with Ravi Kumar and Tamás Sarlós.",
|
||||
people: "Anirban Dasgupta, Ravi Kumar, and Tamás Sarlós",
|
||||
displayDate: "2024",
|
||||
date: "2024-06-21",
|
||||
category: "award",
|
||||
status: "confirmed",
|
||||
sourceLabel: "Cornell Bowers CIS",
|
||||
sourceUrl:
|
||||
"https://bowers.cornell.edu/news-stories/faculty-and-alumni-receive-test-time-awards-stoc-2024",
|
||||
homepage: true,
|
||||
featured: true,
|
||||
},
|
||||
{
|
||||
id: "chitrabhasha-anrf",
|
||||
title: "Chitrabhasha receives ANRF Advanced Research Grant support",
|
||||
|
|
@ -604,4 +621,6 @@ export const homepageNewsItems = sortByDateDesc(
|
|||
|
||||
export const homepageAwardItems = sortByDateDesc(
|
||||
departmentNews.filter((item) => item.homepage && item.category === "award"),
|
||||
).slice(0, 4);
|
||||
)
|
||||
.sort((a, b) => Number(Boolean(b.featured)) - Number(Boolean(a.featured)))
|
||||
.slice(0, 5);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
---
|
||||
import JeeOpenHousePromo from '@/components/sections/jee-open-house-promo.astro';
|
||||
import DefaultLayout from '@/layouts/DefaultLayout.astro';
|
||||
import { ArrowRight, CalendarDays } from 'lucide-react';
|
||||
|
||||
const theoryDayRegistrationLink = 'https://forms.gle/sqqoh4JftBfKYA1b8';
|
||||
---
|
||||
|
||||
<DefaultLayout
|
||||
|
|
@ -20,5 +23,59 @@ import DefaultLayout from '@/layouts/DefaultLayout.astro';
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section-padding">
|
||||
<div class="container">
|
||||
<div class="mb-6">
|
||||
<p class="text-secondary text-sm font-medium">Upcoming</p>
|
||||
<h2 class="mt-3 text-2xl font-semibold md:text-3xl">
|
||||
Registration deadlines
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<article class="rounded-lg border bg-background p-6 shadow-sm">
|
||||
<div class="grid gap-6 md:grid-cols-[12rem_1fr_auto] md:items-center">
|
||||
<div class="flex items-center gap-3">
|
||||
<span class="inline-flex size-11 items-center justify-center rounded-full bg-secondary/10 text-secondary">
|
||||
<CalendarDays className="size-5" aria-hidden="true" />
|
||||
</span>
|
||||
<div>
|
||||
<p class="text-muted-foreground text-sm">Deadline</p>
|
||||
<p class="text-lg font-semibold">15 Jun 2026</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 class="text-xl font-semibold">
|
||||
Theory Day: Foundations of Computer Science
|
||||
</h3>
|
||||
<p class="text-muted-foreground mt-2 text-sm leading-relaxed">
|
||||
Register for the 17 June 2026 Theory Day. Schedule, talk titles,
|
||||
and abstracts will be posted on the event page soon.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap gap-3 md:justify-end">
|
||||
<a
|
||||
href="/updates/theory-day-2026"
|
||||
class="inline-flex items-center gap-2 rounded-full border px-4 py-2 text-sm font-medium transition hover:border-secondary hover:text-secondary"
|
||||
>
|
||||
Event page
|
||||
<ArrowRight className="size-4" aria-hidden="true" />
|
||||
</a>
|
||||
<a
|
||||
href={theoryDayRegistrationLink}
|
||||
class="inline-flex items-center gap-2 rounded-full bg-foreground px-4 py-2 text-sm font-medium text-background transition hover:bg-secondary"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
Register
|
||||
<ArrowRight className="size-4" aria-hidden="true" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<JeeOpenHousePromo variant="deadlines" />
|
||||
</DefaultLayout>
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ const groupedPastEvents = Object.entries(
|
|||
return groups;
|
||||
}, {}),
|
||||
).sort(([a], [b]) => Number(b) - Number(a));
|
||||
|
||||
const isExternalUrl = (url: string) => /^https?:\/\//.test(url);
|
||||
---
|
||||
|
||||
<DefaultLayout
|
||||
|
|
@ -171,8 +173,8 @@ const groupedPastEvents = Object.entries(
|
|||
<a
|
||||
href={event.sourceUrl}
|
||||
class="group mt-4 inline-flex items-center gap-2 text-sm font-medium text-secondary"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
target={isExternalUrl(event.sourceUrl) ? "_blank" : undefined}
|
||||
rel={isExternalUrl(event.sourceUrl) ? "noreferrer" : undefined}
|
||||
>
|
||||
{event.sourceLabel ?? "Event website"}
|
||||
<ArrowRight
|
||||
|
|
@ -256,8 +258,8 @@ const groupedPastEvents = Object.entries(
|
|||
<a
|
||||
href={event.sourceUrl}
|
||||
class="group mt-4 inline-flex items-center gap-2 text-sm font-medium text-secondary"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
target={isExternalUrl(event.sourceUrl) ? "_blank" : undefined}
|
||||
rel={isExternalUrl(event.sourceUrl) ? "noreferrer" : undefined}
|
||||
>
|
||||
{event.sourceLabel ?? "Event website"}
|
||||
<ArrowRight
|
||||
|
|
@ -330,8 +332,8 @@ const groupedPastEvents = Object.entries(
|
|||
<a
|
||||
href={event.sourceUrl}
|
||||
class="group mt-3 inline-flex items-center gap-2 text-sm font-medium text-secondary"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
target={isExternalUrl(event.sourceUrl) ? "_blank" : undefined}
|
||||
rel={isExternalUrl(event.sourceUrl) ? "noreferrer" : undefined}
|
||||
>
|
||||
{event.sourceLabel ?? "Event website"}
|
||||
<ArrowRight
|
||||
|
|
|
|||
139
src/pages/updates/theory-day-2026.astro
Normal file
139
src/pages/updates/theory-day-2026.astro
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
---
|
||||
import {
|
||||
ArrowRight,
|
||||
CalendarDays,
|
||||
ClipboardList,
|
||||
FileText,
|
||||
MapPin,
|
||||
} from "lucide-react";
|
||||
|
||||
import DefaultLayout from "@/layouts/DefaultLayout.astro";
|
||||
|
||||
const registrationLink = "https://forms.gle/sqqoh4JftBfKYA1b8";
|
||||
const eventDate = "17 June 2026";
|
||||
const registrationDeadline = "15 June 2026";
|
||||
---
|
||||
|
||||
<DefaultLayout
|
||||
title="Theory Day: Foundations of Computer Science"
|
||||
description="Theory Day at IIT Gandhinagar brings together talks and discussions around foundations of computer science."
|
||||
>
|
||||
<section class="border-b bg-gradient-to-br from-violet-50 via-background to-sky-50 py-14 md:py-18">
|
||||
<div class="container">
|
||||
<div class="grid gap-8 lg:grid-cols-[1fr_22rem] lg:items-end">
|
||||
<div class="max-w-3xl">
|
||||
<p class="text-secondary text-sm font-medium uppercase tracking-wider">
|
||||
Department Event
|
||||
</p>
|
||||
<h1 class="mt-4 text-4xl font-semibold tracking-tight md:text-5xl">
|
||||
Theory Day: Foundations of Computer Science
|
||||
</h1>
|
||||
<p class="text-muted-foreground mt-5 text-lg leading-relaxed">
|
||||
A CSE department event focused on the foundations of computer
|
||||
science, with talks and discussions for students, researchers, and
|
||||
faculty interested in theoretical computer science.
|
||||
</p>
|
||||
<div class="mt-7 flex flex-wrap gap-3">
|
||||
<a
|
||||
href={registrationLink}
|
||||
class="inline-flex items-center gap-2 rounded-full bg-foreground px-5 py-2.5 text-sm font-medium text-background transition hover:bg-secondary"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
Register now
|
||||
<ArrowRight className="size-4" aria-hidden="true" />
|
||||
</a>
|
||||
<a
|
||||
href="/updates/deadlines"
|
||||
class="inline-flex items-center gap-2 rounded-full border bg-white px-5 py-2.5 text-sm font-medium transition hover:border-secondary hover:text-secondary"
|
||||
>
|
||||
Registration deadline: {registrationDeadline}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<aside class="rounded-lg border bg-white/85 p-5 shadow-sm backdrop-blur">
|
||||
<p class="text-sm font-medium text-secondary">At a glance</p>
|
||||
<dl class="mt-4 grid gap-4 text-sm">
|
||||
<div class="flex gap-3">
|
||||
<CalendarDays className="mt-0.5 size-4 text-secondary" aria-hidden="true" />
|
||||
<div>
|
||||
<dt class="text-muted-foreground">Date</dt>
|
||||
<dd class="font-medium">{eventDate}</dd>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-3">
|
||||
<ClipboardList className="mt-0.5 size-4 text-secondary" aria-hidden="true" />
|
||||
<div>
|
||||
<dt class="text-muted-foreground">Registration</dt>
|
||||
<dd class="font-medium">Open until {registrationDeadline}</dd>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-3">
|
||||
<MapPin className="mt-0.5 size-4 text-secondary" aria-hidden="true" />
|
||||
<div>
|
||||
<dt class="text-muted-foreground">Venue</dt>
|
||||
<dd class="font-medium">IIT Gandhinagar; room details forthcoming</dd>
|
||||
</div>
|
||||
</div>
|
||||
</dl>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section-padding">
|
||||
<div class="container">
|
||||
<div class="grid gap-8 lg:grid-cols-[0.9fr_1.1fr]">
|
||||
<div>
|
||||
<p class="text-secondary text-sm font-medium">Foundations of CS</p>
|
||||
<h2 class="mt-3 text-2xl font-semibold md:text-3xl">
|
||||
A department day for theory
|
||||
</h2>
|
||||
<p class="text-muted-foreground mt-4 leading-relaxed">
|
||||
Theory Day is planned as a focused gathering around the foundations
|
||||
of computer science. The event will highlight ideas, methods, and
|
||||
research conversations from theoretical computer science.
|
||||
</p>
|
||||
</div>
|
||||
<div class="rounded-lg border bg-card p-6">
|
||||
<div class="flex items-start gap-3">
|
||||
<FileText className="mt-1 size-5 text-secondary" aria-hidden="true" />
|
||||
<div>
|
||||
<h3 class="text-xl font-semibold">Program details coming soon</h3>
|
||||
<p class="text-muted-foreground mt-3 leading-relaxed">
|
||||
We will add the schedule, talk titles, and abstracts here as
|
||||
soon as they are available.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="border-y bg-muted/30">
|
||||
<div class="container py-10 md:py-12">
|
||||
<div class="rounded-lg border bg-background p-6 md:flex md:items-center md:justify-between md:gap-6">
|
||||
<div>
|
||||
<p class="text-sm font-medium text-secondary">Registration</p>
|
||||
<h2 class="mt-2 text-2xl font-semibold">
|
||||
Register by {registrationDeadline}
|
||||
</h2>
|
||||
<p class="text-muted-foreground mt-2">
|
||||
Registration is open through the shared IITGN form.
|
||||
</p>
|
||||
</div>
|
||||
<a
|
||||
href={registrationLink}
|
||||
class="mt-5 inline-flex items-center gap-2 rounded-full bg-foreground px-5 py-2.5 text-sm font-medium text-background transition hover:bg-secondary md:mt-0"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
Open registration form
|
||||
<ArrowRight className="size-4" aria-hidden="true" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</DefaultLayout>
|
||||
Loading…
Add table
Add a link
Reference in a new issue