Skip to content

Fix/administration mobile UI#474

Open
Saksham1143me wants to merge 86 commits intonitkkr-dev:stagedfrom
Saksham1143me:fix/administration-mobile-ui
Open

Fix/administration mobile UI#474
Saksham1143me wants to merge 86 commits intonitkkr-dev:stagedfrom
Saksham1143me:fix/administration-mobile-ui

Conversation

@Saksham1143me
Copy link
Collaborator

Made font sizes consistent on mobile, aligned with the /director page.

Improved text readability inside buttons and content sections, similar to /institute where fonts are clearer on mobile.

Updated the Deans section layout to better match the Figma design:
Adjusted font sizes
Fixed mobile responsiveness and spacing

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: 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>
Debatreya and others added 27 commits February 3, 2026 05:24
This pull request primarily adds new translation files for Academics and
Administration sections, supporting both English and Hindi languages.
Additionally, it includes minor CSS class reordering for better code
consistency in UI components.

**Internationalization:**

* Added `i18n/translate/academics.ts` with English and Hindi
translations for various academic terms and details, structured via the
`AcademicsTranslations` interface.
* Added `i18n/translate/administration.ts` with English and Hindi
translations for administration-related terms and descriptions, using
the `AdministrationTranslations` interface.

**UI Consistency Improvements:**

