1- import { Link } from "react-router-dom" ;
2- import { ExternalLink } from "lucide- react" ;
1+ import { Link as RouterLink } from "react-router-dom" ;
2+ import { FaGithub , FaFolderOpen , FaLink , FaInstagram , FaLinkedin } from "react-icons/fa " ;
33import compBioLogo from "@/assets/comp-bio-logo.png" ;
44
55const Footer = ( ) => {
@@ -13,25 +13,50 @@ const Footer = () => {
1313 { name : "Collaborations" , path : "/collaborations" } ,
1414 ] ;
1515
16+ const socialLinks = [
17+ {
18+ name : "Instagram" ,
19+ url : "https://www.instagram.com/ucb_compbio/" ,
20+ icon : FaInstagram
21+ } ,
22+ {
23+ name : "LinkedIn" ,
24+ url : "https://www.linkedin.com/company/computational-biology-at-berkeley/" ,
25+ icon : FaLinkedin
26+ } ,
27+ {
28+ name : "Organization GitHub" ,
29+ url : "https://github.com/CompbioAtBerkeley" ,
30+ icon : FaGithub
31+ } ,
32+ {
33+ name : "Projects GitHub" ,
34+ url : "https://github.com/Compbio-at-berkeley-projects" ,
35+ icon : FaFolderOpen
36+ } ,
37+ {
38+ name : "Linktree" ,
39+ url : "https://linktr.ee/compbioatberkeley" ,
40+ icon : FaLink
41+ }
42+ ] ;
43+
1644 return (
1745 < footer className = "bg-gradient-to-r from-primary/5 to-bio-green/5 border-t border-bio-green/20 py-12 px-4" >
1846 < div className = "max-w-6xl mx-auto" >
1947 < div className = "grid md:grid-cols-3 gap-8 mb-8" >
2048 { /* Brand */ }
2149 < div className = "space-y-4" >
22- < div className = "flex items-center space-x-2" >
23- { /* <div className="w-8 h-8 bg-gradient-bio rounded-full flex items-center justify-center">
24- <span className="text-white font-bold text-sm">CB</span>
25- </div> */ }
50+ < RouterLink to = "/" className = "flex items-center space-x-2 group" >
2651 < img
27- src = { compBioLogo }
28- alt = "Computational Biology at Berkeley"
29- className = "h-10 w-10 object-contain"
30- />
52+ src = { compBioLogo }
53+ alt = "Computational Biology at Berkeley"
54+ className = "h-10 w-10 object-contain group-hover:scale-110 transition-transform "
55+ />
3156 < span className = "font-semibold text-lg bg-gradient-bio bg-clip-text text-transparent" >
3257 Computational Biology at Berkeley
3358 </ span >
34- </ div >
59+ </ RouterLink >
3560 < p className = "text-muted-foreground text-sm" >
3661 Bridging the gap between biology and computation through education, research, and community.
3762 </ p >
@@ -43,12 +68,12 @@ const Footer = () => {
4368 < ul className = "space-y-2" >
4469 { quickLinks . map ( ( link ) => (
4570 < li key = { link . path } >
46- < Link
71+ < RouterLink
4772 to = { link . path }
4873 className = "text-muted-foreground hover:text-bio-green transition-colors duration-200 text-sm"
4974 >
5075 { link . name }
51- </ Link >
76+ </ RouterLink >
5277 </ li >
5378 ) ) }
5479 </ ul >
@@ -58,21 +83,22 @@ const Footer = () => {
5883 < div >
5984 < h3 className = "font-semibold text-compute-blue mb-4" > Connect With Us</ h3 >
6085 < div className = "space-y-2" >
61-
62- < a
63- href = "#"
64- className = "flex items-center text-muted-foreground hover:text-compute-blue transition-colors duration-200 text-sm"
65- >
66- LinkedIn
67- < ExternalLink className = "w-3 h-3 ml-1" />
68- </ a >
69- < a
70- href = "#"
71- className = "flex items-center text-muted-foreground hover:text-compute-blue transition-colors duration-200 text-sm"
72- >
73- Instagram
74- < ExternalLink className = "w-3 h-3 ml-1" />
75- </ a >
86+ { socialLinks . map ( ( social ) => {
87+ const Icon = social . icon ;
88+ return (
89+ < a
90+ key = { social . name }
91+ href = { social . url }
92+ target = "_blank"
93+ rel = "noopener noreferrer"
94+ aria-label = { `Visit our ${ social . name } ` }
95+ className = "flex items-center gap-2 text-muted-foreground hover:text-compute-blue transition-colors duration-200 text-sm group"
96+ >
97+ < Icon className = "w-4 h-4 group-hover:scale-110 transition-transform" />
98+ { social . name }
99+ </ a >
100+ ) ;
101+ } ) }
76102 </ div >
77103 </ div >
78104 </ div >
0 commit comments