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(web, shared/utils): Portal, Modal 컴포넌트, useDisclosure 훅, classNames 유틸 생성 #55

Merged
merged 8 commits into from
Feb 22, 2024

Conversation

sukvvon
Copy link
Member

@sukvvon sukvvon commented Feb 21, 2024

이슈 번호

작업한 목록을 작성해 주세요

스크린샷

2024-02-22.5.14.45.mov

pr 포인트나 궁금한 점을 작성해 주세요

Modal 예제 코드

import { Modal } from '@/components';
import { useDisclosure } from '@/hooks';

export default function SavedLink() {
  const { isOpen, onOpen, onClose } = useDisclosure();

  return (
    <>
      <h1 onClick={onOpen}>SavedLink1</h1>
      <h2>{isOpen ? 'open' : 'close'}</h2>
      <Modal isOpen={isOpen} onClose={onClose} closeOnOverlayClick>
        <Modal.Overlay />
        <Modal.Content>
          <Modal.Header>
            <Modal.TopBar variant="couple">this is status</Modal.TopBar>
            <Modal.Title variant="center">this is modal title</Modal.Title>
          </Modal.Header>
          <Modal.Body>this is modal body</Modal.Body>
          <Modal.Footer>
            <button>Button</button>
          </Modal.Footer>
        </Modal.Content>
      </Modal>
    </>
  );
}
  • 위 예시와 같이 사용할 수 있습니다!
  • context api를 활용하여 Modal 내부 전체 값들을 관리하게 하였습니다 (필수: onClose, isOpen, children, 선택: closeOnOverlayClick)
  • useDisclosure 훅을 통해 Modal, Alert(개발 예정) 등의 상태를 관리할 수 있게 하였습니다!
  • 스타일이나 로직 등 수정사항이 생기면 차후 수정할 계획입니다!
  • 향후 Toast, Alert와 같은 컴포넌트를 Modal을 활용해서 만들 계획입니다!

Copy link

vercel bot commented Feb 21, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
favolink-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 21, 2024 11:07pm

@github-actions github-actions bot added chore 빌드 프로세스나 패키지 매니징과 같은 일상적인 업무나 유지보수 작업(빌드 시스템, 도구, 환경 설정 등) feat 새로운 기능 추가 또는 기존 기능의 확장 labels Feb 21, 2024
Copy link

Thanks for the contribution!
I have applied any labels matching special text in your title and description.

Please review the labels and make any necessary changes.

export const overlay = styleVariants({
original: [
baseOverlay,
{ backgroundColor: 'rgba(0, 0, 0, 0.5)', zIndex: 96 },
Copy link
Member

Choose a reason for hiding this comment

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

z-index는 따로 상수로 관리해도 좋을거같은데 96으로 하신 이유가 있나요?

Copy link
Member Author

Choose a reason for hiding this comment

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

우선 96이라는 숫자에 큰 의미는 없습니다!
상수로 관리한다는 말씀이 쓰이는 z-index마다 숫자가 아닌 상수 자체로 우선순위를 파악한다는 말씀이신가요?? 🤔

Copy link
Member

Choose a reason for hiding this comment

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

네 파일 한곳에서 모아두면 나중에 겹치는 일이 없을거같아서요

Copy link
Member Author

@sukvvon sukvvon Feb 22, 2024

Choose a reason for hiding this comment

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

image

쌓임 맥락도 고려해야해서 상수화를 하더라도 또 다른 비용이 들 수 있다는 생각이 들어요!
차후 리펙토링때 진행해도 될까요?? 🤔

Copy link
Member

@heyman333 heyman333 left a comment

Choose a reason for hiding this comment

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

👍👍👍👍

@sukvvon sukvvon merged commit e47e952 into main Feb 22, 2024
4 checks passed
@sukvvon sukvvon deleted the feat/51 branch February 22, 2024 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore 빌드 프로세스나 패키지 매니징과 같은 일상적인 업무나 유지보수 작업(빌드 시스템, 도구, 환경 설정 등) feat 새로운 기능 추가 또는 기존 기능의 확장
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(web, shared/utils): Portal, Modal 컴포넌트, useDisclosure 훅, classNames 유틸 생성
2 participants