* Reordered CSS classes in the `DialogContent` component within
`event-section.tsx` for improved readability and maintainability.
([app/[locale]/student-activities/clubs/[display_name]/event-section.tsxL59-R59](diffhunk://#diff-fe0a45bba40a113ff0cfe178c0a454d4980293098763ae248037759f44e58de0L59-R59))
* Reordered CSS classes in `CarouselPrevious` and `CarouselNext`
components within `gallery.tsx` for consistent styling.
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>
…ever details 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 (nitkkr-dev#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
Co-authored-by: Navneet Kaur <navneet78141@gmail.com>
…same as notifications with just 'admissions' pre-selected

This pull request introduces a new Admissions page with filtering and
search functionality, integrates admission translations for both English
and Hindi, and updates the navigation and notification loading logic to
support degree-level filtering. The changes are organized into three
main themes: Admissions page implementation, localization, and filtering
enhancements.

Admissions page implementation:

* Added a new `app/[locale]/academics/admission/page.tsx` file that
implements the Admissions page, including filters for department, degree
level, date range, and search, as well as infinite scrolling for
admissions notifications.
([app/[locale]/academics/admission/page.tsxR1-R327](diffhunk://#diff-b2a93cdde4e3f53c306980a6b6ffff8a4f6aaee250869921f169571eed668a8fR1-R327))
* Updated the main navigation in `app/[locale]/header.tsx` to include a
link to the new Admissions page.
([app/[locale]/header.tsxR101-R107](diffhunk://#diff-05aeabaff5d1ec0d925bc6519f8dcf6cdc4f94efcf74117ecca3fbbd77eb7777R101-R107))

Localization:

* Introduced modular admission translation files for English and Hindi
in `i18n/translate/admission.ts`, and integrated them into the
translation system (`i18n/en.ts`, `i18n/hi.ts`, `i18n/translations.ts`,
`i18n/translate/index.ts`).
[[1]](diffhunk://#diff-405979fcd81bbfd0f0aa3a28f85b089d6e67fcc5b35ec98493d76fa2c315f983R1-R79)
[[2]](diffhunk://#diff-8ee4c65eaaf735c33bd37bf76d2a87fb76d02b7928096cc26db6364694988ceeR4)
[[3]](diffhunk://#diff-8ee4c65eaaf735c33bd37bf76d2a87fb76d02b7928096cc26db6364694988ceeR56)
[[4]](diffhunk://#diff-912c4f60653cc2c8d00fda0b21a7a65ab1c3e1c3f65007e1f211f40c951596b8R4)
[[5]](diffhunk://#diff-912c4f60653cc2c8d00fda0b21a7a65ab1c3e1c3f65007e1f211f40c951596b8R56)
[[6]](diffhunk://#diff-f021560af3d5a0f14642131f53f3141ab31d57c62b232272a5a097673e427d49R4)
[[7]](diffhunk://#diff-f021560af3d5a0f14642131f53f3141ab31d57c62b232272a5a097673e427d49R64)
[[8]](diffhunk://#diff-f021560af3d5a0f14642131f53f3141ab31d57c62b232272a5a097673e427d49R117)
[[9]](diffhunk://#diff-80d9d3eb70115dcba5007d8d1dd42dc47785c965d56e566d102076ed38a47f9eR2)

Filtering enhancements:

* Extended the `MobileFilters` component to support degree-level
filtering, including new props and UI for degree level selection.
[[1]](diffhunk://#diff-2ae8611b0920a50c642a863d38c03527de3cc1f58f3e1f2d076ea4f9c7a97f67R13-R23)
[[2]](diffhunk://#diff-2ae8611b0920a50c642a863d38c03527de3cc1f58f3e1f2d076ea4f9c7a97f67R45-R52)
[[3]](diffhunk://#diff-2ae8611b0920a50c642a863d38c03527de3cc1f58f3e1f2d076ea4f9c7a97f67R63-R64)
[[4]](diffhunk://#diff-2ae8611b0920a50c642a863d38c03527de3cc1f58f3e1f2d076ea4f9c7a97f67R88)
[[5]](diffhunk://#diff-2ae8611b0920a50c642a863d38c03527de3cc1f58f3e1f2d076ea4f9c7a97f67R133)
[[6]](diffhunk://#diff-2ae8611b0920a50c642a863d38c03527de3cc1f58f3e1f2d076ea4f9c7a97f67R269-R283)
* Updated notification loading logic in
`server/actions/notifications.ts` to accept and filter by
`educationType` (degree level).
[[1]](diffhunk://#diff-32e0e443dae8f8df98965cc49786e20e7ec14e2b88dcdfb00e762e88c0368a62R53)
[[2]](diffhunk://#diff-32e0e443dae8f8df98965cc49786e20e7ec14e2b88dcdfb00e762e88c0368a62R68)
[[3]](diffhunk://#diff-32e0e443dae8f8df98965cc49786e20e7ec14e2b88dcdfb00e762e88c0368a62R80-R83)

---------

Co-authored-by: Jayant-Gautam <jayant10449@gmail.com>
…ike admissions, events and notifications are unified (nitkkr-dev#552)

This pull request refactors shared UI and helper logic for filtering
pages (`notifications`, `events`, and `admission`) to improve code reuse
and maintainability. The main changes include extracting the
`FilterSection` component and common helper functions into dedicated
files, and updating the relevant pages to use these shared utilities.

Component and helper extraction:

* Extracted the `FilterSection` component into a new file
`components/filter-section.tsx`, consolidating its logic and props
(including optional `viewAllHref`) for reuse across pages.
* Moved the shared helper functions `toArray`, `parseDate`, and
`buildHref` into a new file `lib/helpers.ts`, centralizing
filtering-related utilities.

Page updates to use shared utilities:

* Updated `notifications`, `events`, and `admission` pages to import and
use the new `FilterSection` component and helper functions from their
respective shared files, removing their local definitions.
([app/[locale]/notifications/page.tsxR9](diffhunk://#diff-2d605512a6539dbb88b2c64d00f4c93d75fa44324e807593cd0145d7a2c34288R9),
[app/[locale]/notifications/page.tsxR26](diffhunk://#diff-2d605512a6539dbb88b2c64d00f4c93d75fa44324e807593cd0145d7a2c34288R26),
[app/[locale]/notifications/page.tsxL288-L348](diffhunk://#diff-2d605512a6539dbb88b2c64d00f4c93d75fa44324e807593cd0145d7a2c34288L288-L348),
[app/[locale]/events/page.tsxR12](diffhunk://#diff-fc847d583896d0da92ca8ec83d58994ad1f37e0ee177402a8d082a175c813e65R12),
[app/[locale]/events/page.tsxR23](diffhunk://#diff-fc847d583896d0da92ca8ec83d58994ad1f37e0ee177402a8d082a175c813e65R23),
[app/[locale]/events/page.tsxL263-L312](diffhunk://#diff-fc847d583896d0da92ca8ec83d58994ad1f37e0ee177402a8d082a175c813e65L263-L312),
[app/[locale]/academics/admission/page.tsxR8](diffhunk://#diff-b2a93cdde4e3f53c306980a6b6ffff8a4f6aaee250869921f169571eed668a8fR8),
[app/[locale]/academics/admission/page.tsxR20](diffhunk://#diff-b2a93cdde4e3f53c306980a6b6ffff8a4f6aaee250869921f169571eed668a8fR20),
[app/[locale]/academics/admission/page.tsxL277-L327](diffhunk://#diff-b2a93cdde4e3f53c306980a6b6ffff8a4f6aaee250869921f169571eed668a8fL277-L327))…ike
admissions, events and notifications are unified
This pull request introduces major improvements to the notification
creation and editing experience by adding a rich text editor with
support for image and video uploads. It also updates the layout of
notification modals and pages for a better user experience. The most
important changes are grouped below.

### Rich Content Editor Integration

* Introduced a `RichTextEditor` component for notifications, allowing
users to add rich content, including formatted text and media. The
editor is now included in the `NotificationForm`, and rich content is
handled alongside plain text content.
(`app/[locale]/notifications/NotificationForm.tsx`,
`components/editor/index.ts`,
`app/[locale]/@modals/(.)notifications/add/page.tsx`,
`app/[locale]/@modals/(.)notifications/edit/[id]/page.tsx`,
`app/[locale]/notifications/add/page.tsx`,
`app/[locale]/notifications/edit/[id]/page.tsx`)
([app/[locale]/notifications/NotificationForm.tsxR60-R62](diffhunk://#diff-c940317b11d909c14bca1fe605975dbd148bb037febf01178262b735d6686e85R60-R62),
[app/[locale]/notifications/NotificationForm.tsxR144-R153](diffhunk://#diff-c940317b11d909c14bca1fe605975dbd148bb037febf01178262b735d6686e85R144-R153),
[app/[locale]/notifications/NotificationForm.tsxL231-R260](diffhunk://#diff-c940317b11d909c14bca1fe605975dbd148bb037febf01178262b735d6686e85L231-R260),
[components/editor/index.tsR1-R2](diffhunk://#diff-031ac8127d3122525019eeaaea8f6b55616c73b825c1d5b00c1b191b35fe1476R1-R2),
[app/[locale]/@modals/(.)notifications/add/page.tsxL24-R32](diffhunk://#diff-87c70c87f8bc082341a7a318433c77c6f9b15eefe8eae0d3bda5e21e3d38dd3dL24-R32),
[app/[locale]/@modals/(.)notifications/edit/[id]/page.tsxL36-R51](diffhunk://#diff-8a19de32099c182d7458fa9bac7df84c65fd5eab53f8dfb2ba3c9f122fdcbc04L36-R51),
[app/[locale]/notifications/add/page.tsxL27-R27](diffhunk://#diff-f3ca8b1b3454e18173acad18d050c426ff014801f4621b24425adc5853ec8e1dL27-R27),
[app/[locale]/notifications/edit/[id]/page.tsxL39-R39](diffhunk://#diff-46f0f24d73a5a7eaa9bd8f591698c08374f4a840f0b6145058c5dad821bcfbf4L39-R39),
[app/[locale]/notifications/edit/[id]/page.tsxR52](diffhunk://#diff-46f0f24d73a5a7eaa9bd8f591698c08374f4a840f0b6145058c5dad821bcfbf4R52))

* Added support for storing and editing `richContent` in notifications,
ensuring it is properly passed and serialized between components and
server actions. (`app/[locale]/notifications/NotificationForm.tsx`,
`app/[locale]/@modals/(.)notifications/edit/[id]/page.tsx`,
`app/[locale]/notifications/edit/[id]/page.tsx`)
([app/[locale]/notifications/NotificationForm.tsxR30](diffhunk://#diff-c940317b11d909c14bca1fe605975dbd148bb037febf01178262b735d6686e85R30),
[app/[locale]/@modals/(.)notifications/edit/[id]/page.tsxL36-R51](diffhunk://#diff-8a19de32099c182d7458fa9bac7df84c65fd5eab53f8dfb2ba3c9f122fdcbc04L36-R51),
[app/[locale]/notifications/edit/[id]/page.tsxR52](diffhunk://#diff-46f0f24d73a5a7eaa9bd8f591698c08374f4a840f0b6145058c5dad821bcfbf4R52))

### Media Upload Extensions for Editor

* Implemented a custom TipTap image extension (`CustomImage`) that
enables users to paste or drag-and-drop images into the editor. Images
are automatically uploaded to S3, with upload progress and error
handling reflected in the editor.
(`components/editor/extensions/custom-image.ts`)

* Added a custom TipTap video extension (`CustomVideo`) to allow
embedding videos in notifications, including support for S3-hosted
sources. (`components/editor/extensions/custom-video.ts`)

* Exported the new editor extensions for use in the rich text editor.
(`components/editor/extensions/index.ts`)

### UI and Layout Enhancements

* Updated notification modal dialogs and cards to use full viewport
height and width, improved scrolling, and adjusted layouts for a more
modern and consistent appearance.
(`app/[locale]/@modals/(.)notifications/add/page.tsx`,
`app/[locale]/@modals/(.)notifications/edit/[id]/page.tsx`)
([app/[locale]/@modals/(.)notifications/add/page.tsxL24-R32](diffhunk://#diff-87c70c87f8bc082341a7a318433c77c6f9b15eefe8eae0d3bda5e21e3d38dd3dL24-R32),
[app/[locale]/@modals/(.)notifications/edit/[id]/page.tsxL36-R51](diffhunk://#diff-8a19de32099c182d7458fa9bac7df84c65fd5eab53f8dfb2ba3c9f122fdcbc04L36-R51),
[app/[locale]/@modals/(.)notifications/add/page.tsxL4-R4](diffhunk://#diff-87c70c87f8bc082341a7a318433c77c6f9b15eefe8eae0d3bda5e21e3d38dd3dL4-R4),
[app/[locale]/@modals/(.)notifications/edit/[id]/page.tsxL4-R4](diffhunk://#diff-8a19de32099c182d7458fa9bac7df84c65fd5eab53f8dfb2ba3c9f122fdcbc04L4-R4),
[app/[locale]/@modals/(.)notifications/add/page.tsxR48](diffhunk://#diff-87c70c87f8bc082341a7a318433c77c6f9b15eefe8eae0d3bda5e21e3d38dd3dR48),
[app/[locale]/@modals/(.)notifications/edit/[id]/page.tsxR69](diffhunk://#diff-8a19de32099c182d7458fa9bac7df84c65fd5eab53f8dfb2ba3c9f122fdcbc04R69))

* Increased the maximum width of notification cards on add/edit pages
for better content display. (`app/[locale]/notifications/add/page.tsx`,
`app/[locale]/notifications/edit/[id]/page.tsx`)
([app/[locale]/notifications/add/page.tsxL27-R27](diffhunk://#diff-f3ca8b1b3454e18173acad18d050c426ff014801f4621b24425adc5853ec8e1dL27-R27),
[app/[locale]/notifications/edit/[id]/page.tsxL39-R39](diffhunk://#diff-46f0f24d73a5a7eaa9bd8f591698c08374f4a840f0b6145058c5dad821bcfbf4L39-R39))

These changes collectively modernize the notification system, making it
much more flexible and user-friendly for creating rich, media-enhanced
notifications.
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.