85 lines
2.1 KiB
Markdown
85 lines
2.1 KiB
Markdown
# 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 구현 시 ×, ー 데이터 관리 필요
|