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 : Landing - LinkUI 작성 #261

Merged
merged 11 commits into from
Apr 8, 2024
Merged

feat : Landing - LinkUI 작성 #261

merged 11 commits into from
Apr 8, 2024

Conversation

dongind
Copy link
Collaborator

@dongind dongind commented Apr 8, 2024

🎟️ 태스크

Landing Page - 외부 링크 UI 구현

✅ 작업 내용

  • 외부 링크 UI 구현
  • 링크 주소에 따라, 미리 정해진 아이콘을 화면에 송출하는 함수 작성
  • + 버튼을 누르면 모달이 띄워지는 기능 추가

🖊️ 구체적인 작업

외부 링크 UI 구현

Landing Page에 외부 링크를 표시하는 컴포넌트를 작성 완료 했습니다.

아이콘 반환 함수 작성

미리 정해진 URL 대표 주소에 따라 자동으로 아이콘을 반환하여 화면에 띄워주는 코드를 작성했습니다.
가장 먼저, getLintType 함수를 통해 받아온 코드의 Url을 분석하고, 해당 아이콘이 준비되어 있다면 해당 주소 아이콘을 띄워주고 아닐 경우 체인 아이콘을 띄워주도록 설계했습니다.

링크 생성 모달 작성

아직 임시로 디자인만 완성한 모달 코드만을 생성했습니다. 자세한 기능은 실제 백과 데이터를 연결할 때 사용할 예정입니다.

🤔 고민 및 의논할 거리(선택)

  • 현재 아이콘을 가지고오는 기능은 미리 정해진 아이콘으로만 수행하게 됩니다. 하지만, 해당 페이지 자체의 ico 값을 가져올 수 있다면 좀 더 다양한 페이지를 커버할 수 있을 것으로 생각되어, 해당 기능을 이번 스프린트 혹은 다음 스프린트의 남는 시간에 개발해보고자 합니다.

📸 결과 화면(선택)

스크린샷 2024-04-08 오후 12 10 57 스크린샷 2024-04-08 오후 12 11 04

@dongind dongind added FE 🎉feature 새로운 기능 labels Apr 8, 2024
Comment on lines 12 to 20
<button
className="w-full flex justify-start items-center gap-4 p-3 bg-white rounded-lg shadow-box hover:bg-light-gray"
onClick={handleLinkClick}
>
<ProfileImage imageUrl={linkLogoUrl} pxSize={40} />
<p className="text-dark-green text-xs font-bold truncate">
{description}
</p>
</button>
Copy link
Collaborator

Choose a reason for hiding this comment

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

링크니까 a태그로 하는 건 어떨까요? 다른 페이지로 이동할 때 실행되어야 할 로직이 없다면 링크의 의미를 살려서 a태그로 하는 것도 괜찮을 것 같습니다.

Comment on lines +87 to +97
export const LINK_URL_TYPE = {
NAVER: "naver.com",
GITHUB: "github.com",
GITLAB: "gitlab.com",
SLACK: "slack.com",
FIGMA: "figma.com",
NOTION: "notion.so",
GOOGLE: "google.com",
DISCORD: "discord.com",
YOUTUBE: "youtube.com",
};
Copy link
Collaborator

Choose a reason for hiding this comment

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

해당 객체에서 키와 밸류를 반대로 하면 getLinkType 함수에서 switch문을 사용하지 않아도 될 것 같습니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

단순히 Map 형식의 데이터를 사용할 경우, 저기에 속하지 않는 데이터의 경우에는 처리하기가 어려울 것 같습니다. 예를 들어, "tistory.com"의 url이 들어갈 경우, 말씀해주신 방식으로는 해당 URL에 대한 return 값을 받아오기 어렵습니다. 이런 예외 처리를 위해 switch 문을 사용하는 것이 더 효율적으로 보입니다.
혹시 이러한 예외 사항들을 처리하는 다른 방법이 있으실까요?

Copy link
Collaborator

Choose a reason for hiding this comment

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

미리 지정하지 않은 타입의 경우 객체 내에 해당 URL의 정보가 있는지 판별하고 없다면 default값(LINK)을 리턴하도록 하면 될 것이라 생각했습니다.

위처럼 제안한 이유는 서비스에서 지원해주는 자동 아이콘이 많아지면 상수에 타입을 추가하는 것과 더불어 함수 내의 switch문에도 이를 처리해주는 코드를 추가해야 하는 번거로움이 있을 것이라 생각했기 때문입니다. 그런데 고민할거리에 적어주신 대로 url를 통해 페이지 자체 ico를 가져오면 이는 필요하지 않을 것 같기도 하네요.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

한번 위의 방법은 ico를 가져오는 코드를 시도해보고 실패하면 그때 수정해보도록 하겠습니다.

- 태그의 의미를 살리기 위해 button 태그를 a 태그로 변경
@surinkwon surinkwon merged commit 7da250a into dev Apr 8, 2024
1 check passed
@surinkwon surinkwon deleted the feat/landing/linkUI branch April 8, 2024 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FE 🎉feature 새로운 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants