diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index 1e6fe08..ae9d8f6 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -1,7 +1,7 @@ # ─── DATABASE CONNECTION CONFIGURATION ─── spring.datasource.url=jdbc:postgresql://localhost:5432/rit_freshers_hub?sslmode=disable spring.datasource.username=postgres -spring.datasource.password=${DB_PASSWORD:Devesh@54} +spring.datasource.password=${DB_PASSWORD:Amudiesh22@.} # ─── JPA / HIBERNATE SETTINGS ─── spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect diff --git a/src/components/FacultyCard/FacultyCard.tsx b/src/components/FacultyCard/FacultyCard.tsx index d804758..5f2a3a8 100644 --- a/src/components/FacultyCard/FacultyCard.tsx +++ b/src/components/FacultyCard/FacultyCard.tsx @@ -39,17 +39,16 @@ export default function FacultyCard({ faculty }: FacultyCardProps) { return ( <> {/* Avatar + Name */}
{initials}
@@ -57,10 +56,10 @@ export default function FacultyCard({ faculty }: FacultyCardProps) {
-

+

{faculty.name}

-

+

{faculty.designation}

@@ -68,27 +67,27 @@ export default function FacultyCard({ faculty }: FacultyCardProps) { {/* Details */}
-
- +
+ {faculty.department}
{/* Contact & Actions */} -
+
- - {/* Profile Dropdown */} - - {isProfileOpen && ( - -
-
- {user.pictureUrl ? ( - {user.name} - ) : ( -
- {user.name.charAt(0).toUpperCase()} -
- )} -
-

{user.name}

-

{user.email}

-
-
- {isVerifiedStudent ? ( -
- - Verified RIT Student -
- ) : ( -
- - Sign in with @ritchennai.edu.in for verified badge - -
- )} -
-
- -
-
- )} -
-
- ) : ( - - - Sign In - - )} - - {/* Mobile Toggle */} + {/* Mobile Toggle */} +
setIsMobileOpen(!isMobileOpen)} - className="md:hidden w-11 h-11 rounded-xl flex items-center justify-center text-slate-200 hover:text-white bg-slate-800/60 hover:bg-slate-700/60 border border-slate-700/50 transition-all active:scale-95" + className="w-9 h-9 rounded-xl flex items-center justify-center text-slate-200 hover:text-white bg-slate-800/60 hover:bg-slate-700/60 border border-slate-700/50 transition-all active:scale-95" aria-label="Toggle menu" > {isMobileOpen ? : }
-
- {/* Mobile Menu */} - - {isMobileOpen && ( - -
- {NAV_LINKS.map((link) => { - const isActive = checkIsActive(link.path); - return ( - setIsMobileOpen(false)} - className="px-3.5 py-3 rounded-xl text-xs font-semibold uppercase tracking-wider flex items-center justify-center text-center transition-all min-h-[44px]" - style={{ - fontFamily: 'Poppins, sans-serif', - color: isActive ? '#FFFFFF' : '#CBD5E1', - backgroundColor: isActive ? '#F97316' : 'rgba(255, 255, 255, 0.05)', - border: isActive ? '1px solid #FB923C' : '1px solid rgba(255, 255, 255, 0.08)', + {/* Mobile Menu Dropdown */} + + {isMobileOpen && ( + +
+ {NAV_LINKS.map((link) => { + const isActive = checkIsActive(link.path); + return ( + setIsMobileOpen(false)} + className="px-3.5 py-3 rounded-xl text-xs font-semibold uppercase tracking-wider flex items-center justify-center text-center transition-all min-h-[44px]" + style={{ + fontFamily: 'Poppins, sans-serif', + color: isActive ? '#FFFFFF' : '#CBD5E1', + backgroundColor: isActive ? '#F97316' : 'rgba(255, 255, 255, 0.05)', + border: isActive ? '1px solid #FB923C' : '1px solid rgba(255, 255, 255, 0.08)', + }} + > + {link.label} + + ); + })} + + {/* Mobile RAISE Button */} + setIsMobileOpen(false)} + className="col-span-2 mt-1 flex items-center justify-center gap-2 px-4 py-2.5 rounded-xl text-white text-xs font-bold bg-gradient-to-r from-rose-500 to-pink-600 border border-rose-400/40 shadow-md shadow-rose-500/20 transition-all active:scale-95" + style={{ fontFamily: 'Poppins, sans-serif' }} + > + + Pitch your Idea - RAISE Incubator + + + {/* Mobile Auth Button */} + {!isAuthenticated ? ( + + ) : ( + + )} +
+
+ )} +
+ - {/* Mobile RAISE Button */} - setIsMobileOpen(false)} - className="col-span-2 mt-1 flex items-center justify-center gap-2 px-4 py-2.5 rounded-xl text-white text-xs font-bold bg-gradient-to-r from-rose-500 to-pink-600 border border-rose-400/40 shadow-md shadow-rose-500/20 transition-all active:scale-95" - style={{ fontFamily: 'Poppins, sans-serif' }} - > - - Pitch your Idea - RAISE - - - {/* Mobile Auth Button */} - {!isAuthenticated ? ( - + {/* Separate Top Right Section: Sign In on Top, RAISE Incubator Below */} + + {/* Sign Option (Top Right, Centered) */} + {isAuthenticated && user ? ( +
+ +
+ {user.name.charAt(0).toUpperCase()} +
)} -
-
+ + {user.name.split(' ')[0]} + + + + + {/* Profile Dropdown */} + + {isProfileOpen && ( + +
+
+ {user.pictureUrl ? ( + {user.name} + ) : ( +
+ {user.name.charAt(0).toUpperCase()} +
+ )} +
+

{user.name}

+

{user.email}

+
+
+ {isVerifiedStudent ? ( +
+ + Verified RIT Student +
+ ) : ( +
+ + Sign in with @ritchennai.edu.in for verified badge + +
+ )} +
+
+ +
+
+ )} +
+
+ ) : ( + + + Sign In + )} -
- + + {/* RAISE Incubator Module (Below Sign Option) */} + + + Pitch your Idea - RAISE Incubator + + +
{/* Spacer */} -
+
); } diff --git a/src/components/SectionTitle/SectionTitle.tsx b/src/components/SectionTitle/SectionTitle.tsx index 0891844..4d3176c 100644 --- a/src/components/SectionTitle/SectionTitle.tsx +++ b/src/components/SectionTitle/SectionTitle.tsx @@ -28,12 +28,12 @@ export default function SectionTitle({ className={`inline-flex items-center gap-2 mb-3 ${isCenter ? 'mx-auto' : ''}`} > {tag} @@ -46,15 +46,15 @@ export default function SectionTitle({ whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ duration: 0.5, delay: 0.1 }} - className="text-3xl md:text-4xl font-bold" - style={{ fontFamily: 'Playfair Display, serif', color: '#1E293B' }} + className="text-3xl md:text-4xl lg:text-5xl font-extrabold tracking-tight" + style={{ fontFamily: 'Plus Jakarta Sans, sans-serif', color: '#1A0B2E' }} > {title}{' '} {highlight && ( {subtitle} diff --git a/src/constants/index.ts b/src/constants/index.ts index 480497d..b66ec64 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -4,7 +4,7 @@ import type { Feature, Stat, BusRoute, Faculty, Event, Club, Question, ToolkitIt export const NAV_LINKS = [ { label: 'Home', path: '/' }, { label: 'Notes', path: '/notes' }, - { label: 'Toolkit', path: '/notes?section=toolkit' }, + { label: 'Toolkit', path: '/toolkit' }, { label: 'Chatbot', path: '/ai-assistant' }, { label: 'Campus Map', path: '/campus' }, { label: 'Bus Routes', path: '/bus-routes' }, @@ -13,7 +13,6 @@ export const NAV_LINKS = [ { label: 'Community', path: '/community' }, { label: 'Dev Collab', path: '/collab' }, { label: 'LeetCode', path: '/leetcode' }, - { label: 'RAISE', path: '/raise' }, ]; // ─── Stats ──────────────────────────────────────────────────────────────────── @@ -99,6 +98,24 @@ export const FEATURES: Feature[] = [ color: '#06B6D4', bgColor: '#ECFEFF', }, + { + id: 'collab', + icon: 'Code2', + title: 'Dev Collab Hub', + description: 'Post open-source projects, search for co-developers, and connect with fellow programmers.', + path: '/collab', + color: '#6366F1', + bgColor: '#EEF2FF', + }, + { + id: 'leetcode', + icon: 'Trophy', + title: 'LeetCode Arena', + description: 'Track campus competitive programming rankings and see top RIT coders.', + path: '/leetcode', + color: '#F59E0B', + bgColor: '#FFFBEB', + }, ]; // ─── Bus Routes ────────────────────────────────────────────────────────────── diff --git a/src/index.css b/src/index.css index b02c487..5ce7190 100644 --- a/src/index.css +++ b/src/index.css @@ -1,26 +1,32 @@ -@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Archivo+Black&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@400;500;600;700&display=swap'); @import "tailwindcss"; @theme { - --color-primary: #F97316; - --color-primary-light: #FB923C; + --color-primary: #FF6B00; + --color-primary-light: #F97316; --color-primary-dark: #EA580C; --color-primary-50: #FFF7ED; --color-primary-100: #FFEDD5; --color-primary-200: #FED7AA; - --color-secondary: #FB923C; - --color-background: #FAFAFA; + --color-secondary: #F97316; + + --color-dark-purple: #130924; + --color-dark-purple-light: #1E0C36; + --color-dark-purple-surface: #2A104E; + --color-dark-purple-border: #3A1968; + + --color-background: #FAF9FC; --color-surface: #FFFFFF; - --color-border: #E5E7EB; - --color-heading: #1E293B; - --color-body: #475569; - --color-muted: #94A3B8; + --color-border: #E9E5EE; + --color-heading: #1A0B2E; + --color-body: #4A3E5E; + --color-muted: #9E91B6; --color-accent: #FFF7ED; - --font-heading: 'Playfair Display', Georgia, serif; + --font-heading: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif; --font-body: 'Inter', system-ui, sans-serif; - --font-button: 'Poppins', system-ui, sans-serif; + --font-button: 'Plus Jakarta Sans', 'Poppins', system-ui, sans-serif; --radius-sm: 8px; --radius-md: 12px; @@ -30,19 +36,17 @@ --radius-3xl: 32px; --radius-full: 9999px; - --shadow-soft: 0 2px 15px -3px rgba(0,0,0,0.07), 0 10px 20px -2px rgba(0,0,0,0.04); - --shadow-medium: 0 4px 25px -5px rgba(0,0,0,0.1), 0 10px 30px -5px rgba(0,0,0,0.07); - --shadow-strong: 0 8px 40px -8px rgba(0,0,0,0.15), 0 20px 45px -8px rgba(0,0,0,0.1); - --shadow-orange: 0 8px 30px -4px rgba(249,115,22,0.3); + --shadow-soft: 0 4px 20px -4px rgba(19, 9, 36, 0.05), 0 1px 3px rgba(19, 9, 36, 0.02); + --shadow-medium: 0 8px 30px -6px rgba(19, 9, 36, 0.08), 0 2px 6px rgba(19, 9, 36, 0.03); + --shadow-strong: 0 16px 45px -8px rgba(19, 9, 36, 0.15), 0 4px 12px rgba(19, 9, 36, 0.05); + --shadow-orange: 0 8px 30px -4px rgba(255, 107, 0, 0.35); - --color-brand-orange: #ff5722; - --color-brand-pink: #e91e63; - --color-brand-purple: #9c27b0; + --color-brand-orange: #FF6B00; + --color-brand-purple: #130924; --animate-pulse-slow: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite; } -/* Tailwind Preflight handles resets natively. Custom modifications go here: */ - +/* Base resets & typography */ html { scroll-behavior: smooth; font-size: 16px; @@ -50,8 +54,8 @@ html { body { font-family: var(--font-body); - background-color: #FAFAFA; - color: #475569; + background-color: #FAF9FC; + color: #4A3E5E; line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @@ -62,10 +66,10 @@ body { width: 6px; } ::-webkit-scrollbar-track { - background: #f1f1f1; + background: #FAF9FC; } ::-webkit-scrollbar-thumb { - background: #F97316; + background: #FF6B00; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { @@ -74,20 +78,23 @@ body { /* Selection */ ::selection { - background-color: rgba(249, 115, 22, 0.2); - color: #1E293B; + background-color: rgba(255, 107, 0, 0.2); + color: #1A0B2E; } /* Typography base */ -h1, h2, h3, h4, h5, h6 { - font-family: var(--font-heading); - color: #1E293B; - line-height: 1.2; +@layer base { + h1, h2, h3, h4, h5, h6 { + font-family: var(--font-heading); + color: #1A0B2E; + font-weight: 700; + line-height: 1.25; + } } /* Focus ring */ :focus-visible { - outline: 2px solid #F97316; + outline: 2px solid #FF6B00; outline-offset: 2px; } @@ -110,12 +117,12 @@ h1, h2, h3, h4, h5, h6 { @keyframes float { 0%, 100% { transform: translateY(0px); } - 50% { transform: translateY(-10px); } + 50% { transform: translateY(-8px); } } @keyframes pulse-orange { - 0%, 100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.4); } - 70% { box-shadow: 0 0 0 10px rgba(249, 115, 22, 0); } + 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 107, 0, 0.4); } + 70% { box-shadow: 0 0 0 10px rgba(255, 107, 0, 0); } } @keyframes shimmer { @@ -123,12 +130,6 @@ h1, h2, h3, h4, h5, h6 { 100% { background-position: 200% 0; } } -@keyframes gradientShift { - 0% { background-position: 0% 50%; } - 50% { background-position: 100% 50%; } - 100% { background-position: 0% 50%; } -} - .animate-float { animation: float 4s ease-in-out infinite; } @@ -149,36 +150,37 @@ h1, h2, h3, h4, h5, h6 { /* Glass effect */ .glass { - background: rgba(255, 255, 255, 0.8); - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); - border: 1px solid rgba(255, 255, 255, 0.3); + background: rgba(255, 255, 255, 0.85); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); + border: 1px solid rgba(255, 255, 255, 0.6); } .glass-dark { - background: rgba(30, 41, 59, 0.8); - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); + background: rgba(19, 9, 36, 0.85); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.1); } /* Card base */ .card-base { background: #FFFFFF; - border-radius: 20px; - border: 1px solid #E5E7EB; - box-shadow: 0 2px 15px -3px rgba(0,0,0,0.07), 0 10px 20px -2px rgba(0,0,0,0.04); - transition: transform 0.3s ease, box-shadow 0.3s ease; + border-radius: 16px; + border: 1px solid #E9E5EE; + box-shadow: 0 4px 20px -4px rgba(19, 9, 36, 0.04), 0 1px 3px rgba(19, 9, 36, 0.02); + transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); } .card-base:hover { - transform: translateY(-4px); - box-shadow: 0 8px 40px -8px rgba(0,0,0,0.15), 0 20px 45px -8px rgba(0,0,0,0.1); + transform: translateY(-3px); + box-shadow: 0 12px 35px -6px rgba(19, 9, 36, 0.08), 0 4px 12px -2px rgba(19, 9, 36, 0.04); + border-color: rgba(255, 107, 0, 0.3); } /* Gradient text */ .gradient-text { - background: linear-gradient(135deg, #F97316, #FB923C, #FBBF24); + background: linear-gradient(135deg, #FF6B00 0%, #F97316 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; @@ -187,16 +189,17 @@ h1, h2, h3, h4, h5, h6 { /* Orange button */ .btn-primary { font-family: var(--font-button); - background: linear-gradient(135deg, #F97316, #FB923C); + background: linear-gradient(135deg, #FF6B00 0%, #F97316 100%); color: white; border: none; border-radius: 12px; padding: 12px 28px; - font-weight: 600; - font-size: 15px; + font-weight: 700; + font-size: 14px; + letter-spacing: 0.01em; cursor: pointer; transition: all 0.3s ease; - box-shadow: 0 4px 15px rgba(249, 115, 22, 0.3); + box-shadow: 0 4px 16px rgba(255, 107, 0, 0.28); display: inline-flex; align-items: center; gap: 8px; @@ -205,8 +208,8 @@ h1, h2, h3, h4, h5, h6 { .btn-primary:hover { transform: translateY(-2px); - box-shadow: 0 8px 25px rgba(249, 115, 22, 0.4); - background: linear-gradient(135deg, #EA580C, #F97316); + box-shadow: 0 8px 24px rgba(255, 107, 0, 0.38); + background: linear-gradient(135deg, #EA580C 0%, #FF6B00 100%); } .btn-primary:active { @@ -217,12 +220,12 @@ h1, h2, h3, h4, h5, h6 { .btn-ghost { font-family: var(--font-button); background: transparent; - color: #1E293B; - border: 2px solid #E5E7EB; + color: #1A0B2E; + border: 1.5px solid #E9E5EE; border-radius: 12px; padding: 10px 26px; font-weight: 600; - font-size: 15px; + font-size: 14px; cursor: pointer; transition: all 0.3s ease; display: inline-flex; @@ -232,8 +235,9 @@ h1, h2, h3, h4, h5, h6 { } .btn-ghost:hover { - border-color: #F97316; - color: #F97316; + border-color: #FF6B00; + color: #FF6B00; + background-color: rgba(255, 107, 0, 0.04); transform: translateY(-2px); } @@ -263,23 +267,13 @@ h1, h2, h3, h4, h5, h6 { /* Orange dot pattern background */ .dot-pattern { - background-image: radial-gradient(circle, #F9731615 1px, transparent 1px); + background-image: radial-gradient(circle, rgba(255, 107, 0, 0.08) 1px, transparent 1px); background-size: 24px 24px; } -/* Noise texture overlay */ -.noise-overlay::before { - content: ''; - position: absolute; - inset: 0; - opacity: 0.03; - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"); - pointer-events: none; -} - /* Chat bubble */ .chat-bubble-user { - background: linear-gradient(135deg, #F97316, #FB923C); + background: linear-gradient(135deg, #FF6B00, #F97316); color: white; border-radius: 18px 18px 4px 18px; padding: 12px 16px; @@ -289,91 +283,26 @@ h1, h2, h3, h4, h5, h6 { } .chat-bubble-ai { - background: #F8FAFC; - color: #1E293B; + background: #FFFFFF; + color: #1A0B2E; border-radius: 18px 18px 18px 4px; padding: 12px 16px; font-size: 14px; max-width: 80%; align-self: flex-start; - border: 1px solid #E5E7EB; + border: 1px solid #E9E5EE; } /* Verified card style input focus state */ .verified-focus-input { transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; background-color: #FFFFFF; - border: 1.5px solid #E5E7EB !important; + border: 1.5px solid #E9E5EE !important; } .verified-focus-input:focus { outline: none !important; - border-color: #F97316 !important; - box-shadow: none !important; + border-color: #FF6B00 !important; + box-shadow: 0 0 0 3px rgba(255, 107, 0, 0.15) !important; } -/* RAISE Incubator Website Styles */ -.raise-website { - --font-sans: 'Inter', sans-serif; - --font-heading: 'Plus Jakarta Sans', sans-serif; - --color-primary: #101010; -} - -.raise-website body { - font-family: var(--font-sans); - background-color: #fafafa; - color: #171717; -} - -.raise-website h1, -.raise-website h2, -.raise-website h3, -.raise-website h4, -.raise-website h5, -.raise-website h6 { - font-family: var(--font-heading) !important; -} - -.text-gradient { - background: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #06b6d4 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; -} - -.logo-blue { - filter: invert(29%) sepia(92%) saturate(2377%) hue-rotate(215deg) brightness(93%) contrast(97%); -} - -.logo-black { - filter: brightness(0); -} - -.glassmorphism { - background: rgba(255, 255, 255, 0.7); - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); - border: 1px solid rgba(255, 255, 255, 0.6); -} - -.shadow-premium { - box-shadow: 0 4px 30px rgba(0, 0, 0, 0.02), - 0 1px 3px rgba(0, 0, 0, 0.05), - 0 20px 40px rgba(0, 0, 0, 0.03); -} - -.shadow-premium-hover { - transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); -} -.shadow-premium-hover:hover { - transform: translateY(-4px); - box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04), - 0 2px 8px rgba(0, 0, 0, 0.06), - 0 30px 60px rgba(0, 0, 0, 0.05); -} - -.grid-bg { - background-size: 40px 40px; - background-image: - linear-gradient(to right, rgba(0, 0, 0, 0.02) 1px, transparent 1px), - linear-gradient(to bottom, rgba(0, 0, 0, 0.02) 1px, transparent 1px); -} diff --git a/src/pages/AIAssistant/AIAssistant.tsx b/src/pages/AIAssistant/AIAssistant.tsx index 03be91e..62c85b9 100644 --- a/src/pages/AIAssistant/AIAssistant.tsx +++ b/src/pages/AIAssistant/AIAssistant.tsx @@ -109,17 +109,17 @@ export default function AIAssistant() { }; return ( -
+
{/* Header */} -
+
-
+
-

RIT Assistant

-
+

RIT Assistant

+
Campus Knowledge Engine Online
@@ -187,8 +187,8 @@ export default function AIAssistant() { {/* Chat Container */}
{messages.map((msg) => ( {msg.role === 'assistant' && ( -
+
)}
+
{/* Sleek Dark Header */} -
+
-
- Home +
+ Home - Live Bus Tracking + Live Bus Tracking
-

+

RIT Live Transport Map

@@ -74,25 +74,25 @@ export default function BusRoutes() { {/* Controls: Search + Toggle Drawer Button */}
- + setBusSearch(e.target.value)} - className="w-full pl-9 pr-4 py-2 rounded-xl bg-slate-800 border border-slate-700 text-xs text-white placeholder-slate-400 focus:outline-none focus:border-orange-500 transition-colors" + className="w-full pl-9 pr-4 py-2 rounded-xl bg-[#1E0C36] border border-[#3A1968] text-xs text-white placeholder-purple-300/50 focus:outline-none focus:border-[#FF6B00] transition-colors" style={{ fontFamily: 'Inter, sans-serif' }} />
-
- - @@ -269,9 +269,9 @@ export default function Campus() {
{/* Quick Location Categories Bar */} -
+
-

Quick Location Categories

+

Quick Location Categories

{activeCategory && ( )} @@ -282,10 +282,10 @@ export default function Campus() { const isCatActive = activeCategory === loc.id; return ( handleCategoryClick(loc.id)} className={`flex flex-col items-center gap-2.5 p-3 rounded-2xl transition-all border cursor-pointer group ${isCatActive ? 'border-orange-500 bg-orange-500 text-white shadow-lg ring-2 ring-orange-400/30' : 'border-transparent hover:border-[#FED7AA] hover:bg-orange-50/50'}`}> -
+
{Icon && }
- {loc.name} + {loc.name} ); })} @@ -293,16 +293,16 @@ export default function Campus() {
{/* Blueprint Legend & Color Key */} -
+
- -

Blueprint Map Legend

+ +

Blueprint Map Legend

{BLUEPRINT_LEGEND.map((item) => { const isActive = activeLegend === item.id; return ( - @@ -312,28 +312,28 @@ export default function Campus() {
{/* Blueprint Facilities Index */} -
+
- -

Campus Blocks & Facilities Index

+ +

Campus Blocks & Facilities Index

-

Click any facility card below to spot its exact location on the campus map image.

+

Click any facility card below to spot its exact location on the campus map image.

- {filteredFacilities.length} Locations Mapped + {filteredFacilities.length} Locations Mapped
{filteredFacilities.map((facility) => { const isSelected = selectedFacility?.name === facility.name; const isHighlighted = highlightedSpotNames.has(facility.name); return ( - { if (isSelected) setSelectedFacility(null); else { setSelectedFacility(facility); setActiveCategory(null); scrollToMap(); } }} className={`text-left p-4 rounded-2xl border transition-all cursor-pointer ${isSelected ? 'border-[#F97316] bg-orange-500 text-white shadow-lg ring-2 ring-orange-400/40' : isHighlighted ? 'border-[#F97316] bg-orange-50/90 shadow-md' : 'border-[#E5E7EB] bg-[#F8FAFC] hover:bg-white hover:border-orange-200 hover:shadow-xs'}`}> + { if (isSelected) setSelectedFacility(null); else { setSelectedFacility(facility); setActiveCategory(null); scrollToMap(); } }} className={`text-left p-4 rounded-2xl border transition-all cursor-pointer ${isSelected ? 'border-[#FF6B00] bg-orange-500 text-white shadow-lg ring-2 ring-orange-400/40' : isHighlighted ? 'border-[#FF6B00] bg-orange-50/90 shadow-md' : 'border-[#E9E5EE] bg-[#FAF9FC] hover:bg-white hover:border-orange-200 hover:shadow-xs'}`}>
- {facility.name} - {facility.area} + {facility.name} + {facility.area}
-

{facility.desc}

+

{facility.desc}

); })} diff --git a/src/pages/Community/Community.tsx b/src/pages/Community/Community.tsx index b7510e9..f771ebc 100644 --- a/src/pages/Community/Community.tsx +++ b/src/pages/Community/Community.tsx @@ -261,24 +261,24 @@ export default function Community() { }; return ( -
+
{/* Header */} -
+
-

+

RIT Community

-

+

Ask questions and connect with fellow RIT students.

-
+
{/* Ask Question Box */} -
-

Ask a Question

+
+

Ask a Question

{showSuccessBanner && (
-
- Home +
+ Home - Developer Collab Hub + Developer Collab Hub
-
+
RIT Developers Environment
-

+

Find Project{' '} - + Collaborators

-

+

Post open-source projects, search for co-developers, or manage candidate applications cleanly on the website or via Telegram!

@@ -457,8 +457,8 @@ export default function DevCollab() { whileHover={{ scale: 1.03 }} whileTap={{ scale: 0.97 }} onClick={() => requireVerifiedStudent(() => setShowPostModal(true))} - className="flex items-center gap-2.5 px-6 py-3.5 rounded-2xl text-white font-semibold text-sm shadow-lg shadow-orange-500/25 shrink-0 cursor-pointer" - style={{ background: 'linear-gradient(135deg, #F97316, #FB923C)', fontFamily: 'Poppins, sans-serif' }} + className="flex items-center gap-2.5 px-6 py-3.5 rounded-xl text-white font-bold text-sm shadow-lg shadow-orange-500/25 shrink-0 cursor-pointer" + style={{ background: 'linear-gradient(135deg, #FF6B00, #F97316)', fontFamily: 'Plus Jakarta Sans, sans-serif' }} > {isVerifiedStudent && } @@ -467,15 +467,15 @@ export default function DevCollab() {
{/* Dashboard Tabs Bar */} -
+
@@ -369,10 +370,10 @@ export default function LeetcodeLeaderboard() {
{/* Desktop Table View (Medium Screens & Up) */} -
- +
+
- + diff --git a/src/pages/Notes/Notes.tsx b/src/pages/Notes/Notes.tsx index 85b772d..0e89465 100644 --- a/src/pages/Notes/Notes.tsx +++ b/src/pages/Notes/Notes.tsx @@ -1433,7 +1433,7 @@ export default function Notes() { )} -
+
{selectedToolkit ? ( diff --git a/src/pages/Toolkit/Toolkit.tsx b/src/pages/Toolkit/Toolkit.tsx index e7a03d3..6046858 100644 --- a/src/pages/Toolkit/Toolkit.tsx +++ b/src/pages/Toolkit/Toolkit.tsx @@ -677,24 +677,24 @@ export default function Toolkit() { const toolkitRef = useRef(null); return ( -
+
{/* Header */} {!selectedToolkit && ( -
+
-
- Home +
+ Home - Student Toolkit + Student Toolkit
-

+

Student{' '} - + Toolkit

-

+

Access specialized development environments, IDE configurations, compiler guides, and department toolkits.

@@ -702,7 +702,7 @@ export default function Toolkit() {
)} -
+
{selectedToolkit ? ( (() => { const TOOLKIT_MAP: Record = { @@ -737,8 +737,8 @@ export default function Toolkit() { setSelectedToolkit(null); } }} - className="inline-flex items-center gap-2 px-4 py-2 rounded-xl text-sm font-semibold text-[#475569] bg-white border border-[#E5E7EB] hover:border-[#F97316] hover:text-[#F97316] transition-all cursor-pointer shadow-2xs mb-4" - style={{ fontFamily: 'Poppins, sans-serif' }} + className="inline-flex items-center gap-2 px-4 py-2 rounded-xl text-sm font-bold text-[#4A3E5E] bg-white border border-[#E9E5EE] hover:border-[#FF6B00] hover:text-[#FF6B00] transition-all cursor-pointer shadow-2xs mb-4" + style={{ fontFamily: 'Plus Jakarta Sans, sans-serif' }} > {selectedTool @@ -750,8 +750,8 @@ export default function Toolkit() { : 'Back to Toolkit'}
-

- {label} Toolkit +

+ {label} Toolkit

Rank Student Dept & Year