diff --git a/src/components/profile/Badge.jsx b/src/components/profile/Badge.jsx index 608c0398..088ad3b2 100644 --- a/src/components/profile/Badge.jsx +++ b/src/components/profile/Badge.jsx @@ -1,13 +1,14 @@ import React from 'react'; import { Tooltip } from 'react-tooltip'; +import CusTooltip from './BadgeOnhover'; const Badge = ({ active, createdAt, badgeName, badgeImage, badgeDescription, badgeReason }) => { return ( + } reason={badgeReason} date={createdAt}>
@@ -18,17 +19,8 @@ const Badge = ({ active, createdAt, badgeName, badgeImage, badgeDescription, ba className="mx-auto mt-2 px-1" /> -

- {badgeName.charAt(0).toUpperCase() + badgeName.slice(1).toLowerCase()} -

-

- {new Date(createdAt).toLocaleDateString('en-US', { - month: '2-digit', - day: '2-digit', - year: 'numeric', - })} -

+
)}; export default Badge; \ No newline at end of file diff --git a/src/components/profile/BadgeOnhover.jsx b/src/components/profile/BadgeOnhover.jsx new file mode 100644 index 00000000..40ecab23 --- /dev/null +++ b/src/components/profile/BadgeOnhover.jsx @@ -0,0 +1,63 @@ +import React, { useState } from 'react'; +import Tooltip, { tooltipClasses } from '@mui/material/Tooltip'; +import { styled } from '@mui/material/styles'; + +const CustomTooltip = styled(({ className, ...props }) => ( + +))({ + [`& .${tooltipClasses.tooltip}`]: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + textAlign: 'center', + backgroundColor: '#111827', + color: 'white', + fontSize: 15, + borderRadius: '1rem', + padding: '0.8rem', + width: '400px', + height: '200px', + overflow: 'hidden' + + + + }, [`& .${tooltipClasses.arrow}`]: { + color: '#111827' + }, +}); + +export default function CusTooltip ({children ,name, description, icon, reason, date}) { + const [onHover, setOnHover] = useState(false); + + return ( + + {icon &&
{icon}
} +
{name}
+
setOnHover(true)} + onMouseLeave={()=>setOnHover(false)} + + >
+ {description} +
+
+ {reason} +
+
+
+ {new Date(date).toLocaleDateString('en-US', + { + month: '2-digit', + day: '2-digit', + year: 'numeric', + })}
+ + + + } arrow placement='top'> + {children} +
+ ); +}; + diff --git a/src/components/profile/v2/Badges.jsx b/src/components/profile/v2/Badges.jsx index b62ea179..232a32d5 100644 --- a/src/components/profile/v2/Badges.jsx +++ b/src/components/profile/v2/Badges.jsx @@ -5,7 +5,7 @@ import Badge from '@/components/profile/Badge.jsx'; import { useRouter } from 'next/router'; import Skeleton from 'react-loading-skeleton'; import 'react-loading-skeleton/dist/skeleton.css'; - +import CusTooltip from '../BadgeOnhover'; const Badges = ({ user }) => { const router = useRouter(); @@ -23,9 +23,7 @@ const Badges = ({ user }) => { }, [user]); if (loading) return
; console.log("USER BADGES:", badges); - console.log("BADGE 1 NAME", badges[0]); - console.log("CREATED AT 1", badges[0].createdAt); - + /* Badge object returned: @@ -76,7 +74,9 @@ const Badges = ({ user }) => { return (
{badges && badges.length > 0 ? ( + badges.map((badge) => ( + {(user && ( + }> + )) || (
{user && ( -

ABOUT {user.username}

+

ABOUT {user.username} +

)}
{bioViewCheck() ? renderEditButton():'' }