Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

훈돌라

2024. 6. 3. 뉴스피드 프로젝트 2일차 본문

카테고리 없음

2024. 6. 3. 뉴스피드 프로젝트 2일차

훈돌라 2024. 6. 3. 21:25

 

 

 

 

 

 

 

 

돋보기 이미지 토글 시 검색창 활성화

 

const SearchInput = styled.input`

  padding: 10px;
  font-size: 1rem;
  border: 3px solid #343434;
  border-radius: 5px;
  width: 300px;
  display: ${(props) => (props.show ? 'block' : 'none')};

`;

 

 

const HomeInput = () => {

  const [showInput, setShowInput] = useState(false);

 

  const toggleInput = () => {
    setShowInput(!showInput);
  };

 

  return (
    <>
      <InputImage src={inputimage} onClick={toggleInput} />
      <SearchInput show={showInput} placeholder="검색어를 입력하세요!" />
    </>
  );
};

 

 

useState 훅을 사용해 토글 상태 관리

 

스타일 컴포넌트에 'block' : ' none ' 삼항 연산자

 

 

 

 

 

 

 

 

 

 

 

기본적으로 피드는 9개씩 노출되고, 더보기 버튼 클릭 시 닫기 버튼으로 변하고, 나머지 게시글들이 노출됨
닫기 버튼 클릭 시 더보기 버튼으로 돌아오며, 나머지 노출됬던 게시글이 다시 숨겨지고, 9개만 노출됨

 

 

    <Container>
      <HomeInput />
      <HomeContent>
        {posts.slice(0, showAll ? posts.length : 9).map((post) => (
          <HomePost key={post.id} onClick={() => moveDetailPage(post.id)}>
            <HomePostImage src={post.image} />
            <HomePostOverlay>
              <HomePostTitle>{post.title}</HomePostTitle>
              <HomePostNickname>{post.nickname}</HomePostNickname>
              <HomePostContent>{post.content}</HomePostContent>
            </HomePostOverlay>
          </HomePost>
        ))}
      </HomeContent>
      {showAll ? (
        <CloseButton onClick={() => setShowAll(false)}>닫기</CloseButton>
      ) : (
        <MoreButton onClick={() => setShowAll(true)}>더보기</MoreButton>
      )}
    </Container>

 

 

 

내일 해야할 것 

피드 CSS 수정 및 제목, 내용 검색 기능