onsitesurvey/README.md

2.1 KiB
Raw Blame History

prisma 연결

npx prisma migrate dev

npx prisma generate

npx prisma db pull
npx prisma db push

generate 를 진행해야 로컬에 연결 파일들이 생성이되고 pull push 를 사용할 수 있게 됨.

react query cache data 가져오기

const cache = useQueryClient()
const data = cache.getQueryData(['user', 'info']) as UserState

팝업 컨트롤러 제어

open

const popupController = usePopupController()

onClick={() => popupController.setMemberInformationPopup(true)}
onClick={() => popupController.setZipCodePopup(true)}

close

const popupController = usePopupController()

onClick={() => popupController.setMemberInformationPopup(false)}
onClick={() => popupController.setZipCodePopup(false)}

useEffect 정리

  • client url pathname 변경시 -> @/components/ui/Header.tsx

User Role 구분

session에 있는 role 키로 구분한다

  • T01 / T01 -> Super user
    session.role === 'T01'
  • A03 / 1234 -> T01을 제외한 1차점
    session.role === 'Admin'
  • 2A03 / 1234 -> 2차점
    session.role === 'Admin_Sub'
  • constA03_01 / 1234 -> 시공사
    session.role === 'Builder'
  • teshg44 / 1234 -> 시공사
    session.role === 'Builder'
  • partners -> Q.Partners 계정
    session.role === 'Partner'
  • 이외의 경우 -> 굳이 체크할 필요 없어보임
    session.role === 'User'

지붕재 적합성 TODO

const suitableCheckIcon = (value: string): string => {
  const iconMap: Record<string, string> = {
    '×': '/assets/images/sub/compliance_x_icon.svg',
    'ー': '/assets/images/sub/compliance_quest_icon.svg',
    default: '/assets/images/sub/compliance_check_icon.svg',
  }
  return iconMap[value] || iconMap.default
}
const suitableCheckMemo = (value: string): string => {
  if (value === '○') return '設置可'
  if (value === '×') return '設置不可'
  if (value === 'ー') return 'お問い合わせください'
  return `${value}で設置可`
}
  • src/hooks/useSuitable.ts > suitableCheckIcon(), suitableCheckMemo()
    • 추후 지붕재 적합성 데이터 CUD 구현 시 ×, ー 데이터 관리 필요