From 17088a1780f067d0302c9151ed99875a0cfb824c Mon Sep 17 00:00:00 2001 From: legend4tech Date: Mon, 6 Oct 2025 20:55:31 +0100 Subject: [PATCH] feat: project-details-page-comments-tab --- app/(landing)/projects/[id]/page.tsx | 2 + .../comment-section/comment-input.tsx | 74 ++++++++++ .../comment-section/comment-item.tsx | 129 ++++++++++++++++++ .../comment-section/comments-empty-state.tsx | 30 ++++ .../comments-sort-dropdown.tsx | 68 +++++++++ .../comment-section/project-comments.tsx | 85 ++++++++++++ components/project-details/project-layout.tsx | 13 +- lib/data/comments-mock.ts | 104 ++++++++++++++ public/Humanoid.png | Bin 0 -> 46557 bytes public/user-icon.png | Bin 0 -> 4416 bytes 10 files changed, 498 insertions(+), 7 deletions(-) create mode 100644 components/project-details/comment-section/comment-input.tsx create mode 100644 components/project-details/comment-section/comment-item.tsx create mode 100644 components/project-details/comment-section/comments-empty-state.tsx create mode 100644 components/project-details/comment-section/comments-sort-dropdown.tsx create mode 100644 components/project-details/comment-section/project-comments.tsx create mode 100644 lib/data/comments-mock.ts create mode 100644 public/Humanoid.png create mode 100644 public/user-icon.png diff --git a/app/(landing)/projects/[id]/page.tsx b/app/(landing)/projects/[id]/page.tsx index 02d68139d..140bc2e46 100644 --- a/app/(landing)/projects/[id]/page.tsx +++ b/app/(landing)/projects/[id]/page.tsx @@ -68,6 +68,7 @@ async function ProjectContent({ id }: { id: string }) { // Try to fetch as crowdfunding project first try { const response = await getCrowdfundingProject(id); + if (response.success && response.data) { projectData = transformCrowdfundingProject( response.data.project, @@ -80,6 +81,7 @@ async function ProjectContent({ id }: { id: string }) { // If crowdfunding project fails, try regular project try { const regularProject = await getProjectDetails(id); + // Transform regular project data if needed // For regular projects, we need to create a mock CrowdfundingProject structure const mockProject: CrowdfundingProject = { diff --git a/components/project-details/comment-section/comment-input.tsx b/components/project-details/comment-section/comment-input.tsx new file mode 100644 index 000000000..5f052c147 --- /dev/null +++ b/components/project-details/comment-section/comment-input.tsx @@ -0,0 +1,74 @@ +'use client'; +import type React from 'react'; +import { useState } from 'react'; +import { Button } from '@/components/ui/button'; +import { Smile } from 'lucide-react'; + +interface CommentInputProps { + onSubmit: (content: string) => void; + placeholder?: string; + autoFocus?: boolean; + onCancel?: () => void; + showCancel?: boolean; +} + +export function CommentInput({ + onSubmit, + placeholder = 'Leave a comment...', + autoFocus = false, + onCancel, + showCancel = false, +}: CommentInputProps) { + const [comment, setComment] = useState(''); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (comment.trim()) { + onSubmit(comment.trim()); + setComment(''); + } + }; + + return ( +
+
+ +
+ +
+ setComment(e.target.value)} + placeholder={placeholder} + autoFocus={autoFocus} + className='w-full text-base text-neutral-200 placeholder:text-neutral-500 focus:outline-none' + /> +
+ + + + {showCancel && ( + + )} +
+ ); +} diff --git a/components/project-details/comment-section/comment-item.tsx b/components/project-details/comment-section/comment-item.tsx new file mode 100644 index 000000000..a493f2f3e --- /dev/null +++ b/components/project-details/comment-section/comment-item.tsx @@ -0,0 +1,129 @@ +'use client'; + +import { useState } from 'react'; +import { Heart, ChevronUp, ChevronDown } from 'lucide-react'; +import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; +import { Button } from '@/components/ui/button'; +import { cn } from '@/lib/utils'; +import { CommentInput } from './comment-input'; +import { Comment } from '@/lib/data/comments-mock'; + +interface CommentItemProps { + comment: Comment; + isReply?: boolean; + onAddReply: (commentId: string, content: string) => void; +} + +export function CommentItem({ + comment, + isReply = false, + onAddReply, +}: CommentItemProps) { + const [isLiked, setIsLiked] = useState(false); + const [showReplies, setShowReplies] = useState(false); + const [showReplyInput, setShowReplyInput] = useState(false); + const hasReplies = comment.replies && comment.replies.length > 0; + + const handleReplySubmit = (content: string) => { + onAddReply(comment.id, content); + setShowReplyInput(false); + setShowReplies(true); + }; + + return ( +
+ + + {comment.author.name[0]} + + +
+
+
+ +

+ {comment.content} +

+
+
+ +
+ + {comment.timestamp} + + + +
+ + {showReplyInput && ( +
+ setShowReplyInput(false)} + showCancel + /> +
+ )} + + {hasReplies && ( + <> + + + {showReplies && ( +
+ {comment.replies?.map(reply => ( + + ))} +
+ )} + + )} +
+
+ ); +} diff --git a/components/project-details/comment-section/comments-empty-state.tsx b/components/project-details/comment-section/comments-empty-state.tsx new file mode 100644 index 000000000..f84405ccd --- /dev/null +++ b/components/project-details/comment-section/comments-empty-state.tsx @@ -0,0 +1,30 @@ +'use client'; + +import Image from 'next/image'; +import { CommentInput } from './comment-input'; + +interface CommentsEmptyStateProps { + onAddComment: (content: string) => void; +} + +export function CommentsEmptyState({ onAddComment }: CommentsEmptyStateProps) { + return ( +
+
+
+ No comments yet +
+

+ Be the first to Leave a Comment +

+
+ +
+ ); +} diff --git a/components/project-details/comment-section/comments-sort-dropdown.tsx b/components/project-details/comment-section/comments-sort-dropdown.tsx new file mode 100644 index 000000000..dc4df738b --- /dev/null +++ b/components/project-details/comment-section/comments-sort-dropdown.tsx @@ -0,0 +1,68 @@ +'use client'; + +import { useState } from 'react'; +import { ListFilter } from 'lucide-react'; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu'; +import { Button } from '@/components/ui/button'; + +type SortOption = 'latest' | 'oldest' | 'most-relevant'; + +const sortLabels: Record = { + latest: 'Latest', + oldest: 'Oldest', + 'most-relevant': 'Most relevant', +}; + +export function CommentsSortDropdown() { + const [sortBy, setSortBy] = useState('latest'); + + return ( + + + + + + setSortBy(value as SortOption)} + > + + Latest + + + Oldest + + + Most relevant + + + + + ); +} diff --git a/components/project-details/comment-section/project-comments.tsx b/components/project-details/comment-section/project-comments.tsx new file mode 100644 index 000000000..bbcfc7819 --- /dev/null +++ b/components/project-details/comment-section/project-comments.tsx @@ -0,0 +1,85 @@ +'use client'; + +import { useState } from 'react'; +import { CommentsSortDropdown } from './comments-sort-dropdown'; +import { CommentItem } from './comment-item'; +import { CommentInput } from './comment-input'; +import { CommentsEmptyState } from './comments-empty-state'; +import { mockComments, type Comment } from '@/lib/data/comments-mock'; + +export function ProjectComments() { + const [comments, setComments] = useState(mockComments); + const isEmpty = comments.length === 0; + + const handleAddComment = (content: string) => { + const newComment: Comment = { + id: Date.now().toString(), + author: { + name: 'User', + avatar: '/diverse-user-avatars.png', + }, + content, + timestamp: 'Just now', + likes: 0, + replies: [], + }; + setComments([newComment, ...comments]); + }; + + const handleAddReply = (commentId: string, content: string) => { + const newReply: Comment = { + id: `${commentId}-${Date.now()}`, + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content, + timestamp: 'Just now', + likes: 0, + }; + + const addReplyToComment = (comments: Comment[]): Comment[] => { + return comments.map(comment => { + if (comment.id === commentId) { + return { + ...comment, + replies: [...(comment.replies || []), newReply], + }; + } + if (comment.replies) { + return { + ...comment, + replies: addReplyToComment(comment.replies), + }; + } + return comment; + }); + }; + + setComments(addReplyToComment(comments)); + }; + + if (isEmpty) { + return ; + } + + return ( +
+
+ +
+ +
+ {comments.map(comment => ( + + ))} +
+ + +
+ ); +} diff --git a/components/project-details/project-layout.tsx b/components/project-details/project-layout.tsx index 49dfab7ad..0ed05782c 100644 --- a/components/project-details/project-layout.tsx +++ b/components/project-details/project-layout.tsx @@ -8,6 +8,7 @@ import { ProjectAbout } from './project-about'; import { useIsMobile } from '@/hooks/use-mobile'; import { CrowdfundingProject, CrowdfundData } from '@/lib/api/types'; import { ChevronLeftCircle, ChevronRightCircle } from 'lucide-react'; +import { ProjectComments } from './comment-section/project-comments'; interface ProjectLayoutProps { project: CrowdfundingProject & { @@ -278,13 +279,13 @@ export function ProjectLayout({ project }: ProjectLayoutProps) { -
Voters content coming soon...
-
-
- Comments content coming soon... + Voters content coming soon.rgngogogo5gmomo..
+ + + @@ -436,9 +437,7 @@ export function ProjectLayout({ project }: ProjectLayoutProps) { -
- Comments content coming soon... -
+
diff --git a/lib/data/comments-mock.ts b/lib/data/comments-mock.ts new file mode 100644 index 000000000..113653d5b --- /dev/null +++ b/lib/data/comments-mock.ts @@ -0,0 +1,104 @@ +export interface Comment { + id: string; + author: { + name: string; + avatar: string; + }; + content: string; + timestamp: string; + likes: number; + replies?: Comment[]; +} + +export const mockComments: Comment[] = [ + { + id: '1', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + replies: [ + { + id: '1-1', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + }, + { + id: '1-2', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + }, + { + id: '1-3', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + }, + { + id: '1-4', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + }, + { + id: '1-5', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + }, + ], + }, + { + id: '2', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + }, + { + id: '3', + author: { + name: 'User', + avatar: '/user-icon.png', + }, + content: + 'I think this project has a lot of potential 🚀 The idea of bringing blockchain into healthcare for transparency is brilliant 💡', + timestamp: '2h', + likes: 5, + }, +]; diff --git a/public/Humanoid.png b/public/Humanoid.png new file mode 100644 index 0000000000000000000000000000000000000000..4782b5211f0f0574707776352ecd442921c1892f GIT binary patch literal 46557 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

5K^0m73U(qxDxh+zPOX(=`- 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 literal 0 HcmV?d00001 diff --git a/public/user-icon.png b/public/user-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5509a040c192eff904b4fcc22c9fd59ba3a24e81 GIT binary patch literal 4416 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