diff --git a/app/_components/Page2.tsx b/app/_components/Page2.tsx index 102bcb0..ddbe4b6 100644 --- a/app/_components/Page2.tsx +++ b/app/_components/Page2.tsx @@ -44,7 +44,7 @@ export function Page2() { - + diff --git a/app/_components/notice-page.tsx b/app/_components/notice-page.tsx index 5d03b31..40bfa88 100644 --- a/app/_components/notice-page.tsx +++ b/app/_components/notice-page.tsx @@ -6,7 +6,7 @@ import { Linking, Pressable, ScrollView, View } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { Footer } from './footer'; -export function NoticePage() { +export function NoticeScreen() { const categories = ['전체', '일반', '학사', '장학', '진로', '학생활동', '학칙개정']; const [selectedCategory, setSelectedCategory] = React.useState('전체'); const [currentPage, setCurrentPage] = React.useState(1); diff --git a/app/boards/[boardId]/index.tsx b/app/boards/[boardId]/index.tsx deleted file mode 100644 index 2b885f5..0000000 --- a/app/boards/[boardId]/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { Text, View } from 'react-native'; - -export default function BoardDetailScreen() { - return ( - - 게시판 상세보기 페이지 입니다 - - ); -} diff --git a/app/index.tsx b/app/index.tsx index bbb9a0e..ea5a08d 100644 --- a/app/index.tsx +++ b/app/index.tsx @@ -8,7 +8,7 @@ import { Page2 } from './_components/Page2'; import { Page3 } from './_components/Page3'; import MealSection from './_components/meal'; import { Page4 } from './_components/Page4'; -import { NoticePage } from './_components/notice-page'; +import { NoticeScreen } from './_components/notice-page'; import { Page6 } from './_components/Page6'; import { Page7 } from './_components/Page7'; import { Input } from '@/components/ui/input'; @@ -100,7 +100,7 @@ export default function Screen() { - + diff --git a/app/posts/[postId]/index.tsx b/app/posts/[postId]/index.tsx new file mode 100644 index 0000000..70b0134 --- /dev/null +++ b/app/posts/[postId]/index.tsx @@ -0,0 +1,250 @@ +import { Footer } from '@/app/_components/footer'; +import { HeartIcon } from '@/components/icons'; +import { Button } from '@/components/ui/button'; +import { Text } from '@/components/ui/text'; +import { router } from 'expo-router'; +import { ChevronLeft } from 'lucide-react-native'; +import { useState } from 'react'; +import { ScrollView, TextInput, TouchableOpacity, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; +import Svg, { Circle, Line, Path } from 'react-native-svg'; + +export default function BoardDetailScreen() { + const insets = useSafeAreaInsets(); + const [commentText, setCommentText] = useState(''); + + function onPostLikeClick(): void {} + + function onCommentSubmitClick(): void {} + + function onCommentDeleteClick(): void {} + + return ( + + {/* header */} + + router.back()} + className="flex-row items-center gap-1 self-start"> + + 이전 + + + + {/* content */} + + {POST.title} + + + {POST.createdAt} + + + + {POST.author} + + + + + + {POST.likeCount} + + + + + + + {POST.commentCount} + + + + + {POST.content} + + + {/* like button */} + + onPostLikeClick()} + className="flex-row items-center self-start"> + 좋아요 + + + + + + {/* comments section */} + {false ? ( + + 댓글 + + + 로그인 후 이용 가능합니다 + + + + + ) : ( + + + 댓글 + + + onCommentSubmitClick()} + className="absolute bottom-2 right-2"> + + + + + + + + {commentText.length}/300 + + + + {/* comments */} + {COMMENTS.map((comment) => ( + + + + + {comment.author} + {comment.createdAt} + + {comment.isOwner && ( + onCommentDeleteClick()}> + + + + + + )} + + {comment.content} + + + + + {comment.likeCount} + + + + + + + {comment.replyCount} + + + ))} + + )} + +