Skip to content

student council page#550

Open
Soumil221 wants to merge 68 commits intostagedfrom
feat/student-council-page
Open

student council page#550
Soumil221 wants to merge 68 commits intostagedfrom
feat/student-council-page

Conversation

@Soumil221
Copy link
Contributor

No description provided.

yashika1221 and others added 30 commits January 3, 2026 22:34
Co-authored-by: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
Co-authored-by: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
This pull request introduces several improvements and refactors across
multiple pages, focusing on dynamic data fetching from the database, UI
consistency, and code style cleanups. The most significant changes are
the migration of static research data to dynamic database queries, UI/UX
refinements for the SC/ST cell page, and minor formatting and code
cleanup in other components.

**Dynamic Data Fetching and Table Updates:**

* Migrated static data for Memorandum of Understanding (MoU) and
Sponsored Research Projects in `app/[locale]/research/page.tsx` to fetch
directly from the database, including transforming and formatting the
data for table display. This includes updating the table headers and
rows to show new fields such as sanctioned file/order number, date, and
project status.
([app/[locale]/research/page.tsxR24-R38](diffhunk://#diff-7e2ef4caf94dbc72306307e50144de2644725209044410ff5dc769152068eb67R24-R38),
[app/[locale]/research/page.tsxR98-R132](diffhunk://#diff-7e2ef4caf94dbc72306307e50144de2644725209044410ff5dc769152068eb67R98-R132),
[app/[locale]/research/page.tsxL210-R148](diffhunk://#diff-7e2ef4caf94dbc72306307e50144de2644725209044410ff5dc769152068eb67L210-R148),
[app/[locale]/research/page.tsxL473-R411](diffhunk://#diff-7e2ef4caf94dbc72306307e50144de2644725209044410ff5dc769152068eb67L473-R411),
[app/[locale]/research/page.tsxR449-R453](diffhunk://#diff-7e2ef4caf94dbc72306307e50144de2644725209044410ff5dc769152068eb67R449-R453),
[app/[locale]/research/page.tsxR740-R742](diffhunk://#diff-7e2ef4caf94dbc72306307e50144de2644725209044410ff5dc769152068eb67R740-R742),
[app/[locale]/research/page.tsxR761-R763](diffhunk://#diff-7e2ef4caf94dbc72306307e50144de2644725209044410ff5dc769152068eb67R761-R763))

**UI/UX and Styling Improvements:**

* Refined layout, className ordering, and responsive styles for the
SC/ST cell page (`app/[locale]/institute/cells/scst/page.tsx`),
including adjustments to faculty info display, section spacing, and list
styling for better readability and consistency.
([app/[locale]/institute/cells/scst/page.tsxL18-R18](diffhunk://#diff-19c9706882ffe3c5011d10c9fc1e574aa3f0c8095b33184bddde8ec8abf2ba6cL18-R18),
[app/[locale]/institute/cells/scst/page.tsxL33-R40](diffhunk://#diff-19c9706882ffe3c5011d10c9fc1e574aa3f0c8095b33184bddde8ec8abf2ba6cL33-R40),
[app/[locale]/institute/cells/scst/page.tsxL58-R65](diffhunk://#diff-19c9706882ffe3c5011d10c9fc1e574aa3f0c8095b33184bddde8ec8abf2ba6cL58-R65),
[app/[locale]/institute/cells/scst/page.tsxL86-R139](diffhunk://#diff-19c9706882ffe3c5011d10c9fc1e574aa3f0c8095b33184bddde8ec8abf2ba6cL86-R139),
[app/[locale]/institute/cells/scst/page.tsxL159-R163](diffhunk://#diff-19c9706882ffe3c5011d10c9fc1e574aa3f0c8095b33184bddde8ec8abf2ba6cL159-R163),
[app/[locale]/institute/cells/scst/page.tsxL179-L190](diffhunk://#diff-19c9706882ffe3c5011d10c9fc1e574aa3f0c8095b33184bddde8ec8abf2ba6cL179-L190))
* Minor UI adjustments in the gallery component for improved code
readability and style formatting.
[[1]](diffhunk://#diff-7a11d6e30b52d89cba0ae61febfb2a8dc1c64a312509fdbeffa3119de9061aa7L188-R191)
[[2]](diffhunk://#diff-7a11d6e30b52d89cba0ae61febfb2a8dc1c64a312509fdbeffa3119de9061aa7L204-R211)

**Code Style and Formatting Cleanups:**

* Added or corrected trailing commas and semicolons for consistency in
various files.
([app/[locale]/academics/curricula/page.tsxL123-R123](diffhunk://#diff-f28e90cdfc2124ecddf73b3a9d4522b6270d42112fa9b8a81c67656ed7722c86L123-R123),
[app/[locale]/header.tsxL88-R88](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777L88-R88))
* Removed unnecessary blank lines and improved code formatting for
clarity.
([app/[locale]/student-activities/clubs/[display_name]/event-section.tsxL96](diffhunk://#diff-fe0a45bba40a113ff0cfe178c0a454d4980293098763ae248037759f44e58de0L96))

These changes collectively enhance maintainability, data accuracy, and
user experience across the affected pages.

---------

Co-authored-by: soumil221 <soumiljain221@gmail.com>
A constant Faculty updates to Staged

---------

Co-authored-by: Navneet Kaur <navneet78141@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: ArnavSharma005 <145358467+ArnavSharma005@users.noreply.github.com>
Co-authored-by: heydoyouknowme0 <akrb2204@gmail.com>
This pull request introduces a comprehensive faculty photo upload and
display system, enabling users to upload profile photos for faculty and
staff, and ensuring robust display of these images throughout the
application. The changes include a new `FacultyPhotoUpload` component
for uploading images, a `FacultyImage` component that intelligently
loads images with fallback logic, and integration of these components
across profile editing and listing pages. Additionally, minor UI and
formatting improvements are included.

**Faculty and Staff Photo Upload and Display**

* Added a new `FacultyPhotoUpload` component that allows users to upload
faculty/staff profile photos, including file type and size validation,
image preview, S3 upload logic, and user feedback via toasts.
([app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxR1-R231](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72R1-R231))
* Introduced a `FacultyImage` component that attempts to load the
faculty/staff image from S3 in multiple formats with graceful fallback
to a default image, and replaced direct `<Image>` usage with this
component in all relevant places: faculty list, staff list, and faculty
profile.
([app/[locale]/faculty-and-staff/faculty-image.tsxR1-R73](diffhunk://#diff-f3054df127f38ef9044a3b238e2c892fffc15bbda73792eaedfe36286ea35c2fR1-R73),
[app/[locale]/faculty-and-staff/page.tsxL407-L412](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L407-L412),
[app/[locale]/faculty-and-staff/page.tsxL581-L586](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L581-L586),
[app/[locale]/faculty-and-staff/utils.tsxL241-R248](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dL241-R248))
* Integrated the photo upload section into the faculty profile edit
modal, including fetching and passing the necessary props (`facultyId`,
`employeeId`, `name`) to the upload component.
([app/[locale]/@modals/(.)profile/edit/page.tsxR25](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R25),
[app/[locale]/@modals/(.)profile/edit/page.tsxR55-R56](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R55-R56),
[app/[locale]/@modals/(.)profile/edit/page.tsxR67](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R67),
[app/[locale]/@modals/(.)profile/edit/page.tsxR79-R81](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R79-R81),
[app/[locale]/@modals/(.)profile/edit/page.tsxL98-R117](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805L98-R117))

**Faculty/Staff List and Profile Improvements**

* Updated faculty and staff listing pages to use the new `FacultyImage`
for consistent image handling, and improved external link handling for
profile links to ensure proper URL formatting.
([app/[locale]/faculty-and-staff/page.tsxL407-L412](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L407-L412),
[app/[locale]/faculty-and-staff/page.tsxL471-R479](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L471-R479),
[app/[locale]/faculty-and-staff/page.tsxL581-L586](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L581-L586))
* Updated the faculty/staff profile utility to use `FacultyImage` for
image rendering.
([app/[locale]/faculty-and-staff/utils.tsxR49](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR49),
[app/[locale]/faculty-and-staff/utils.tsxL241-R248](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dL241-R248))

**UI and Code Formatting Enhancements**

* Improved section headers and layout in the profile edit modal for
clarity.
([app/[locale]/@modals/(.)profile/edit/page.tsxL98-R117](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805L98-R117))
* Minor code formatting and readability improvements in client
components and curricula page.
([app/[locale]/academics/curricula/page.tsxL70-R73](diffhunk://#diff-f28e90cdfc2124ecddf73b3a9d4522b6270d42112fa9b8a81c67656ed7722c86L70-R73),
[app/[locale]/academics/curricula/page.tsxL126-R129](diffhunk://#diff-f28e90cdfc2124ecddf73b3a9d4522b6270d42112fa9b8a81c67656ed7722c86L126-R129),
[app/[locale]/faculty-and-staff/client-components.tsxL55](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L55),
[app/[locale]/faculty-and-staff/client-components.tsxL76-R85](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L76-R85),
[app/[locale]/faculty-and-staff/client-components.tsxL115-R118](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L115-R118),
[app/[locale]/faculty-and-staff/client-components.tsxL126-R131](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L126-R131),
[app/[locale]/faculty-and-staff/client-components.tsxL291-R298](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L291-R298),
[app/[locale]/faculty-and-staff/client-components.tsxL340-R347](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L340-R347),
[app/[locale]/faculty-and-staff/client-components.tsxL368](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L368),
[app/[locale]/faculty-and-staff/client-components.tsxL406-R411](diffhunk://#diff-f3d956fa19c730d337793ff6235013b3be6594251230f0777f7bcc95cfb03726L406-R411))
replaced all tables with generic table component
This pull request refactors the notifications display logic across
several pages by introducing a new reusable `NotificationsPanel`
component. The main goal is to centralize and streamline how
notifications are fetched, filtered, and rendered, reducing code
duplication and improving maintainability. The panel supports flexible
filtering and customization, and is now used in place of previous ad-hoc
implementations in the Academics and Notifications pages.

**Notifications UI Refactor and Componentization**

* Introduced a new `NotificationsPanel` component that encapsulates all
logic for fetching, filtering (by category, club, date), and displaying
notifications, with support for loading states and customization
options. This component replaces previous inline implementations and is
now the single source for notifications UI.
* Updated the Academics (`app/[locale]/academics/page.tsx`) and
Notifications (`app/[locale]/notifications.tsx`) pages to use the new
`NotificationsPanel`, removing their local notification list logic and
related imports, and simplifying their main render logic.
([app/[locale]/academics/page.tsxL5-L29](diffhunk://#diff-bb42d3e07d6a4b2f5a35dc4e6210318de482ab7f0c0a2bf19580b1cedf742a82L5-L29),
[app/[locale]/academics/page.tsxL48-R41](diffhunk://#diff-bb42d3e07d6a4b2f5a35dc4e6210318de482ab7f0c0a2bf19580b1cedf742a82L48-R41),
[app/[locale]/academics/page.tsxL80-R78](diffhunk://#diff-bb42d3e07d6a4b2f5a35dc4e6210318de482ab7f0c0a2bf19580b1cedf742a82L80-R78),
[app/[locale]/academics/page.tsxL298-L339](diffhunk://#diff-bb42d3e07d6a4b2f5a35dc4e6210318de482ab7f0c0a2bf19580b1cedf742a82L298-L339),
[app/[locale]/notifications.tsxL2-L12](diffhunk://#diff-fc4ab4f58418a1ce1ca032d258b139c979709ec0e41edf5494c8c0b99a31b6ecL2-L12),
[app/[locale]/notifications.tsxL72-L148](diffhunk://#diff-fc4ab4f58418a1ce1ca032d258b139c979709ec0e41edf5494c8c0b99a31b6ecL72-L148))

**Code Cleanup and Consistency**

* Removed now-unused components and helper functions
(`NotificationsList` and related database queries/grouping logic) from
both the Academics and Notifications pages, as this functionality is now
handled by the new panel.
([app/[locale]/academics/page.tsxL298-L339](diffhunk://#diff-bb42d3e07d6a4b2f5a35dc4e6210318de482ab7f0c0a2bf19580b1cedf742a82L298-L339),
[app/[locale]/notifications.tsxL72-L148](diffhunk://#diff-fc4ab4f58418a1ce1ca032d258b139c979709ec0e41edf5494c8c0b99a31b6ecL72-L148))
* Updated imports in dependent files (such as the Hostels page) to use
the new default export for `NotificationsList`, ensuring consistency
with the refactor.
([app/[locale]/institute/hostels/page.tsxL16-R16](diffhunk://#diff-11a346a0b3b637deeabb5eb45cbb54a281cb3a311e358726adc923b9057c9c80L16-R16))
Co-authored-by: Swastik Bhowmick <swastik200419@gmail.com>
TABLES for : BOG ,Senate ,SCSA, Other officers, Financial and working committee, Building and construction commitee
This pull request updates the sorting logic and meeting data handling
across several committee pages to ensure meetings are sorted by the
correct date or meeting number fields. It also improves the
`GenericTable` component to handle numeric sorting properly. The main
changes are grouped below:

**Committee Pages: Sorting Field Updates**

* Updated the `sortByDateField` prop in multiple committee pages
(`board-of-governors`, `building-and-work-committee`, `scsa`, `senate`)
to use the `date` field instead of `created_at` for more accurate
meeting sorting.
(`app/[locale]/institute/administration/(committees)/board-of-governors/page.tsx`
[app/[locale]/institute/administration/(committees)/board-of-governors/page.tsxL120-R131](diffhunk://#diff-c3c09c0b78573302e9114f7b5c8b3dd7b6595ad633647910670f7f0c0f69ff06L120-R131),
`building-and-work-committee/page.tsx`
[app/[locale]/institute/administration/(committees)/building-and-work-committee/page.tsxL118-R118](diffhunk://#diff-5103d70f013e00bb7173d6fc6151208540d89110a2c32feea4da0de2ca291880L118-R118),
`scsa/page.tsx`
[app/[locale]/institute/administration/(committees)/scsa/page.tsxL101-R101](diffhunk://#diff-48b94a66fa30b997acc051bf15874af155437d3aeac97a450bef0323d512c06cL101-R101),
`senate/page.tsx`
[app/[locale]/institute/administration/(committees)/senate/page.tsxL111-R111](diffhunk://#diff-8e004bb516d101f7280c73ab50955ab9c59f0a4f01063a82da819a8cd3d1666cL111-R111))
* For the `financial-committee` page, added a `meetingNumber` field to
each meeting and updated sorting to use this numeric field for correct
ordering. (`financial-committee/page.tsx`
[app/[locale]/institute/administration/(committees)/financial-committee/page.tsxR90](diffhunk://#diff-b66c6cc2b15973120500a43f5cca35a648d7cb402671229bd74f46db9a10b307R90),
[app/[locale]/institute/administration/(committees)/financial-committee/page.tsxL117-R118](diffhunk://#diff-b66c6cc2b15973120500a43f5cca35a648d7cb402671229bd74f46db9a10b307L117-R118))

**GenericTable Component: Sorting Enhancement**

* Enhanced the `GenericTable` component to properly handle numeric
sorting when the sort field is a number, ensuring correct order for
fields like `meetingNumber`. (`components/ui/generic-table.tsx`
[components/ui/generic-table.tsxR95-R99](diffhunk://#diff-1133b034223eb2492ab7f0ff0089616e410fd52886fa9704e4e613fcd55a804fR95-R99))

**Minor UI Improvements**

* Removed unnecessary `id` attributes and adjusted the placement of the
`agenda` section heading for improved accessibility and structure.
(`board-of-governors/page.tsx`
[app/[locale]/institute/administration/(committees)/board-of-governors/page.tsxL105-R105](diffhunk://#diff-c3c09c0b78573302e9114f7b5c8b3dd7b6595ad633647910670f7f0c0f69ff06L105-R105),
[app/[locale]/institute/administration/(committees)/board-of-governors/page.tsxL120-R131](diffhunk://#diff-c3c09c0b78573302e9114f7b5c8b3dd7b6595ad633647910670f7f0c0f69ff06L120-R131))

---------

Co-authored-by: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
adding scoe -page

---------

Co-authored-by: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
Co-authored-by: ArnavSharma005 <arnavoct.20@gmail.com>
### What was changed
- Reduced excessive vertical spacing in the Events section
- Tightened spacing between filters and "View All" on mobile
#434 : RAC-S(ISRO) PAGE
#436 : Add buttons on Landing Page

---------

Co-authored-by: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
This pull request introduces a new suite of animated UI components using
Framer Motion for enhanced user experience and visual appeal across
several sections of the application. It replaces static layouts for the
header, footer, events grid, page content, and button groups with
animated versions, and centralizes animation variants for consistency
and reuse.

**Major introduction of animated components:**

* Added new animated components for header (`animate-header.tsx`),
footer (`animate-footer.tsx`), events grid (`animate-events-grid.tsx`),
page content (`animate-page-content.tsx`), section wrappers
(`animate-section.tsx`), and button groups (`animate-button-group.tsx`).
These components use Framer Motion for scroll and hover effects,
staggered entrances, and interactive animations.
([app/[locale]/(animations)/animate-header.tsxR1-R48](diffhunk://#diff-1a86ad4d600dec3d9c8f1ad7315a70e2091590b42bc5815e98187555bd38d8eaR1-R48),
[app/[locale]/(animations)/animate-footer.tsxR1-R212](diffhunk://#diff-9d03213baa3ffa7524fc544cdaf0f14294dfc0c13c5f6c019d9806127519f0b7R1-R212),
[app/[locale]/(animations)/animate-events-grid.tsxR1-R101](diffhunk://#diff-29b5f1de21f3b78582704e76fe491202134537fe1136fc5869f17e936f61b89dR1-R101),
[app/[locale]/(animations)/animate-page-content.tsxR1-R118](diffhunk://#diff-0f7d2b5a510dfc56d22049f8bd0241eb380d9af3f324322e89f3ad37c871078cR1-R118),
[app/[locale]/(animations)/animate-section.tsxR1-R38](diffhunk://#diff-bbac5636cc02739d7821ca40cf2228bd98ab97ae4c17ea60c682646dc9da0befR1-R38),
[app/[locale]/(animations)/animate-button-group.tsxR1-R144](diffhunk://#diff-08236e3f9e6f12ba4d1b37c1e14b47ab72cbe16220ebac30901c5326f9063a32R1-R144))

**Centralized animation configuration:**

* Introduced `animation-variants.ts` to define reusable animation
variants and viewport settings for scroll-triggered effects, ensuring
consistent behavior across all animated components.
([app/[locale]/(animations)/animation-variants.tsR1-R54](diffhunk://#diff-a1592c6dccd58b90189351e0438891d6e258fcb709e8068b75fbdeb40e082a83R1-R54))

**Integration of animated components into pages:**

* Updated imports and usage in `events.tsx` and `footer.tsx` to use the
new animated components instead of their static counterparts, resulting
in animated event grids and animated footer link columns.
([app/[locale]/events.tsxL19-R19](diffhunk://#diff-d8ba86c912049bdd5b256623a1355c1b45682b0855f0fb9d00963a5781250e39L19-R19),
[app/[locale]/events.tsxL141-R141](diffhunk://#diff-d8ba86c912049bdd5b256623a1355c1b45682b0855f0fb9d00963a5781250e39L141-R141),
[app/[locale]/footer.tsxR15-R21](diffhunk://#diff-61eaebe162b94a33902a9b854548f6d1995339ba17e568a6946ca400d1844292R15-R21),
[app/[locale]/footer.tsxL105-R133](diffhunk://#diff-61eaebe162b94a33902a9b854548f6d1995339ba17e568a6946ca400d1844292L105-R133))

**Styling and layout improvements:**

* Minor adjustments to layout and spacing in `events.tsx` for improved
visual consistency with the new animated components.
([app/[locale]/events.tsxL56-R56](diffhunk://#diff-d8ba86c912049bdd5b256623a1355c1b45682b0855f0fb9d00963a5781250e39L56-R56),
[app/[locale]/events.tsxL107-R107](diffhunk://#diff-d8ba86c912049bdd5b256623a1355c1b45682b0855f0fb9d00963a5781250e39L107-R107))

**Index and exports for new animation module:**

* Added an index file to export all new animated components and
animation variants for easy import throughout the app.
([app/[locale]/(animations)/index.tsR1-R12](diffhunk://#diff-1c924324bea72f4fbaaf39abfa1cfb7a86396006ca5f69ae90c9d301ac320dfbR1-R12))

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This pull request implements full support for storing, displaying, and
updating user profile images for faculty and staff. It introduces a new
`img` field to the `persons` table, updates the upload flow to save
image URLs in the database, and ensures that profile images are
consistently used across the application, including in search, profile,
and listing components. The Typesense search collections and population
scripts are also updated to include the new image field.

**Database and API changes:**

* Added an `img` (image URL) field to the `persons` table schema to
store profile image URLs.
* Implemented the `updatePersonProfileImage` server action to update a
person's profile image in the database and trigger revalidation.

**Profile image upload and display:**

* Updated the faculty photo upload component to accept and display the
current image, and to save the uploaded image URL to the database.
([app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxR12-R18](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72R12-R18),
[app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxR38-R55](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72R38-R55),
[app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxL63-R74](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72L63-R74),
[app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxR121-R139](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72R121-R139),
[app/[locale]/@modals/(.)profile/edit/page.tsxR72](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R72),
[app/[locale]/@modals/(.)profile/edit/page.tsxR83](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R83),
[app/[locale]/@modals/(.)profile/edit/page.tsxR117](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R117))
* Enhanced the `FacultyImage` component to prioritize the database image
URL, then fallback to legacy paths or a placeholder if needed.
([app/[locale]/faculty-and-staff/faculty-image.tsxR18-R19](diffhunk://#diff-f3054df127f38ef9044a3b238e2c892fffc15bbda73792eaedfe36286ea35c2fR18-R19),
[app/[locale]/faculty-and-staff/faculty-image.tsxR34-R45](diffhunk://#diff-f3054df127f38ef9044a3b238e2c892fffc15bbda73792eaedfe36286ea35c2fR34-R45),
[app/[locale]/faculty-and-staff/faculty-image.tsxR55-R59](diffhunk://#diff-f3054df127f38ef9044a3b238e2c892fffc15bbda73792eaedfe36286ea35c2fR55-R59))
* Updated the faculty/staff listing and detail components to use the new
`img` field for profile images.
([app/[locale]/faculty-and-staff/page.tsxL377-R381](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L377-R381),
[app/[locale]/faculty-and-staff/page.tsxR416](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6R416),
[app/[locale]/faculty-and-staff/utils.tsxR128](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR128),
[app/[locale]/faculty-and-staff/utils.tsxR247](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR247),
[app/[locale]/faculty-and-staff/utils.tsxR292](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR292))

**Search and header integration:**

* Modified search card rendering to use the `img` field for faculty and
staff images, with a fallback if not present.
([app/[locale]/search/cards.tsxL218-R218](diffhunk://#diff-a1bf1e6421b8f7db98af617d93ab8477ad1d28a03876f953a55897f0f2ed7eafL218-R218),
[app/[locale]/search/cards.tsxL296-R296](diffhunk://#diff-a1bf1e6421b8f7db98af617d93ab8477ad1d28a03876f953a55897f0f2ed7eafL296-R296))
* Updated the authenticated user section in the header to fetch and
display the user's profile image from the database.
([app/[locale]/header.tsxL389-R396](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777L389-R396),
[app/[locale]/header.tsxL417-R408](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777L417-R408),
[app/[locale]/header.tsxL428-R418](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777L428-R418))

**Typesense search collection updates:**

* Added the `img` field to the Typesense `faculty` and `staff` schemas
and population scripts, ensuring search results include profile images.
[[1]](diffhunk://#diff-c1462ef951f294dc2fba2c4f2e74aaa6eb664ac275887693e67be19ec4998be5R11)
[[2]](diffhunk://#diff-c1462ef951f294dc2fba2c4f2e74aaa6eb664ac275887693e67be19ec4998be5L22-R32)
[[3]](diffhunk://#diff-c1462ef951f294dc2fba2c4f2e74aaa6eb664ac275887693e67be19ec4998be5L48)
[[4]](diffhunk://#diff-3d8eb5594a0483b1e248b500882721ebdcb0e2b005c95f03b3cf7fbb5829d804R11)
[[5]](diffhunk://#diff-3d8eb5594a0483b1e248b500882721ebdcb0e2b005c95f03b3cf7fbb5829d804L21-R31)This
pull request implements support for storing, updating, and displaying
user profile images (specifically for faculty and staff) by introducing
an `img` field to the `persons` table and propagating its use throughout
the application. The changes ensure that profile images are fetched from
and saved to the database, fallback images are used when necessary, and
the new field is indexed in search schemas.

**Database and Backend Enhancements:**

- Added a new `img` field to the `persons` table schema to store the
profile image URL.
- Implemented the `updatePersonProfileImage` backend action to update
the profile image for the currently authenticated user.

**Profile Image Upload and Editing:**

- Updated the faculty photo upload component to accept and display the
current profile image, and to save the uploaded image URL to the
database.
([app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxR12-R18](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72R12-R18),
[app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxR38-R55](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72R38-R55),
[app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxL63-R74](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72L63-R74),
[app/[locale]/@modals/(.)profile/edit/faculty-photo-upload.tsxR121-R139](diffhunk://#diff-7866be717a5ec66dbf321ab271194ff475030422db1cdcfc38b03472f9189f72R121-R139))
- Modified the profile edit page to fetch and pass the `img` field to
the photo upload component.
([app/[locale]/@modals/(.)profile/edit/page.tsxR72](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R72),
[app/[locale]/@modals/(.)profile/edit/page.tsxR83](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R83),
[app/[locale]/@modals/(.)profile/edit/page.tsxR117](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R117))

**Frontend Usage and Display:**

- Updated the `FacultyImage` component and its consumers to prioritize
displaying the image from the database, falling back to legacy paths or
a default image as needed.
([app/[locale]/faculty-and-staff/faculty-image.tsxR18-R19](diffhunk://#diff-f3054df127f38ef9044a3b238e2c892fffc15bbda73792eaedfe36286ea35c2fR18-R19),
[app/[locale]/faculty-and-staff/faculty-image.tsxR34-R45](diffhunk://#diff-f3054df127f38ef9044a3b238e2c892fffc15bbda73792eaedfe36286ea35c2fR34-R45),
[app/[locale]/faculty-and-staff/faculty-image.tsxR55-R59](diffhunk://#diff-f3054df127f38ef9044a3b238e2c892fffc15bbda73792eaedfe36286ea35c2fR55-R59),
[app/[locale]/faculty-and-staff/page.tsxL377-R381](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L377-R381),
[app/[locale]/faculty-and-staff/page.tsxR416](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6R416),
[app/[locale]/faculty-and-staff/utils.tsxR128](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR128),
[app/[locale]/faculty-and-staff/utils.tsxR247](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR247),
[app/[locale]/faculty-and-staff/utils.tsxR292](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR292))
- Updated the authentication header and profile image rendering to use
the new `img` field, falling back to the previous image or a default if
not set.
([app/[locale]/header.tsxL389-R396](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777L389-R396),
[app/[locale]/header.tsxL417-R408](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777L417-R408),
[app/[locale]/header.tsxL428-R418](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777L428-R418))
- Modified faculty and staff search cards to use the new `img` field for
profile images.
([app/[locale]/search/cards.tsxL218-R218](diffhunk://#diff-a1bf1e6421b8f7db98af617d93ab8477ad1d28a03876f953a55897f0f2ed7eafL218-R218),
[app/[locale]/search/cards.tsxL296-R296](diffhunk://#diff-a1bf1e6421b8f7db98af617d93ab8477ad1d28a03876f953a55897f0f2ed7eafL296-R296))

**Search Indexing and Typesense Integration:**

- Added the `img` field to the Typesense search schemas and population
logic for both faculty and staff, ensuring profile images are indexed
and available in search results.
[[1]](diffhunk://#diff-c1462ef951f294dc2fba2c4f2e74aaa6eb664ac275887693e67be19ec4998be5R11)
[[2]](diffhunk://#diff-c1462ef951f294dc2fba2c4f2e74aaa6eb664ac275887693e67be19ec4998be5L22-R32)
[[3]](diffhunk://#diff-c1462ef951f294dc2fba2c4f2e74aaa6eb664ac275887693e67be19ec4998be5L48)
[[4]](diffhunk://#diff-3d8eb5594a0483b1e248b500882721ebdcb0e2b005c95f03b3cf7fbb5829d804R11)
[[5]](diffhunk://#diff-3d8eb5594a0483b1e248b500882721ebdcb0e2b005c95f03b3cf7fbb5829d804L21-R31)
Debatreya and others added 22 commits February 3, 2026 15:12
This pull request enhances the footer component by adding new external
resource links and improving how footer links are rendered. The changes
ensure that external links open in a new tab with proper security
attributes, and the footer now includes additional useful resources.

**Footer link rendering improvements:**

* Updated the `FooterLinkColumnProps` interface and related rendering
logic in `animate-footer.tsx` to support an optional `target` property,
allowing links to specify if they should open in a new tab. External
links (those with `target="_blank"` or starting with "http") are now
rendered as `<a>` tags with `rel="noopener noreferrer"` for security,
while internal links continue to use the `Link` component.
([app/[locale]/(animations)/animate-footer.tsxL103-R103](diffhunk://#diff-9d03213baa3ffa7524fc544cdaf0f14294dfc0c13c5f6c019d9806127519f0b7L103-R103),
[app/[locale]/(animations)/animate-footer.tsxR141-R157](diffhunk://#diff-9d03213baa3ffa7524fc544cdaf0f14294dfc0c13c5f6c019d9806127519f0b7R141-R157))

**New external resource links:**

* Added "Register as Alumni" (linking to an external Google Form) to the
institute links section, opening in a new tab.
([app/[locale]/footer.tsxR36-R41](diffhunk://#diff-61eaebe162b94a33902a9b854548f6d1995339ba17e568a6946ca400d1844292R36-R41))
* Added "NAD Digilocker" and "NIT KKR @ndl" as new external links in the
academic links section, both opening in new tabs.
([app/[locale]/footer.tsxR58-R69](diffhunk://#diff-61eaebe162b94a33902a9b854548f6d1995339ba17e568a6946ca400d1844292R58-R69))
* Added "Council of NITs" as an external link in the resource links
section, opening in a new tab.
([app/[locale]/footer.tsxR89-R94](diffhunk://#diff-61eaebe162b94a33902a9b854548f6d1995339ba17e568a6946ca400d1844292R89-R94))
Co-authored-by: Debatreya Das <116421305+Debatreya@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rahul5g3d-official <Rahul5g3d.official@gmail.com>
…ls is avaiable from current site is pushed.

Co-authored-by: Debatreya <debatreyadas@gmail.com>
Changed the Thought Lab page according to the new design...

Pending tasks:
1. Events Section
2. Students Secretaries Cards

---------

Co-authored-by: Debatreya Das <116421305+Debatreya@users.noreply.github.com>
This pull request adds support for the ORCID external profile link for
faculty members, improves the UI for editing faculty profiles by making
form content scrollable with fixed headers and footers, and enhances the
display of external profile links. The changes span schema updates,
backend logic, UI components, and translations.

### ORCID Support for Faculty Profiles

* Added `orcidId` field to the `faculty` database schema and included it
in all relevant queries and data structures.
([server/db/schema/faculty.schema.tsR46](diffhunk://#diff-8bcc32dd561b4fe62d5c0f87de70181d1d472510a7d4a937e24ee17dbbec9f9dR46),
[app/[locale]/@modals/(.)profile/edit/page.tsxR58](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R58),
[app/[locale]/faculty-and-staff/page.tsxR295](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6R295),
[app/[locale]/faculty-and-staff/utils.tsxR117](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR117))
* Updated the faculty personal details schema to validate ORCID URLs and
made the field optional.
* Included `orcidId` in backend logic for updating faculty profiles.
* Added `orcidId` to translation files for both English and Hindi.
[[1]](diffhunk://#diff-653df80672e4aa7b682c54c831c40f13419ccfdc848c1ec1be4269ddb20f1482R11)
[[2]](diffhunk://#diff-653df80672e4aa7b682c54c831c40f13419ccfdc848c1ec1be4269ddb20f1482R58)
[[3]](diffhunk://#diff-653df80672e4aa7b682c54c831c40f13419ccfdc848c1ec1be4269ddb20f1482R105)

### UI Improvements for Faculty Profile Editing

* Refactored the edit profile modal to use scrollable form content with
fixed header, photo upload section, and footer, improving usability on
larger screens.
([app/[locale]/@modals/(.)profile/edit/page.tsxL103-R118](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805L103-R118),
[app/[locale]/@modals/(.)profile/edit/client-utils.tsxL349-R365](diffhunk://#diff-7c2e4d7020e011706a88acc0afb6b98c2056a5adb5900f07977925b7e4ec1b03L349-R365),
[app/[locale]/@modals/(.)profile/edit/page.tsxR127](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805R127))
* Added `ScrollArea` component to relevant files for scrollable content.
([app/[locale]/@modals/(.)profile/edit/client-utils.tsxL16-R16](diffhunk://#diff-7c2e4d7020e011706a88acc0afb6b98c2056a5adb5900f07977925b7e4ec1b03L16-R16),
[app/[locale]/@modals/(.)profile/edit/page.tsxL5-R5](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805L5-R5))

### Display and Filtering of External Profile Links

* Enhanced logic for displaying external profile links to only show
links that are present and non-empty, including ORCID.
([app/[locale]/faculty-and-staff/page.tsxL407-R412](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6L407-R412),
[app/[locale]/faculty-and-staff/page.tsxR336](diffhunk://#diff-73d9b8e5183a03609e638663514db195677d4e964b2ba2898d7ad4aa250d81d6R336),
[app/[locale]/faculty-and-staff/utils.tsxR326-R396](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR326-R396))
* Improved layout and responsiveness of external profile links section,
dynamically adjusting based on the number of links.
([app/[locale]/faculty-and-staff/utils.tsxR326-R396](diffhunk://#diff-3e362b10e143377150343a08121115b31eeefe1081b2d3cdc3bb5551eaec6b4dR326-R396))

### Minor UI and Data Handling Fixes

* Updated button styling for primary variant to improve contrast and
accessibility.
* Handled potential `undefined` values for image and external profile
fields in faculty personal details.
([app/[locale]/@modals/(.)profile/edit/page.tsxL83-R86](diffhunk://#diff-e73212c94224fb2541821a5e5cdf5880f9ecace5d712ec5cd8dff6e590ded805L83-R86))

---

These changes collectively provide a more robust and user-friendly
experience for faculty profile management, with expanded support for
external academic profiles.
text alignment in p tag , if ylu find any page where it is not please
add comment .....
- Added NCC page under Student Activities according to figma
- Implemented route: /student-activities/ncc
commit ca0ddbbdd3df764fd52ff8bf876024d90ca28414
Author: Saksham1143me <150987031+Saksham1143me@users.noreply.github.com>
Date:   Tue Feb 10 01:14:25 2026 +0530

    feat: add NCC page and route /student-activities/ncc (#534)

    - Added NCC page under Student Activities according to figma
    - Implemented route: /student-activities/ncc

commit 2ebf915
Author: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
Date:   Tue Feb 10 00:47:23 2026 +0530

    fix: Fix to Image header and adding translations

commit 6717323
Merge: 78e1150 028d2f8
Author: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
Date:   Mon Feb 9 23:48:07 2026 +0530

    Merge branch 'staged' into fix/tnp

commit 78e1150
Author: Aryawart-kathpal <aryawart.kathpal2909@gmail.com>
Date:   Mon Feb 9 23:40:50 2026 +0530

    fix: Fixes to Student-card and Headings

commit 959492f
Author: Debatreya <debatreyadas@gmail.com>
Date:   Fri Feb 6 19:09:12 2026 +0530

    fix/tnp: Done chnages

commit 1df64d7
Merge: 6a8bef1 155204a
Author: Debatreya <debatreyadas@gmail.com>
Date:   Fri Feb 6 18:19:38 2026 +0530

    Merge branch 'fix/tnp' of github.com:nitkkr-dev/nitkkr into fix/tnp

commit 6a8bef1
Author: Debatreya <debatreyadas@gmail.com>
Date:   Fri Feb 6 18:04:46 2026 +0530

    feat: Student group

commit 728493f
Author: Debatreya <debatreyadas@gmail.com>
Date:   Fri Feb 6 14:17:44 2026 +0530

    Merge commit

commit 155204a
Author: nitya matta <nityamatta@gmail.com>
Date:   Thu Feb 5 22:19:42 2026 +0530

    changes in headings/tnp

commit 42e473a
Author: nitya matta <nityamatta@gmail.com>
Date:   Sun Feb 1 18:00:23 2026 +0530

    fix/tnp
- Changed curiculla schema and removed coordinator link from it
- Update curiculla/:id page as per the new schema
Copilot AI review requested due to automatic review settings February 15, 2026 12:56
@Soumil221
Copy link
Contributor Author

@Aryawart-kathpal @Debatreya this has my changes

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds a new Student Council page to the student activities section of the website. The page displays different categories of Student Council members (Institute Functionaries, Core Committee, Nominated Students, and Student Representatives) with their details fetched from the database.

Changes:

  • Added Student Council translations for English and Hindi
  • Created a new Student Council page component that fetches and displays member information organized by category
  • Integrated the translations into the i18n system

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
i18n/translations.ts Added StudentCouncilTranslations type and export, reorganized import order
i18n/translate/student-council.ts New translation file with English and Hindi translations for Student Council page
i18n/translate/index.ts Exported student-council translations
i18n/hi.ts Added Hindi Student Council translations to the main translations object
i18n/en.ts Added English Student Council translations to the main translations object
app/[locale]/student-activities/student-council/page.tsx New page component displaying Student Council members with database queries and multiple display sections

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -0,0 +1,288 @@
import NotificationsPanel from '~/components/notifications/notifications-panel';
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing revalidation configuration. Pages with database-backed server components in this directory typically set export const revalidate = 300; at the top to revalidate every 5 minutes. This page makes multiple database queries and should include this configuration for consistent caching behavior.

Copilot uses AI. Check for mistakes.
member.personId
);
const year = academicData?.batch
? 2026 - academicData.batch
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hardcoded year value 2026 will become outdated. The year calculation logic 2026 - academicData.batch should use the current year dynamically (e.g., new Date().getFullYear() - academicData.batch) to ensure the calculation remains accurate over time.

Suggested change
? 2026 - academicData.batch
? new Date().getFullYear() - academicData.batch

Copilot uses AI. Check for mistakes.
<>
<ImageHeader
title={text.StudentCouncil.title}
src="student-activities/thought-lab/welcome-bk-shivani.jpeg"
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The image source path appears incorrect for the Student Council page. The path "student-activities/thought-lab/welcome-bk-shivani.jpeg" references a Thought Lab image, but should reference an appropriate Student Council image instead.

Suggested change
src="student-activities/thought-lab/welcome-bk-shivani.jpeg"
src="student-activities/student-council/student-council-header.jpeg"

Copilot uses AI. Check for mistakes.
year: year ? ` ${year}` : '-',
};
})}
getCount={Promise.resolve([])}
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The getCount prop is passed as Promise.resolve([]) which always returns an empty array. This will likely cause pagination issues or incorrect behavior. Either pass the correct count query or omit the prop if pagination is not needed for this table.

Suggested change
getCount={Promise.resolve([])}

Copilot uses AI. Check for mistakes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Soumil221 check this

? ` ${member.person.telephone}`.trim()
: '-',
branch: branchWithDegree,
year: year ? ` ${year}` : '-',
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unnecessary space in template literal. The expression ${year} adds a leading space before the year value. This should be ${year} without the leading space, similar to how it's handled for other fields.

Suggested change
year: year ? ` ${year}` : '-',
year: year ? `${year}` : '-',

Copilot uses AI. Check for mistakes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Soumil221 check this

locale={locale}
category="student-activities"
showViewAll={true}
viewAllHref={`/${locale}/notifications?category=miscellaneous`}
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent notification category. The NotificationsPanel uses category="student-activities" but the viewAllHref redirects to "miscellaneous" category. These should match - both should use "student-activities" for consistency with other student activities pages like clubs.

Suggested change
viewAllHref={`/${locale}/notifications?category=miscellaneous`}
viewAllHref={`/${locale}/notifications?category=student-activities`}

Copilot uses AI. Check for mistakes.
Comment on lines +271 to +274
? ` ${member.person.telephone}`.trim()
: '-',
branch: branchWithDegree,
year: year ? ` ${year}` : '-',
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unnecessary space manipulation in string formatting. The expression ${member.person.telephone}.trim() adds a space before the telephone and then trims it, which is redundant. Either remove the leading space or remove the trim() call. Similarly on line 274 for the year field.

Suggested change
? ` ${member.person.telephone}`.trim()
: '-',
branch: branchWithDegree,
year: year ? ` ${year}` : '-',
? `${member.person.telephone}`.trim()
: '-',
branch: branchWithDegree,
year: year ? `${year}` : '-',

Copilot uses AI. Check for mistakes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Soumil221 check this

instituteFunctionaries: 'Institute Functionaries',
coreCommittee: 'Core Committee',
nominatedStudents: 'Nominated Students',
studentsRepresentatives: `Student's Representatives`,
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent possessive form. The text uses "Student's Representatives" (singular possessive) but should likely be "Students' Representatives" (plural possessive) to match the context of representing multiple students. Alternatively, could be "Student Representatives" (no possessive) which is more common in institutional contexts.

Suggested change
studentsRepresentatives: `Student's Representatives`,
studentsRepresentatives: `Student Representatives`,

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.