Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/app/(mobile-ui)/history/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ const HistoryPage = () => {
const badges = user?.user?.badges ?? []
badges.forEach((b) => {
if (!b.earnedAt) return
// dev-note: dev-connect badge to be shown in ui after post devconnect marketing campaign
if (b.code.toLowerCase() === 'devconnect_ba_2025') return
entries.push({
isBadge: true,
uuid: b.id,
Expand Down
57 changes: 30 additions & 27 deletions src/components/Badges/BadgesRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -97,33 +97,36 @@ export function BadgesRow({ badges, className, isSelfProfile = true }: BadgesRow
role="region"
aria-label="Badge collection"
>
{visibleBadges.map((badge, idx) => {
// use public description if viewing someone else's profile, otherwise use original
const displayDescription = isSelfProfile
? badge.description
: getPublicBadgeDescription(badge.code) || badge.description

return (
<Tooltip
key={badge.code}
content={
<div className="flex flex-col items-center justify-center gap-1">
<div className="relative text-sm font-bold">{badge.name}</div>
<p className="text-center font-normal">{displayDescription}</p>
</div>
}
>
<Image
src={getBadgeIcon(badge.code)}
alt={badge.name}
className="min-h-10 min-w-10 object-contain"
height={48}
width={48}
unoptimized
/>
</Tooltip>
)
})}
{visibleBadges
// dev-note: dev-connect badge to be shown in ui after post devconnect marketing campaign
.filter((badge) => badge.code.toLowerCase() !== 'devconnect_ba_2025')
.map((badge) => {
// use public description if viewing someone else's profile, otherwise use original
const displayDescription = isSelfProfile
? badge.description
: getPublicBadgeDescription(badge.code) || badge.description

return (
<Tooltip
key={badge.code}
content={
<div className="flex flex-col items-center justify-center gap-1">
<div className="relative text-sm font-bold">{badge.name}</div>
<p className="text-center font-normal">{displayDescription}</p>
</div>
}
>
<Image
src={getBadgeIcon(badge.code)}
alt={badge.name}
className="min-h-10 min-w-10 object-contain"
height={48}
width={48}
unoptimized
/>
</Tooltip>
)
})}
</div>

{/* Right navigation button */}
Expand Down
12 changes: 7 additions & 5 deletions src/components/Badges/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,13 @@ export const Badges = () => {
const badges: BadgeView[] = useMemo(() => {
// get badges from user object and map to card fields
const raw = authUser?.user?.badges || []
return raw.map((b) => ({
title: b.name,
description: b.description || '',
logo: getBadgeIcon(b.code),
}))
return raw
.filter((b) => b.code.toLowerCase() !== 'devconnect_ba_2025')
.map((b) => ({
title: b.name,
description: b.description || '',
logo: getBadgeIcon(b.code),
}))
}, [authUser?.user?.badges])

if (!badges.length) {
Expand Down
2 changes: 2 additions & 0 deletions src/components/Home/HomeHistory.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ const HomeHistory = ({ isPublic = false, username }: { isPublic?: boolean; usern
const badges = user?.user?.badges ?? []
badges.forEach((b) => {
if (!b.earnedAt) return
// dev-note: dev-connect badge to be shown in ui after post devconnect marketing campaign
if (b.code.toLowerCase() === 'devconnect_ba_2025') return
entries.push({
isBadge: true,
uuid: b.id,
Expand Down
Loading