0.1.81 • Published 2 years ago

@koreacreditdata/pigeon v0.1.81

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Pigeon: 캐시노트 앱 ↔︎ 웹 인터페이스

Features

  • 앱으로의 링크, 앱스토어로의 링크
  • userAgent string을 기반으로 하는 여러 유틸리티 함수들
    • isIos, isAndroid, isAppSupportedOS, isKakaoBrowser
    • isAndroidAppWebView, isIosAppWebView, isAppWebView
    • platform → web | ios | android
    • appVersion
    • isEnoughForTargetAppVersion, hasAppFeature → 2.0 배포 시점에는 필요 없으나 이후 앱 버전 기준으로 피처 가능 여부 체크를 해야 하면 쓰일 것
  • 캐시노트 2.0 앱을 열 수 있는 함수 (via URL Scheme)
  • 웹이 앱의 특정 기능을 호출하기 위한 핸들러 함수들
  • 앱이 웹의 특정 기능을 호출하기 위한 window.CashntoteWebInterface.executeCallback
    • askPinNumber 처럼 앱이 뭔가 웹에게 알려줘야 하는 핸들러를 호출할 때 콜백을 함께 넘기면 그걸 등록해두었다가 실행하는 구조
  • 바텀시트/팝업 등 안드로이드 앱에서 백버튼 눌러서 “닫을” 수 있는 UI를 통제하기 위한 widow.Popup
    • 바텀시트 등을 여는 코드에서 window.Pupup.register하면서 closeCallback을 함께 넘기면, 앱이 백버튼 캐치해서 window.Popup.close 를 호출했을 때 closeCallback을 실행 (하단 예시 코드 스니펫 참조)
export default function BottomSheet({
  name,
  eventProps,
  onClose,
  ...props
}: Props) {
  const handleClose = React.useCallback(() => {
    window.Popup.unregister();
    onClose();
  }, [onClose]);

  React.useEffect(() => {
    if (props.opened) {
      if (window.Popup.isOpened()) return;
      window.Popup.register(handleClose);
    }
  }, [props.opened, handleClose]);

  React.useEffect(
    () => () => {
      if (props.opened) {
        window.Popup.unregister();
      }
    },
    [props.opened],
  );

  return createPortal(
    <BaseBottomSheet onClose={handleClose} {...props} />,
    rootElement!,
  );
0.1.80

2 years ago

0.1.81

2 years ago

0.1.75

2 years ago

0.1.76

2 years ago

0.1.77

2 years ago

0.1.78

2 years ago

0.1.79

2 years ago

0.1.74

2 years ago

0.1.70

2 years ago

0.1.71

2 years ago

0.1.72

2 years ago

0.1.73

2 years ago

0.1.63

2 years ago

0.1.64

2 years ago

0.1.65

2 years ago

0.1.66

2 years ago

0.1.67

2 years ago

0.1.68

2 years ago

0.1.69

2 years ago

0.1.61

2 years ago

0.1.62

2 years ago

0.1.57

2 years ago

0.1.58

2 years ago

0.1.59

2 years ago

0.1.60

2 years ago

0.1.53

2 years ago

0.1.55

2 years ago

0.1.56

2 years ago

0.1.49

2 years ago

0.1.45

2 years ago

0.1.46

2 years ago

0.1.47

2 years ago

0.1.48

2 years ago

0.1.30

3 years ago

0.1.31

3 years ago

0.1.32

3 years ago

0.1.33

3 years ago

0.1.34

3 years ago

0.1.35

3 years ago

0.1.36

3 years ago

0.1.37

3 years ago

0.1.41

3 years ago

0.1.42

3 years ago

0.1.43

3 years ago

0.1.44

3 years ago

0.1.40

3 years ago

0.1.38

3 years ago

0.1.39

3 years ago

0.1.28

3 years ago

0.1.29

3 years ago

0.1.24

3 years ago

0.1.25

3 years ago

0.1.23

3 years ago

0.1.22

3 years ago

0.1.21

3 years ago

0.1.18

3 years ago

0.1.19

3 years ago

0.1.17

3 years ago

0.1.13

4 years ago

0.1.14

4 years ago

0.1.15

4 years ago

0.1.16

4 years ago

0.1.12

4 years ago

0.1.11

4 years ago

0.1.10

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago