MCPcopy Create free account
hub / github.com/TryCatchLearn/Overflow / QuestionCard

Function QuestionCard

webapp/src/app/questions/QuestionCard.tsx:15–71  ·  view source on GitHub ↗
({question}: Props)

Source from the content-addressed store, hash-verified

13}
14
15export default function QuestionCard({question}: Props) {
16 return (
17 <div className='flex gap-6 px-6 w-full'>
18 <div className='flex flex-col items-end gap-4 text-sm font-light min-w-[6rem]'>
19 <div>{question.votes} {question.votes === 1 ? 'vote' : 'votes'}</div>
20 <div
21 className={clsx('flex justify-end rounded', {
22 'border-2 border-success': question.answerCount > 0,
23 'bg-success-600 text-default-50': question.hasAcceptedAnswer
24 })}
25 >
26 <span className={clsx('flex items-center gap-2', {
27 'p-1': question.answerCount > 0
28 })}>
29 {question.hasAcceptedAnswer &&
30 <CheckIcon className="h-4 w-4" strokeWidth={4}/>}
31 {question.answerCount} {question.answerCount === 1 ? 'answer' : 'answers'}
32 </span>
33 </div>
34 <div>{question.viewCount} {question.viewCount === 1 ? 'view' : 'views'}</div>
35 </div>
36 <div className='flex flex-1 justify-between min-h-32'>
37 <div className='flex flex-col gap-2 w-full'>
38 <Link
39 href={`/questions/${question.id}`}
40 className='text-primary font-semibold hover:underline first-letter:uppercase'
41 >
42 {question.title}
43 </Link>
44 <div
45 className='line-clamp-2'
46 dangerouslySetInnerHTML={{__html: question.content}}
47 />
48 <div className='flex justify-between pt-2'>
49 <div className='flex gap-2'>
50 {question.tagSlugs.map(tag => (
51 <Chip key={tag} variant='bordered' as={Link} href={`/questions?tag=${tag}`}>
52 {tag}
53 </Chip>
54 ))}
55 </div>
56
57 <div className='text-sm flex items-center gap-2'>
58 <Avatar className='h-6 w-6' color='secondary'
59 name={question.author?.displayName.charAt(0)}/>
60 <Link href={`/profiles/${question.askerId}`} className='text-secondary'>
61 {question.author?.displayName}
62 </Link>
63 <span>asked {timeAgo(question.createdAt)}</span>
64 </div>
65 </div>
66 </div>
67
68 </div>
69 </div>
70 );
71}

Callers

nothing calls this directly

Calls 1

timeAgoFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…