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: 검색창 애니메이션 적용 #9

Open
wants to merge 17 commits into
base: develop
Choose a base branch
from

Conversation

Anhye0n
Copy link
Contributor

@Anhye0n Anhye0n commented Nov 10, 2024

작업 내용 요약

  • 검색창 애니메이션 적용
  • es-hangul 적용
  • overlay-kit이 아닌 별도로 적용하였습니다.
  • 코드 충돌 해결

src/pages/Home.tsx Outdated Show resolved Hide resolved
Comment on lines 83 to 86
{results.length != 0 && (
<SearchResults value={query} results={results} />
)}
</SearchInputWrapper>
Copy link
Contributor

@GHooN99 GHooN99 Nov 11, 2024

Choose a reason for hiding this comment

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

찾는 Input UI 와 Input 에 따른 결과 Result UI 는 Input 내에 있기보단 동일 레벨에 있어야 할 것 같아요
Input UI 가 결과 UI 를 알고 있는 구조가 자연스럽진 않아서요

Result UI 의 변경이 Input 에 영향을 끼치게 됨

to-be

<Search>
  // 동일 뎁스 
  <SearchInput /> 
  <SerachResult />
</Search> 

};

const StyledInput = styled.input`
const SearchInputWrapper = styled.div<{ isExpanded: boolean }>`
Copy link
Contributor

Choose a reason for hiding this comment

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

interface Expandable {
  isExpaned : boolean
}

interface SearchInputStyledProps extends ExpandableProps { 
 // additional styled props
}
styled.div<SearchInputStyledProps>

이 파일 내부에 만들고 재사용하는 방법은.. 선택

Comment on lines 9 to 13
query: string;
setQuery: (query: string) => void;
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
onSubmit: () => void;
results: Professor[];
Copy link
Contributor

@GHooN99 GHooN99 Nov 11, 2024

Choose a reason for hiding this comment

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

results 는 input 만의 역할에 벗어난 데이터,
query는 input element의 일반적인 역할의 이름인 value 로
setQuery는 input 을 초기화 하는 용도로만 사용되는데 이걸 덜어낼 방향을 생각해보시는 것도.. 굳이 필요한 props 인가? 구현(동작)을 위해 껴넣어진 props 인가?
onSubmit 은 input레벨이 아니라 상위에서 처리해야 할 관심인 것 같아요

인풋의 역할은 사용자의 입력을 받아, 그 값을 상태로 관리해주고, 추가적으로 인풋이 오버레이 형태니 그것의 열고 닫힘을 관리해주는 것까지로 한정지을 수도 있겠네요

검색어를 submit 하고 결과를 찾아 result 를 보여주는 건 input 의 역할에서 벗어난 듯해요
이것을 생각하면서 props 디자인을 해보는 것도 괜찮을듯함다

results: SearchResultTypes[];
}

const logoMap: { [key: number] } = {
Copy link
Contributor

Choose a reason for hiding this comment

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

Record<number, React.svg 어쩌고 >

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants