Skip to content

Commit b57ca69

Browse files
committed
Grab a random user for the comment demo
1 parent 611810c commit b57ca69

1 file changed

Lines changed: 30 additions & 4 deletions

File tree

frontend/src/modules/home/components/FeaturePreviews.tsx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { useState, useEffect, useMemo, useRef } from 'react';
22
import { Link } from 'react-router-dom';
33
import { Download, List, X, ChevronDown, ChevronRight, Check, Box, Link as LinkIcon, AlertCircle, Bell, Search, ArrowUpRight, MessageSquare, Send, Save, PieChart, TrendingUp, Eye, ArrowBigUp, ArrowBigDown, Crown, Settings } from 'lucide-react';
44
import { OptimizedImage } from '@/components/ui/OptimizedImage';
5-
import { BACKEND_URL } from '@/utils/api';
5+
import { api, BACKEND_URL } from '@/utils/api';
66
import { SiteRoutes } from '@/utils/routes';
77
import { ProjectCard } from '@/modules/project/components/ProjectCard';
88
import type { Project, User } from '@/types';
@@ -453,6 +453,29 @@ const InlineCommentThreadUI = ({ project, currentUser }: { project?: Project; cu
453453
const userAvatar = resolveAvatar(currentUser?.avatarUrl);
454454
const userInitial = currentUser?.username?.charAt(0)?.toUpperCase() ?? 'Y';
455455

456+
const [randomCommenter, setRandomCommenter] = useState<{ name: string; avatar: string } | null>(null);
457+
458+
useEffect(() => {
459+
if (!project?.authorId) return;
460+
api.get(`/user/profile/${project.authorId}`)
461+
.then(res => {
462+
const u = res.data;
463+
if (!u?.username) return;
464+
const raw: string = u.avatarUrl ?? '';
465+
const resolvedAvatar = raw.startsWith('http')
466+
? raw
467+
: raw ? `${BACKEND_URL}${raw.startsWith('/') ? '' : '/'}${raw}` : '';
468+
setRandomCommenter({
469+
name: u.displayName || u.username,
470+
avatar: resolvedAvatar,
471+
});
472+
})
473+
.catch(() => { /* silently fail */ });
474+
}, [project?.authorId]);
475+
476+
const commenterName = randomCommenter?.name ?? project?.author ?? '…';
477+
const commenterAvatar = randomCommenter?.avatar;
478+
456479
return (
457480
<PreviewPanel icon={MessageSquare} title="Comments" accentClass="text-violet-600 dark:text-violet-400" className="min-h-[360px]">
458481
<div className="space-y-4">
@@ -492,11 +515,14 @@ const InlineCommentThreadUI = ({ project, currentUser }: { project?: Project; cu
492515

493516
<div className="flex-1 min-w-0">
494517
<div className="flex items-center gap-3 mb-2">
495-
<div className="w-10 h-10 rounded-full overflow-hidden shadow-sm border border-slate-200 dark:border-white/5 shrink-0">
496-
<img src="https://avatars.githubusercontent.com/u/26007280" alt="Dsjoo" className="w-full h-full object-cover" loading="lazy" />
518+
<div className="w-10 h-10 rounded-full overflow-hidden shadow-sm border border-slate-200 dark:border-white/5 shrink-0 bg-slate-200 dark:bg-slate-700">
519+
{commenterAvatar
520+
? <img src={commenterAvatar} alt={commenterName} className="w-full h-full object-cover" loading="lazy" />
521+
: <span className="w-full h-full flex items-center justify-center text-sm font-bold text-slate-500">{commenterName.charAt(0)}</span>
522+
}
497523
</div>
498524
<div className="flex flex-col">
499-
<span className="font-bold text-sm text-slate-900 dark:text-white">Dsjoo</span>
525+
<span className="font-bold text-sm text-slate-900 dark:text-white">{commenterName}</span>
500526
<span className="text-xs font-medium text-slate-500 dark:text-slate-400">2 hours ago</span>
501527
</div>
502528
</div>

0 commit comments

Comments
 (0)