11import reflex as rx
2- from reflex .components .icons import IconButton
3- from reflex .components .icons .lucide import Mail , Github , Linkedin
42
53def contact () -> rx .Component :
64 return rx .vstack (
@@ -14,15 +12,15 @@ def contact() -> rx.Component:
1412 rx .vstack (
1513 * [
1614 rx .hstack (
17- rx .box (
18- rx .icon (icon ),
19- bg = "primary.50" ,
15+ rx .button (
16+ icon (),
17+ on_click = rx .redirect (href ),
18+ variant = "ghost" ,
2019 color = "primary.500" ,
21- padding = "3" ,
22- border_radius = "full" ,
20+ _hover = {"color" : "primary.600" },
2321 _dark = {
24- "bg" : "primary.900" ,
2522 "color" : "primary.200" ,
23+ "_hover" : {"color" : "primary.300" },
2624 },
2725 ),
2826 rx .text (label + ":" , color = "gray.600" ),
@@ -35,9 +33,9 @@ def contact() -> rx.Component:
3533 width = "100%" ,
3634 )
3735 for icon , label , value , href in [
38- 39- (Github , "GitHub" , "github.com/johndoe" , "https://github.com/johndoe" ),
40- (Linkedin , "LinkedIn" , "linkedin.com/in/johndoe" , "https://linkedin.com/in/johndoe" ),
36+ (
lambda : rx . icon ( "mail" ) ,
"Email" ,
"[email protected] " ,
"mailto:[email protected] " ),
37+ (lambda : rx . icon ( "github" ) , "GitHub" , "github.com/johndoe" , "https://github.com/johndoe" ),
38+ (lambda : rx . icon ( "linkedin" ) , "LinkedIn" , "linkedin.com/in/johndoe" , "https://linkedin.com/in/johndoe" ),
4139 ]
4240 ],
4341 spacing = "6" ,
0 commit comments