Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat/#41] 메인 뷰 구현 #63

Merged
merged 42 commits into from
Jan 18, 2025
Merged

[Feat/#41] 메인 뷰 구현 #63

merged 42 commits into from
Jan 18, 2025

Conversation

Leeyoonji23
Copy link
Collaborator

@Leeyoonji23 Leeyoonji23 commented Jan 15, 2025

🔥 Related Issues

✅ 작업 리스트

  • 메인 헤더
  • 증상 선택
  • 인기 게시글
  • 푸터
  • 검색창

🔧 작업 내용

메인 뷰 그렸습니다.

📣 리뷰어에게 어떠신가요?

인기 게시글 정보는 반려동물 등록 정보가 있을 때/ 없을 때 나눠서 없으면
image

있으면

image

되게 구현했어요

증상부분은 피그마상으로는 10갠데 추후에 어디까지 늘어날지 아직 논의중이라고 하셔서 일단 임의로 데이터 넣었습니다.
아이콘 추가되면 밑으로 내려가게 했어요.

  • Nav 바 svg biome 에러 풀어서 생긴 오류 예림언니랑 같이 잡았어요!

📸 스크린샷 / GIF / Link

bandicam.2025-01-16.06-46-35-339.mp4

수정 후

bandicam.2025-01-18.02-32-06-292.mp4

하지만! 반응형인데 캐러셀 이미지가 늘어나고 줄어드는거.... 해결 못했어요
캐러셀 이미지에 걸린 height 속성 값 풀면 풀 이미지로 잘 보이는데 검색 바가 문제입니다.
크기가 커졌다가 줄어들었다가 하면 검색바가 같이 위로 올라갔다가 내려갔다가 해서... 제가 알고 있는 선에서 해볼 수 있는 건 다 해봤는데 안돼서 일단 다른것부터 수정해서 올렸습니다 ㅜㅜ!
somebody help mee.eee...ee..e

@Leeyoonji23 Leeyoonji23 changed the title [Feat/#41] [Feat/#41] 메인 뷰 구현 Jan 15, 2025
@Leeyoonji23 Leeyoonji23 added ✨ feat 기능 구현 💄 style 기능에 영향을 주지 않는 커밋, 코드 순서, css등의 포맷에 관한 커밋 labels Jan 15, 2025
Copy link
Collaborator

@ocahs9 ocahs9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다~ 코멘트 한번 확인하고 반영해주세요!
그리고 아래와 같은 에러 나는데, textField가 안 쓰이더라도 아무 동작안하는 함수를 onChange에 주고, 동일한 key값을 안 주도록 수정하는 게 좋을 거 같아요!

image

Comment on lines 5 to 25
export type SymptomItem = {
id: number;
name: string;
icon: typeof IcTemporary;
};

/*아이콘은 바뀔 예정~*/
export const symptomMock: SymptomItem[] = [
{ id: 1, name: "눈", icon: IcTemporary },
{ id: 2, name: "손", icon: IcTemporary },
{ id: 3, name: "코", icon: IcTemporary },
{ id: 4, name: "피부", icon: IcTemporary },
{ id: 5, name: "피부", icon: IcTemporary },
{ id: 6, name: "김의진", icon: IcTemporary },
{ id: 8, name: "머리" , icon: IcTemporary },
{ id: 9, name: "발바닥", icon: IcTemporary },
{ id: 10, name: "꼬리", icon: IcTemporary },
{ id: 7, name: "의진 눈", icon: IcTemporary },
{ id: 7, name: "의진 눈", icon: IcTemporary },
{ id: 7, name: "의진 눈", icon: IcTemporary },
];
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p5) 굿~~

gap: "1.2rem",
borderRadius: "16px",
border: `0.1rem solid ${semanticColor.text.normal}`,
borderColor: "#f0f0f0",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3) 혹시 이거, 피그마에서 지정된 색상은 없이 f0f0f0 이었나요?
만약 있었다면 color나 semanticColor로 알맞게 변경부탁드립니다!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

헉 그렇네요..! semanticColor 로 수정 했습니다 !

<div className={styles.contentId}>{post.id}</div>
<div className={styles.contentTitle}>{post.title}</div>
</div>
{index !== posts.length - 1 && <Divider size="small" />}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p5) 마지막에 divider 안 들어가는 것 세심하게 잘 체크했네요 ~ 굿!

Comment on lines 7 to 10
<p className={styles.footerDetail}>
이용약관 및 개인정보 취급방침
<p>리뷰운영정책</p>
</p>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3) 이거 기획분들에게 말씀 해두긴 했지만, 나중에 클릭하면 페이지 이동하도록 만들어야해요!
그러니까 태그로 만들어두는 게 좋을 것 같습니다

