diff --git a/image.png b/image.png
new file mode 100644
index 0000000..52cc677
Binary files /dev/null and b/image.png differ
diff --git a/public/video/RIT Video.webm b/public/video/RIT Video.webm
deleted file mode 100644
index 7a05640..0000000
Binary files a/public/video/RIT Video.webm and /dev/null differ
diff --git a/src/pages/AIAssistant/AIAssistant.tsx b/src/pages/AIAssistant/AIAssistant.tsx
index 5a4ca81..9cedd55 100644
--- a/src/pages/AIAssistant/AIAssistant.tsx
+++ b/src/pages/AIAssistant/AIAssistant.tsx
@@ -1,6 +1,6 @@
import { useState, useRef, useEffect } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
-import { Bot, Send, Sparkles, RefreshCw, Mic, X, ChevronRight } from 'lucide-react';
+import { Bot, Send, Sparkles, RefreshCw, X, ChevronRight, MessageSquare, ShieldCheck, Zap } from 'lucide-react';
import { AI_SUGGESTED_PROMPTS } from '@/constants';
import type { ChatMessage } from '@/types';
import { getChatbotUrl } from '@/lib/utils';
@@ -9,7 +9,7 @@ const INITIAL_MESSAGES: ChatMessage[] = [
{
id: '1',
role: 'assistant',
- content: "👋 Hi there! I'm your **RIT Chatbot**. I have comprehensive knowledge about Rajalakshmi Institute of Technology — from admission procedures to campus facilities.\n\nHow can I help you today?",
+ content: "👋 Hi there! I'm your **RIT Assistant**. I have comprehensive knowledge about Rajalakshmi Institute of Technology — from admissions to campus facilities, bus routes, and academic details.\n\nHow can I help you today?",
timestamp: new Date().toISOString(),
},
];
@@ -42,7 +42,8 @@ export default function AIAssistant() {
};
setMessages((prev) => [...prev, userMsg]);
setInput('');
- setIsTyping(true); // Call the Go chatbot microservice
+ setIsTyping(true);
+
let responseText = '';
try {
const res = await fetch(getChatbotUrl('/api/chat'), {
@@ -73,7 +74,7 @@ export default function AIAssistant() {
} else if (lower.includes('library')) {
responseText = responses.library;
} else {
- responseText = `Thank you for your question about **"${text}"**!\n\nI couldn't reach the chatbot API server. Please make sure the Go service is running on ${getChatbotUrl()}.`;
+ responseText = `Thank you for your question about **"${text}"**!\n\nI couldn't reach the chatbot API server. Please make sure the Go service is running.`;
}
}
@@ -100,103 +101,103 @@ export default function AIAssistant() {
};
return (
-
+
{/* Header */}
-
+
-
-
+
+
-
RIT Chatbot
-
-
- Campus Knowledge Enabled
+
RIT Assistant
+
+
+ Campus Knowledge Engine Online
-
- {/* Features strip */}
+ {/* Sleek Badge Strip */}
{[
- { icon: Sparkles, label: 'Gemini AI' },
- { icon: Bot, label: 'RAG Enabled' },
- { icon: ChevronRight, label: 'Campus Knowledge' },
+ { icon: Zap, label: 'Instant Responses' },
+ { icon: ShieldCheck, label: 'Verified Campus Info' },
+ { icon: MessageSquare, label: '24/7 Assistance' },
].map((item, i) => (
-
+
{item.label}
))}
- {/* Messages */}
+ {/* Chat Container */}
{messages.map((msg) => (
{msg.role === 'assistant' && (
-
+
)}
))}
- {/* Typing */}
+ {/* Typing Indicator */}
{isTyping && (
-
+
-
+
{[0, 1, 2].map((i) => (
))}
@@ -240,10 +241,10 @@ export default function AIAssistant() {
{AI_SUGGESTED_PROMPTS.slice(0, 4).map((prompt, i) => (
sendMessage(prompt)}
- className="px-3.5 py-2 rounded-xl border border-[#E5E7EB] text-xs text-[#475569] bg-white transition-all hover:border-[#F97316] hover:text-[#F97316]"
+ className="px-3.5 py-2 rounded-xl border border-[#E5E7EB] text-xs text-[#475569] bg-white transition-all hover:text-[#F97316] shadow-2xs font-medium"
style={{ fontFamily: 'Inter, sans-serif' }}
>
{prompt}
@@ -251,16 +252,16 @@ export default function AIAssistant() {
))}
- {/* Input */}
-
+ {/* Input Field */}
+
setInput(e.target.value)}
onKeyDown={handleKeyDown}
- placeholder="Ask anything about RIT..."
- className="flex-1 text-sm text-[#1E293B] placeholder-[#94A3B8] focus:outline-none bg-transparent"
+ placeholder="Ask anything about RIT campus, routes, hostel, or exams..."
+ className="flex-1 text-sm text-[#1E293B] placeholder-[#94A3B8] focus:outline-none bg-transparent pl-2"
style={{ fontFamily: 'Inter, sans-serif' }}
/>
{input && (
@@ -274,22 +275,20 @@ export default function AIAssistant() {
)}
-
-
-
sendMessage(input)}
disabled={!input.trim()}
- className="w-10 h-10 rounded-xl flex items-center justify-center text-white transition-all disabled:opacity-50"
+ className="w-10 h-10 rounded-xl flex items-center justify-center text-white transition-all disabled:opacity-40 shadow-xs cursor-pointer"
style={{ background: 'linear-gradient(135deg, #F97316, #FB923C)' }}
>
-
- ⚠️ Chatbot responses may not always be accurate. Please cross-reference critical academic or administrative details with official sources.
+
+
+ RIT Assistant provides official campus guidance. For administrative requests, visit the department block.
diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx
index 806146b..c4a76fb 100644
--- a/src/pages/Home/Home.tsx
+++ b/src/pages/Home/Home.tsx
@@ -1,12 +1,11 @@
import { motion, useScroll, useTransform } from 'framer-motion';
import { Link } from 'react-router-dom';
import {
- ArrowRight, Sparkles, BookOpen, Bot, GraduationCap,
- CheckCircle, Zap, Shield, Brain, Trophy, Award, Cpu, Users
+ ArrowRight, BookOpen, Bot, GraduationCap,
+ CheckCircle, Zap, Shield, Trophy, Award, Cpu, Users, MapPin, Sparkles
} from 'lucide-react';
import SectionTitle from '@/components/SectionTitle/SectionTitle';
import FeatureCard from '@/components/FeatureCard/FeatureCard';
-import FloatingCard from '@/components/FloatingCard/FloatingCard';
import { StaggerContainer, StaggerItem } from '@/components/AnimatedContainer/AnimatedContainer';
import AnimatedContainer from '@/components/AnimatedContainer/AnimatedContainer';
import { FEATURES, CAMPUS_LOCATIONS } from '@/constants';
@@ -15,59 +14,54 @@ import * as LucideIcons from 'lucide-react';
export default function Home() {
const { scrollY } = useScroll();
const heroOpacity = useTransform(scrollY, [0, 450], [1, 0]);
- const heroY = useTransform(scrollY, [0, 450], [0, -80]);
+ const heroY = useTransform(scrollY, [0, 450], [0, -60]);
return (
-
- {/* Sticky Background Video */}
-
-
-
-
-
- {/* Dark Overlay (40-50%) */}
+
+ {/* ─── Ultra-Sleek Mesh Background Effect (Lightweight - Zero Video Load) ─── */}
+
{/* ─── Hero Section ─────────────────────────────────────────────────────── */}
-
- {/* Center Content */}
+
+ {/* Badge */}
-
- OUR LEGACY & FUTURE
-
+
+ OFFICIAL STUDENT PORTAL
+ {/* Heading */}
Welcome to
@@ -76,8 +70,8 @@ export default function Home() {
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.7, delay: 0.2 }}
- className="text-5xl md:text-7xl font-extrabold leading-tight mb-6 bg-gradient-to-r from-[#F97316] via-[#FB923C] to-[#F97316] bg-clip-text text-transparent"
- style={{ fontFamily: 'Playfair Display, serif', color: 'transparent', WebkitTextFillColor: 'transparent', filter: 'drop-shadow(0 4px 12px rgba(249, 115, 22, 0.45))' }}
+ className="text-5xl md:text-7xl font-black leading-tight mb-6 bg-gradient-to-r from-[#F97316] via-[#EA580C] to-[#F97316] bg-clip-text text-transparent"
+ style={{ fontFamily: 'Playfair Display, serif', filter: 'drop-shadow(0 2px 8px rgba(249, 115, 22, 0.2))' }}
>
RIT Freshers Hub
@@ -86,24 +80,24 @@ export default function Home() {
initial={{ opacity: 0, y: 15 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.7, delay: 0.3 }}
- className="max-w-2xl text-slate-200 text-sm md:text-base leading-relaxed mb-8"
+ className="max-w-2xl text-[#475569] text-base md:text-lg leading-relaxed mb-8"
style={{ fontFamily: 'Inter, sans-serif' }}
>
- The RIT Freshers Hub is your centralized gateway to campus life, academic resources, AI assistance, clubs, events, bus routes, notes, and student services.
+ Your centralized gateway to campus life at Rajalakshmi Institute of Technology — academic notes, AI assistant, bus routes, faculty directory, and campus navigation.
- {/* Buttons */}
+ {/* Call to Actions */}
Explore Hub
-
+
-
- Ask Chatbot
+
+ Ask Assistant
- {/* Badges */}
+ {/* Trust Badges */}
{[
{ icon: CheckCircle, text: 'Official Portal' },
@@ -149,53 +143,35 @@ export default function Home() {
- {/* Floating Glassmorphic Stats Section */}
-
+ {/* Sleek Stats Card Section */}
+
-
-
{[
{ value: '20+', label: 'SPORTS', icon: Trophy },
{ value: '100+', label: 'FACULTY', icon: GraduationCap },
{ value: '18', label: 'CLUBS', icon: Award },
- { value: '24/7', label: 'CHATBOT', icon: Cpu },
+ { value: '24/7', label: 'ASSISTANT', icon: Cpu },
{ value: '5000+', label: 'STUDENTS', icon: Users },
].map((stat, i) => (
-
- {/* Icon */}
-
+
+
- {/* Value */}
{stat.value}
- {/* Label */}
{stat.label}
@@ -208,7 +184,7 @@ export default function Home() {
{/* ─── Features Section ─────────────────────────────────────────────────── */}
-
+
-
+
{FEATURES.map((feature) => (
@@ -227,61 +203,47 @@ export default function Home() {
-
-
{/* ─── Campus Quick Nav ─────────────────────────────────────────────────── */}
-
+
-
- {/* Map placeholder */}
+
+ {/* Map Teaser Header */}
- {/* Location pins */}
- {[
- { label: 'CSE Block', x: '25%', y: '30%' },
- { label: 'Library', x: '55%', y: '45%' },
- { label: 'Canteen', x: '70%', y: '65%' },
- { label: 'Hostel', x: '20%', y: '65%' },
- ].map((pin, i) => (
-
-
-
- {pin.label}
-
-
- ))}
-
-
Interactive Campus Map
+
+
+
+
+
+
+ Interactive Campus Map
+
+
+ Locate all major campus blocks, labs, library & amenities.
+
Open Full Map
@@ -289,20 +251,20 @@ export default function Home() {
- {/* Quick nav buttons */}
-
+ {/* Quick Nav Grid */}
+
{CAMPUS_LOCATIONS.map((loc) => {
const Icon = (LucideIcons as unknown as Record
>)[loc.icon];
return (
-
+
{Icon && }
-
+
{loc.name}
@@ -314,44 +276,6 @@ export default function Home() {
-
- {/* ─── Community Teaser ─────────────────────────────────────────────────── */}
-
-
- {/* Q&A teaser */}
-
-
-
-
-
-
-
-
Freshers Q&A
-
Get answers from seniors
-
-
-
- {['How is hostel life at RIT?', 'Best clubs to join as a fresher?', 'Tips for first semester survival'].map((q, i) => (
-
- Q
- {q}
-
- ))}
-
-
-
- Join the Discussion
-
-
-
-
-
-
);
}