Further updates on 29-10-25

This commit is contained in:
2025-10-29 08:52:43 +05:30
parent 8fa16ca657
commit e8eb539932
15 changed files with 509 additions and 573 deletions

918
package-lock.json generated

File diff suppressed because it is too large Load Diff

12
public/images/cmclogo.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 352 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

View File

@ -1,9 +1,9 @@
import Header from "../../../components/Layouts/Header"; // Adjust path based on your project structure import Header from "../../../components/Layouts/Header"; // Adjust path based on your project structure
import { Footer } from "../../../components/Layouts/Footer" import { Footer } from "../../../components/Layouts/Footer"
import BlogDetail from "../../../components/blogs/BlogDetail"; import BlogDetail from "../../../components/publications/BlogDetail";
export default function contact() { export default function publicationsdetails() {
return ( return (
<> <>
<Header /> <Header />

View File

@ -1,9 +1,9 @@
import Header from "../../components/Layouts/Header"; // Adjust path based on your project structure import Header from "../../components/Layouts/Header"; // Adjust path based on your project structure
import { Footer } from "../../components/Layouts/Footer" import { Footer } from "../../components/Layouts/Footer"
import BlogListing from '../../components/blogs/BlogListing'; import BlogListing from '../../components/publications/BlogListing';
export default function contact() { export default function publications() {
return ( return (
<> <>
<Header /> <Header />

View File

@ -11,6 +11,18 @@ const Header = () => {
setIsMenuOpen(false); setIsMenuOpen(false);
}; };
const menuItems = [
{ href: "/", label: "Home" },
{ href: "/about", label: "About" },
{ href: "/teamMember", label: "Faculty Team" },
{ href: "/education-training", label: "Academics" },
{ href: "/research", label: "Research" },
{ href: "/events", label: "Events" },
{ href: "/publications", label: "Publications" },
{ href: "/career", label: "Career" },
{ href: "/contact", label: "Contact Us" },
];
return ( return (
<header className="sticky bg-white top-0 z-50 shadow-sm"> <header className="sticky bg-white top-0 z-50 shadow-sm">
<div className="container max-w-none mx-auto px-4 sm:px-6"> <div className="container max-w-none mx-auto px-4 sm:px-6">
@ -20,7 +32,7 @@ const Header = () => {
<Link href="/" onClick={closeAllMenus} className="flex items-center"> <Link href="/" onClick={closeAllMenus} className="flex items-center">
<div className="relative w-60 sm:w-80 h-14 sm:h-18 mr-3 rounded overflow-hidden"> <div className="relative w-60 sm:w-80 h-14 sm:h-18 mr-3 rounded overflow-hidden">
<Image <Image
src="/images/cmctraumalogo.png" src="/images/cmclogo1.svg"
alt="CMC Logo" alt="CMC Logo"
fill fill
className="object-fill" className="object-fill"
@ -32,22 +44,14 @@ const Header = () => {
{/* Desktop Navigation */} {/* Desktop Navigation */}
<nav className="hidden lg:flex items-start space-x-8"> <nav className="hidden lg:flex items-start space-x-8">
{["/", "/about", "/events", "/education-training", "/research", "/blogs", "/teamMember", "/career", "/contact"].map((href, idx) => ( {menuItems.map((item, idx) => (
<Link <Link
key={idx} key={idx}
href={href} href={item.href}
className="text-blue-900 hover:text-red-600 transition-colors font-medium" className="text-blue-900 hover:text-red-600 transition-colors font-medium"
onClick={closeAllMenus} onClick={closeAllMenus}
> >
{href === "/" ? "Home" : {item.label}
href === "/about" ? "About" :
href === "/events" ? "Events" :
href === "/education-training" ? "Education" :
href === "/research" ? "Research" :
href === "/blogs" ? "Blogs" :
href === "/teamMember" ? "Team Member" :
href === "/career" ? "Career" :
href === "/contact" ? "Contact Us" : ""}
</Link> </Link>
))} ))}
</nav> </nav>
@ -107,20 +111,14 @@ const Header = () => {
<div className="lg:hidden bg-gray-100 border-t border-blue-900"> <div className="lg:hidden bg-gray-100 border-t border-blue-900">
<nav className="px-4 py-4"> <nav className="px-4 py-4">
<ul className="space-y-4"> <ul className="space-y-4">
{["/", "/about", "/events", "/blogs", "/career", "/contact", "/teamMember"].map((href, idx) => ( {menuItems.map((item, idx) => (
<li key={idx}> <li key={idx}>
<Link <Link
href={href} href={item.href}
className="block font-medium py-2 text-blue-900 hover:text-red-600 transition-colors" className="block font-medium py-2 text-blue-900 hover:text-red-600 transition-colors"
onClick={closeAllMenus} onClick={closeAllMenus}
> >
{href === "/" ? "Home" : {item.label}
href === "/about" ? "About" :
href === "/events" ? "Events" :
href === "/blogs" ? "Blogs" :
href === "/career" ? "Career" :
href === "/contact" ? "Contact" :
href === "/teamMember" ? "Team Member" : ""}
</Link> </Link>
</li> </li>
))} ))}

View File

@ -1,27 +1,27 @@
import React from 'react'; import React from 'react';
import { Leaf, Car, Activity, Globe } from 'lucide-react'; import { Users, Ambulance, Hospital, HeartPulse } from 'lucide-react';
const Services = () => { const Services = () => {
const services = [ const services = [
{ {
icon: <Leaf className="w-6 h-6" />, icon: <Users className="w-6 h-6" />,
title: "Multi-system Polytrauma", title: "Injury Prevention Outreach Activity",
description: "Comprehensive care for patients with multiple severe injuries requiring urgent intervention." description: "Community-based programs including first responder training for laypersons, schools and workplace groups. Education in helmet use, bleeding control, safe transport practices and initial life-saving care."
}, },
{ {
icon: <Car className="w-6 h-6" />, icon: <Ambulance className="w-6 h-6" />,
title: "Road Traffic Injuries", title: "Pre-Hospital Care",
description: "Expert trauma management for accidents involving motorbikes, cars, and other vehicles." description: "24x7 ambulance service for trauma calls and transfers (Contact: +91 97919 79797). Early triage, stabilization and rapid transport to definitive care."
}, },
{ {
icon: <Activity className="w-6 h-6" />, icon: <Hospital className="w-6 h-6" />,
title: "Falls & Accidents", title: "Clinical Services - In-Hospital Care",
description: "Specialized treatment for injuries from falls, industrial incidents, and agricultural accidents." description: "Level-1 trauma centre with dedicated trauma wards, ICU units, six trauma OTs, resuscitation bay, 24×7 consultant-led teams and on-call interventional radiology for polytrauma, road-traffic injuries, falls and complex cases."
}, },
{ {
icon: <Globe className="w-6 h-6" />, icon: <HeartPulse className="w-6 h-6" />,
title: "Referrals", title: "Post-Trauma Rehabilitation",
description: "Providing trauma care support for referrals from Tamil Nadu, Andhra Pradesh, Karnataka, and overseas." description: "Structured recovery programs through PMR Department including physiotherapy, occupational therapy, prosthetic support and return-to-work planning."
} }
]; ];

View File

@ -357,17 +357,17 @@ const EventDetail = () => {
{/* Image Section */} {/* Image Section */}
<div className="bg-white shadow-lg rounded-md overflow-hidden mb-6" style={{ borderColor: '#012068' }}> <div className="bg-white shadow-lg rounded-md overflow-hidden mb-6" style={{ borderColor: '#012068' }}>
<div className="relative"> <div className="relative">
<div className="grid grid-cols-1 md:grid-cols-3 gap-1 h-64 md:h-80"> <div className="grid grid-cols-1 md:grid-cols-3 gap-1">
<div className="md:col-span-2 relative overflow-hidden"> <div className="md:col-span-2 relative overflow-hidden">
<img <img
src={mainImage} src={mainImage}
alt={eventData.title} alt={eventData.title}
className="w-full h-full object-cover hover:scale-105 transition-transform duration-300" className="w-full h-auto hover:scale-105 transition-transform duration-300"
/> />
</div> </div>
<div className="hidden md:block space-y-1"> <div className="hidden md:flex md:flex-col gap-1">
{galleryImages.map((image, index) => ( {galleryImages.map((image, index) => (
<div key={index} className="h-1/2 relative overflow-hidden"> <div key={index} className="relative overflow-hidden flex-1">
<img <img
src={image} src={image}
alt={`Gallery ${index + 1}`} alt={`Gallery ${index + 1}`}

View File

@ -129,7 +129,7 @@ const TeamListing: React.FC<TeamListingProps> = ({
<h3 className="text-lg font-medium mb-2 group-hover:opacity-70 transition-opacity" style={{ color: '#012068' }}> <h3 className="text-lg font-medium mb-2 group-hover:opacity-70 transition-opacity" style={{ color: '#012068' }}>
{member.name} {member.name}
</h3> </h3>
<p className="text-sm leading-relaxed" style={{ color: '#333' }}> <p className="text-sm leading-relaxed" style={{ color: '#e64838' }}>
{member.position} {member.position}
</p> </p>
{member.department && ( {member.department && (
@ -138,7 +138,7 @@ const TeamListing: React.FC<TeamListingProps> = ({
</p> </p>
)} )}
{member.specialty && ( {member.specialty && (
<p className="text-xs mt-1 font-medium" style={{ color: '#e64838' }}> <p className="text-xs mt-1 font-medium" style={{ color: '#333' }}>
{member.specialty} {member.specialty}
</p> </p>
)} )}

View File

@ -31,12 +31,18 @@ const HeroSection = () => {
</h1> </h1>
{/* CTA Button */} {/* CTA Button */}
<button <a
className="bg-red-600 hover:bg-red-700 text-white px-6 py-3 sm:px-8 sm:py-4 md:px-10 md:py-4 text-sm sm:text-base md:text-lg font-semibold rounded-lg transition-all duration-300 shadow-lg hover:shadow-xl hover:-translate-y-0.5 focus:outline-none focus:ring-4 focus:ring-red-300" href="https://www.cmch-vellore.edu/"
style={{ backgroundColor: '#e64838' }} target="_blank"
rel="noopener noreferrer"
> >
Discover <button
</button> className="bg-red-600 hover:bg-red-700 text-white px-6 py-3 sm:px-8 sm:py-4 md:px-10 md:py-4 text-sm sm:text-base md:text-lg font-semibold rounded-lg transition-all duration-300 shadow-lg hover:shadow-xl hover:-translate-y-0.5 focus:outline-none focus:ring-4 focus:ring-red-300"
style={{ backgroundColor: '#e64838' }}
>
Discover
</button>
</a>
</div> </div>
</div> </div>
</div> </div>

View File

@ -360,7 +360,7 @@ const BlogDetail: React.FC = () => {
key={post.id} key={post.id}
className="group bg-white rounded-lg overflow-hidden border border-gray-300 hover:shadow-lg transition-all duration-300" className="group bg-white rounded-lg overflow-hidden border border-gray-300 hover:shadow-lg transition-all duration-300"
> >
<Link href={`/blog-detail/${post.id}`} className="block"> <Link href={`/publications-detail/${post.id}`} className="block">
<div className="relative h-40 overflow-hidden"> <div className="relative h-40 overflow-hidden">
<Image <Image
src={post.image} src={post.image}

View File

@ -268,7 +268,7 @@ const BlogListing: React.FC = () => {
> >
{/* All cards redirect to blog detail page with ID */} {/* All cards redirect to blog detail page with ID */}
<Link <Link
href={`/blog-detail/${blog.id}`} href={`/publications-detail/${blog.id}`}
className="absolute top-0 left-0 h-full w-full z-10" className="absolute top-0 left-0 h-full w-full z-10"
aria-label={`Read article: ${blog.title}`} aria-label={`Read article: ${blog.title}`}
/> />

View File

@ -183,23 +183,23 @@ export class FacultyService {
name: skill.name, name: skill.name,
level: skill.level level: skill.level
})) || [ })) || [
{ name: 'Clinical Practice', level: 90 }, { name: 'Clinical Practice', level: 90 },
{ name: 'Research', level: 85 }, { name: 'Research', level: 85 },
{ name: 'Teaching', level: 88 } { name: 'Teaching', level: 88 }
], ],
awards: prof.awards?.map((award: any) => ({ awards: prof.awards?.map((award: any) => ({
title: award.title, title: award.title,
year: award.year, year: award.year,
description: award.description, description: award.description,
image: award.imageUrl || '/images/award-icon.png' image: award.imageUrl || '/images/award-icon.png'
})) || [ })) || [
{ {
title: 'Excellence in Medical Practice', title: 'Excellence in Medical Practice',
year: new Date().getFullYear().toString(), year: new Date().getFullYear().toString(),
description: 'Recognized for outstanding contribution to medical practice and patient care.', description: 'Recognized for outstanding contribution to medical practice and patient care.',
image: '/images/award-icon.png' image: '/images/award-icon.png'
} }
], ],
status: prof.status, status: prof.status,
department: prof.department, department: prof.department,
officeLocation: prof.officeLocation, officeLocation: prof.officeLocation,