Comment on lines +21 to +32
<div className={styles.hotPostContainer}>
<p className={styles.p}>인기 게시물을 확인해보세요</p>

<div className={styles.title}>
{petName ? (
<>
<span className={styles.petName}>{petName}</span>를 위한 인기 게시글을 확인해보세요
</>
) : (
"반려인들이 주목하는 글 TOP 5"
)}
</div>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p2) 여기 글씨 약간 오밀조밀 이상하게 모여있는데 한번 확인 부탁드립니다 ~

image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오밀조밀업

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

홀리몰리

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정완료

<div className={styles.hotPostListContainer}>
{posts.map((post, index) => (
<div key={post.id}>
<div className={styles.postContent}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3) 그리고 나중에 postContent누르면 해당 포스트로 넘어가야하니까,
postId를 가지고 넘어가는 로직(navigate) 연결해주세요! url은 우리 노션에 정리해둔거 바탕으로 적어두면 됩니다!

Comment on lines +38 to +41
<div className={styles.carouselStatus}>
{currentIndex + 1} / {images.length}
</div>
</div>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p2) 이거 피그마 디자인에 맞게, 투명도, blur 처리 부탁드립니다~

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정완료~

Copy link
Collaborator

@yarimu yarimu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니당 🖤

아래 코멘트만 확인해주셔요!

@@ -19,6 +19,14 @@ export const styles = {
error: {
border: `0.1rem solid ${color.red.warning_red200}`,
},
search: {
display: "flex",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p4) 위 basedisplay: flex" 속성이 있는데 search에도 추가하신 이유가 있나요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

삭제했어요 졸렸나봐요... 꼼꼼 코리 감사합니다 -!

state="search"
placeholder="심장병, 백내장"
onClick={handleSearchClick}
value=""
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p5) 검색 기능 구현 아직 안하셔서 value="" 인걸까요??

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넹 기획분들이 아직 앱잼 단에서는 여기서 검색기능 없다고 하셔서 일단 그렇게 짰습니다 -!

Comment on lines +21 to +32
<div className={styles.hotPostContainer}>
<p className={styles.p}>인기 게시물을 확인해보세요</p>

<div className={styles.title}>
{petName ? (
<>
<span className={styles.petName}>{petName}</span>를 위한 인기 게시글을 확인해보세요
</>
) : (
"반려인들이 주목하는 글 TOP 5"
)}
</div>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오밀조밀업

key={symptom.id}
className={styles.symptomItem}
onClick={() => handleClick(symptom.name)}
aria-label={`증상 부위: ${symptom.name}`}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p5) 웹 접근성 고려까지!? 그저 레전드 개발자

Copy link
Collaborator

@minjeoong minjeoong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스크린샷 2025-01-17 21 52 11

p1) 풀받아서 확인했는데, 이거 요소 클릭하면 게시물 detail 로 안 넘어가서
확인해주시고, 변경 하셔야 할 것 같습니다.

Comment on lines 1 to 17
import SubComment, { SubCommentData } from "./SubComment";

interface SubCommentListProps {
subComments: SubCommentData[];
}

const SubCommentList = ({ subComments }: SubCommentListProps) => {
return (
<div>
{subComments.map((subComment) => (
<SubComment key={subComment.id} subComment={subComment} />
))}
</div>
);
};

export default SubCommentList;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p4) 근데 이거 이미 머지된 건인데 왜 또 올라온 걸까요..

Comment on lines +13 to +25
useEffect(() => {
if (!emblaApi) return;

const onSelect = () => {
setCurrentIndex(emblaApi.selectedScrollSnap());
};

emblaApi.on("select", onSelect);

return () => {
emblaApi.off("select", onSelect);
};
}, [emblaApi]);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p2) emblaApi 는 useEffect 안에서 꼭 구현되어야 하는 건가요??
수정 필요해보입니다 !

color: color.gray.gray900,
maxWidth: "32rem",
maxHeight: "5.8rem",
wordBreak: "keep-all",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p5) 섬세한 스타일,, 굿굿

Copy link
Collaborator

@yarimu yarimu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

지금 conflict 나는데 textfied의 경우는 제꺼 머지되서 나는 것 같아요 최신 상태로 머지 부탁드림다!

Copy link
Collaborator

@ocahs9 ocahs9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반응형인데 캐러셀 이미지가 늘어나고 줄어드는거 아직 해결 못한건 나중에 다같이 qa할 때 잡아봅시다~
머지해도 됩니다!

@Leeyoonji23 Leeyoonji23 merged commit 9c20596 into develop Jan 18, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ feat 기능 구현 💄 style 기능에 영향을 주지 않는 커밋, 코드 순서, css등의 포맷에 관한 커밋
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ Feat ] 메인 뷰 구현
4 participants