From ad3f7079097e352b826f9068bce266e7d8d7bf56 Mon Sep 17 00:00:00 2001 From: Zach Volchak Date: Fri, 5 Sep 2025 11:33:23 -0600 Subject: [PATCH 1/2] ai score display --- components/Comment/CommentItem.tsx | 5 +++-- components/Feed/FeedItemHeader.tsx | 16 ++++++++++++++++ components/Feed/items/FeedItemComment.tsx | 1 + types/comment.ts | 2 ++ types/feed.ts | 2 ++ 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/components/Comment/CommentItem.tsx b/components/Comment/CommentItem.tsx index 5e476ddb1..b7c4d8485 100644 --- a/components/Comment/CommentItem.tsx +++ b/components/Comment/CommentItem.tsx @@ -380,8 +380,9 @@ export const CommentItem = ({ } .prose pre code { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', - 'Courier New', monospace; + font-family: + ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', + monospace; font-size: 0.875rem; line-height: 1.5; background: none; diff --git a/components/Feed/FeedItemHeader.tsx b/components/Feed/FeedItemHeader.tsx index 8b07451cb..c818c5c7d 100644 --- a/components/Feed/FeedItemHeader.tsx +++ b/components/Feed/FeedItemHeader.tsx @@ -16,6 +16,8 @@ import { Work } from '@/types/work'; import { TrendingUp } from 'lucide-react'; import { ImpactScoreTooltip } from '@/components/tooltips/ImpactScoreTooltip'; import { User } from '@/types/user'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faMicrochipAi } from '@fortawesome/pro-light-svg-icons'; interface Contributor { profileImage?: string; @@ -45,6 +47,7 @@ interface FeedItemHeaderProps { twitterMentions?: number; newsMentions?: number; altmetricScore?: number | null; + aiScore?: number | null; } export const FeedItemHeader: FC = ({ @@ -68,6 +71,7 @@ export const FeedItemHeader: FC = ({ twitterMentions = 0, newsMentions = 0, altmetricScore, + aiScore = null, }) => { // Format date consistently const formattedDate = timestamp instanceof Date ? timestamp : new Date(timestamp); @@ -199,6 +203,18 @@ export const FeedItemHeader: FC = ({ )} + + {aiScore && aiScore > 0 && ( + Probability of this comment being AI generated.} + position="top" + > +
+ +

{aiScore}%

+
+
+ )} ); }; diff --git a/components/Feed/items/FeedItemComment.tsx b/components/Feed/items/FeedItemComment.tsx index 137ffa2ba..58d74020c 100644 --- a/components/Feed/items/FeedItemComment.tsx +++ b/components/Feed/items/FeedItemComment.tsx @@ -141,6 +141,7 @@ export const FeedItemComment: FC = ({ user={author.user} actionText={isReview ? `submitted a peer review` : 'added a comment'} work={entry.relatedWork} + aiScore={(entry.content as any).comment.aiScore || -1} /> {showLegacyCommentBanner && ( = (raw) => ({ @@ -150,6 +151,7 @@ export const transformComment = (raw: any): Comment => { userVote, raw, metadata: raw.metadata, + aiScore: raw.ai_score, }; return result; diff --git a/types/feed.ts b/types/feed.ts index a7d7c29d4..06e7d3ce9 100644 --- a/types/feed.ts +++ b/types/feed.ts @@ -132,6 +132,7 @@ export interface FeedCommentContent extends BaseFeedContent { threadType: string; objectId: number; }; + aiScore?: number; }; isRemoved?: boolean; relatedDocumentId?: number | string; @@ -824,6 +825,7 @@ export const transformCommentToFeedItem = ( objectId: comment.thread.objectId, } : undefined, + aiScore: comment.aiScore || -1, }, relatedDocumentId: comment.thread?.objectId, relatedDocumentContentType: contentType, From 65712b22add2831df735676a95eb67fd3d008683 Mon Sep 17 00:00:00 2001 From: Zach Volchak Date: Mon, 8 Sep 2025 17:10:58 -0600 Subject: [PATCH 2/2] cleanup --- components/Feed/FeedItemHeader.tsx | 2 +- components/Feed/items/FeedItemComment.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/Feed/FeedItemHeader.tsx b/components/Feed/FeedItemHeader.tsx index c818c5c7d..897637720 100644 --- a/components/Feed/FeedItemHeader.tsx +++ b/components/Feed/FeedItemHeader.tsx @@ -71,7 +71,7 @@ export const FeedItemHeader: FC = ({ twitterMentions = 0, newsMentions = 0, altmetricScore, - aiScore = null, + aiScore = -1, }) => { // Format date consistently const formattedDate = timestamp instanceof Date ? timestamp : new Date(timestamp); diff --git a/components/Feed/items/FeedItemComment.tsx b/components/Feed/items/FeedItemComment.tsx index 58d74020c..3d1353da5 100644 --- a/components/Feed/items/FeedItemComment.tsx +++ b/components/Feed/items/FeedItemComment.tsx @@ -141,7 +141,7 @@ export const FeedItemComment: FC = ({ user={author.user} actionText={isReview ? `submitted a peer review` : 'added a comment'} work={entry.relatedWork} - aiScore={(entry.content as any).comment.aiScore || -1} + aiScore={comment.aiScore ?? -1} /> {showLegacyCommentBanner && (