Compare commits
355 Commits
main
...
feature/su
| Author | SHA1 | Date | |
|---|---|---|---|
| 69571e86b8 | |||
| ca45c68b9d | |||
| 8a1313a964 | |||
| fe96acebec | |||
| 53966a16e1 | |||
| 78beaa7b8a | |||
| c2e76fa764 | |||
| 0bcb0f58e5 | |||
| 3088c88122 | |||
| 721edddbe0 | |||
| 510f886220 | |||
| 941c0921c9 | |||
| e35cc50660 | |||
| d24d994318 | |||
| 7f14135616 | |||
| 8c36446de7 | |||
| f0b23c35af | |||
| 37435d2cca | |||
| 7078bd15af | |||
| f1617045a5 | |||
| 697137619e | |||
| 5be7237aa6 | |||
| 02ce7217a7 | |||
| 4d16276221 | |||
| 0465f2306b | |||
| 495aeef2c2 | |||
| 8f365f998e | |||
| 03d91f3fa0 | |||
| 23164a3f8c | |||
| 56f8ad9aaf | |||
| dc0009ddd7 | |||
| 0d8dc7dc02 | |||
| 5014162f2f | |||
| 82cdb2a755 | |||
| 34883e166a | |||
| 479643216c | |||
| 76f85f65c9 | |||
| 3a8c431f41 | |||
| 221c66f293 | |||
| 67ba964eec | |||
| c027a3977b | |||
| 52a2032a8c | |||
| 70903cd779 | |||
| 478ae3a784 | |||
| 6d837d3e98 | |||
| d9824c6b9b | |||
| d599f28522 | |||
| 2a3a726b84 | |||
| 1adbb24daa | |||
| 84ebb8e021 | |||
| 46fe524f79 | |||
| 5fd5e852c3 | |||
| 014f473d85 | |||
| ea46635d7a | |||
| 7f0d1cf877 | |||
| 94a1352817 | |||
| efd3272ff4 | |||
| 25935a96be | |||
| c8692577fb | |||
| 69b1dd6955 | |||
| ec910bc3de | |||
| a14dd96147 | |||
| 35b1002908 | |||
| 55c15c44ac | |||
| e482ba1400 | |||
| 94ce738a73 | |||
| 8bcffd43bb | |||
| ff099f348e | |||
| 0fbb8025f2 | |||
| 36bcdd00a1 | |||
| 1c66131111 | |||
| b2aefe7ea8 | |||
| d718012f6f | |||
| d2877ea440 | |||
| 991cb5f0b2 | |||
| e833e25048 | |||
| 2b8cbe1aed | |||
| 1f044337d6 | |||
| 173401b67d | |||
| b45a7f4cba | |||
| 149be24e9a | |||
| 431512f5bf | |||
| 0521c88e79 | |||
| 916946956a | |||
| 36d5191311 | |||
| 57a1e6a69b | |||
| 29e7675ada | |||
| a25538319a | |||
| b2c22dc5a5 | |||
| 2e0ff4ae6f | |||
| 31a63cb643 | |||
| 50a2335590 | |||
| a5696984fc | |||
| 80194efec1 | |||
| c76526bf9b | |||
| d31a189899 | |||
| e8498948df | |||
| 0a88c80bd9 | |||
| e846b55faa | |||
| 333f06bb64 | |||
| 6991bcbf13 | |||
| b0878c853b | |||
| ac575d76d1 | |||
| 2c5ddad29b | |||
| 0e7de68f29 | |||
| 956e4ed910 | |||
| f74c0a6136 | |||
| 4a7051fdd1 | |||
| ea7180b527 | |||
| a013cea464 | |||
| bdbdf9997f | |||
| a483ffce44 | |||
| 1057c29995 | |||
| 333943c651 | |||
| c4ed298db5 | |||
| 13eb23863b | |||
| 68da6f7f0f | |||
| 0cd95c6aff | |||
| a964e31dee | |||
| ac59d626ab | |||
| 0d96d49281 | |||
| dd34c51dc1 | |||
| 45f523447a | |||
| e69c45105e | |||
| 4e8f698f88 | |||
| e66b009dd3 | |||
| 1ab4f82c32 | |||
| 81cb60e7ed | |||
| 5f63a38811 | |||
| c10d1c3b5c | |||
| 2f8823c252 | |||
| 38929b632f | |||
| aa4292789a | |||
| a58c58afca | |||
| b3550ff497 | |||
| 67d587acf5 | |||
| 7fa03e0713 | |||
| 73b042b0ac | |||
| 7ae297f3b6 | |||
| 905a309a9c | |||
| 6033054c6e | |||
| 6ec1d3fa9f | |||
|
|
534e672ad5 | ||
|
|
c1641e167d | ||
|
|
fcd80cbe3b | ||
| 09795f71ac | |||
| d21865ca65 | |||
| 2d1184e1c0 | |||
| e2e5a484ca | |||
| f54260fc27 | |||
| 7a6b9cbf92 | |||
| 57d6202d5c | |||
| 2e66ff5782 | |||
| eb1f6b23e7 | |||
| 8ae0f62c81 | |||
| ab86e16bc9 | |||
| 09f280644f | |||
| b02f3e85a7 | |||
| 8d5d0b6244 | |||
| 9c0440b233 | |||
| f53c7410e2 | |||
| e207cee460 | |||
| 69b08706aa | |||
| 5fb1afca39 | |||
|
|
3d9cd1d992 | ||
| 4e8fd462cf | |||
| 398fffb6db | |||
| 96c725b459 | |||
| 900e8edcec | |||
|
|
e3b755896b | ||
|
|
cdae73b95e | ||
| 6bcc466a76 | |||
| 1d77fec86d | |||
| c653df0ce7 | |||
| 6b62dfc1f2 | |||
| e05f142df2 | |||
| 7066d01060 | |||
| 2159bef4e0 | |||
| 21c0a7a3a0 | |||
|
|
bc3193714a | ||
| 519e2ec195 | |||
| d03c01e3a9 | |||
| b8ec659ea2 | |||
| 2e32260fa2 | |||
| 4d6f5c0e01 | |||
| b11cd41ceb | |||
| 5ba6758a6d | |||
| c12a010bff | |||
| ed47d6abf5 | |||
| beba34321d | |||
| d7aca7e214 | |||
| 510317c676 | |||
| 7afe408a5f | |||
| 5f23cf986f | |||
|
|
d5f30a565f | ||
| 148ed2dda4 | |||
| 7a23f02e85 | |||
| 4392802298 | |||
| 84771ad742 | |||
| ff52b2ab56 | |||
|
|
1185d08c8d | ||
| 3e7a4140ac | |||
| 304fa95e68 | |||
| c94ced6c77 | |||
|
|
6eb94dc82c | ||
| ff644395ec | |||
| 02283c3b71 | |||
| 2217426152 | |||
| 2bfacca06b | |||
| 8034424d15 | |||
| 4ca4a28c7d | |||
| 3212763a1b | |||
| 5c0593b755 | |||
| b4dfc2211f | |||
| 59b1f3198c | |||
| a227ba7115 | |||
| 47be6a4433 | |||
| 70c45bc182 | |||
| 2ba6583ffb | |||
| a4c36474d5 | |||
| c545cbab93 | |||
| a2a2b2e6fa | |||
| 15e02f60ec | |||
| 1dcb3add79 | |||
| 98299ffe92 | |||
| f33786a8eb | |||
| cacf351a7c | |||
| 78f8072211 | |||
| 32a8ec72ef | |||
| e5affe0df5 | |||
| f8b11c3e7e | |||
| 9f4c3de2cf | |||
| 2c75a6b416 | |||
| 7973d7c2b1 | |||
| 186843e154 | |||
| bc1c1579cc | |||
| 0cdd7cdebd | |||
| 8ad1ed4bcf | |||
| e3940f72c8 | |||
| 778d3b6be8 | |||
| b4e009cb8e | |||
| 34319dadcd | |||
| 2d914d3798 | |||
| bd89552cc7 | |||
|
|
493fd6cb9d | ||
| 6bbd1a6174 | |||
| 7173ec2496 | |||
|
|
c5db65fc4d | ||
| 69d81d892d | |||
| e84ef1b7a0 | |||
| 901b7b1ae8 | |||
| 29488b2412 | |||
| 6cab9cdde3 | |||
| 2eacdda23e | |||
| da0d77724d | |||
| db2daf8ba0 | |||
| ce00cc2ba7 | |||
| e6d346c5da | |||
| 178e9c0d3e | |||
| c06a96bc1b | |||
| 8bc629698a | |||
| 3e16d3a767 | |||
| 5e8d2fa8cc | |||
| 436f149635 | |||
| 34638ff0f0 | |||
| 65483812a6 | |||
| 95d971b198 | |||
| a6702f52fc | |||
| 06967d746c | |||
| b61f5205e4 | |||
| b4db26d80a | |||
| 4ab2b225cd | |||
| 5628d330d5 | |||
| 1746c91742 | |||
| 4467c04321 | |||
| 555e6f3b4a | |||
| 2397b7f144 | |||
| dfd5ba419b | |||
| b1f81d7853 | |||
| 0d12239460 | |||
| e355ad5378 | |||
| 68408eb3c9 | |||
| 115ffb8a74 | |||
| fd27bfe7d0 | |||
| 692d2b7d84 | |||
| 05f4fe4e94 | |||
| 5048fe1c08 | |||
| c9378dfccd | |||
|
|
2166b7836e | ||
| d340e3d976 | |||
| 82e198836a | |||
| e86c5d18b4 | |||
| daf9f31733 | |||
| 3cf55e1a9e | |||
| 3937179279 | |||
| 8153dd9d18 | |||
| ec9f0fa747 | |||
| 8e563c18dc | |||
| c9812d1159 | |||
| 9255d3fab7 | |||
| 4e90af97e7 | |||
| 9ae6cf99f9 | |||
| 7046b215c4 | |||
| 38055365a5 | |||
| e0bdaa4ddf | |||
| 044385fceb | |||
| ddd41009b7 | |||
| eea55ae8b4 | |||
| baf3700f67 | |||
| 6777fae68c | |||
| eaddd3b2a3 | |||
| 21fd51753e | |||
| 2a373dd712 | |||
| fc93853601 | |||
| 63750844ee | |||
| 8786824569 | |||
|
|
b56d013dc2 | ||
| 631176301b | |||
|
|
3e77864d2e | ||
| 041e43f78b | |||
| 40952ec38a | |||
| 1d592b4226 | |||
| 3736b8b094 | |||
| 6598dc9459 | |||
| 1f102a5054 | |||
| ffa72ba9eb | |||
| c5af6b848b | |||
| 933eeb5f2e | |||
| cc8b988fdb | |||
| 02f6ad9f46 | |||
| b1db492937 | |||
| 71f7913bee | |||
| b9cc66090e | |||
| 6592b1d3b9 | |||
| 9185b5cb7a | |||
| 36ea0dbf19 | |||
| 4afcd7f8eb | |||
| 9334773023 | |||
| 818ecb724b | |||
| adfe6d7a32 | |||
| 56c2693bb7 | |||
| 17641d2b57 | |||
| 45b244d309 | |||
| 01e41fd1f5 | |||
| f801bacd12 | |||
| 08d99fb4e7 | |||
| 37a40989dd | |||
| ab1e89f5d6 | |||
| a684a3e5be | |||
| 68ea411064 | |||
| 65a30310a5 | |||
| 8240b434fd | |||
| bfbbdc01b8 | |||
| d36084add5 | |||
| cc8ef6a7d3 |
3
.env
@ -5,7 +5,8 @@
|
||||
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
|
||||
|
||||
# DATABASE_URL="sqlserver://3team.devgrr.kr:1433;database=onsitesurvey;user=sa;password=1q2w3e4r!;encrypt=true;trustServerCertificate=true;"
|
||||
DATABASE_URL="sqlserver://172.30.1.35:1433;database=onsitesurvey;user=sa;password=1q2w3e4r!;encrypt=true;trustServerCertificate=true;"
|
||||
DATABASE_URL="sqlserver://3team.devgrr.kr:1433;database=onsitesurvey;user=sa;password=1q2w3e4r!;encrypt=true;trustServerCertificate=true;"
|
||||
# DATABASE_URL="mysql://root:root@localhost:3306/onsitesurvey"
|
||||
|
||||
# SESSION_PASSWORD="QWERASDFZXCV1234567890REWQFDSAVCXZ"
|
||||
SESSION_PASSWORD="This application is for mobile field research"
|
||||
@ -1,3 +1,28 @@
|
||||
NEXT_PUBLIC_RUN_MODE=development
|
||||
# 모바일 디바이스로 로컬 서버 확인하려면 자신 IP 주소로 변경
|
||||
# 다시 로컬에서 개발할때는 localhost로 변경
|
||||
#route handler
|
||||
NEXT_PUBLIC_API_URL=http://localhost:3000
|
||||
|
||||
#qsp 로그인 api
|
||||
NEXT_PUBLIC_QSP_API_URL=http://1.248.227.176:8120
|
||||
# NEXT_PUBLIC_QSP_API_URL=https://jp-dev.qsalesplatform.com
|
||||
|
||||
#1:1문의 api
|
||||
NEXT_PUBLIC_INQUIRY_API_URL=https://jp-dev.qsalesplatform.com
|
||||
|
||||
EMAIL_TITLE_PREFIX=(System Test)
|
||||
|
||||
#QPARTNER 로그인 api
|
||||
DB_HOST=202.218.61.226
|
||||
DB_USER=readonly
|
||||
DB_PASSWORD=aAjmFW12iHKW84l1
|
||||
DB_DATABASE=qpartners
|
||||
DB_PORT=3306
|
||||
|
||||
SMTP_HOST=autodiscover.qcells.com
|
||||
SMTP_PORT=25
|
||||
SMTP_SECURE=false
|
||||
SMTP_USER=hss404.u021@cleverse.dev
|
||||
SMTP_PASSWORD=0000
|
||||
SMTP_FROM=qsalesplatform@qcells.com
|
||||
28
.env.localhost
Normal file
@ -0,0 +1,28 @@
|
||||
NEXT_PUBLIC_RUN_MODE=local
|
||||
# 모바일 디바이스로 로컬 서버 확인하려면 자신 IP 주소로 변경
|
||||
# 다시 로컬에서 개발할때는 localhost로 변경
|
||||
#route handler
|
||||
NEXT_PUBLIC_API_URL=http://localhost:3000
|
||||
|
||||
#qsp 로그인 api
|
||||
NEXT_PUBLIC_QSP_API_URL=http://1.248.227.176:8120
|
||||
# NEXT_PUBLIC_QSP_API_URL=https://jp-dev.qsalesplatform.com
|
||||
|
||||
#1:1문의 api
|
||||
NEXT_PUBLIC_INQUIRY_API_URL=https://jp-dev.qsalesplatform.com
|
||||
|
||||
EMAIL_TITLE_PREFIX=
|
||||
|
||||
#QPARTNER 로그인 api
|
||||
DB_HOST=202.218.61.226
|
||||
DB_USER=readonly
|
||||
DB_PASSWORD=aAjmFW12iHKW84l1
|
||||
DB_DATABASE=qpartners
|
||||
DB_PORT=3306
|
||||
|
||||
SMTP_HOST=autodiscover.qcells.com
|
||||
SMTP_PORT=25
|
||||
SMTP_SECURE=false
|
||||
SMTP_USER=hss404.u021@cleverse.dev
|
||||
SMTP_PASSWORD=0000
|
||||
SMTP_FROM=qsalesplatform@qcells.com
|
||||
@ -1 +1,26 @@
|
||||
NEXT_PUBLIC_API_URL=http://172.30.1.35:3000
|
||||
NEXT_PUBLIC_RUN_MODE=production
|
||||
#route handler
|
||||
NEXT_PUBLIC_API_URL=http://localhost:3000
|
||||
|
||||
#qsp 로그인 api
|
||||
# NEXT_PUBLIC_QSP_API_URL=http://1.248.227.176:8120
|
||||
NEXT_PUBLIC_QSP_API_URL=https://jp.qsalesplatform.com
|
||||
|
||||
#1:1문의 api
|
||||
NEXT_PUBLIC_INQUIRY_API_URL=http://172.23.4.129:8110
|
||||
|
||||
EMAIL_TITLE_PREFIX=
|
||||
|
||||
#QPARTNER 로그인 api
|
||||
DB_HOST=202.218.61.226
|
||||
DB_USER=readonly
|
||||
DB_PASSWORD=aAjmFW12iHKW84l1
|
||||
DB_DATABASE=qpartners
|
||||
DB_PORT=3306
|
||||
|
||||
SMTP_HOST=autodiscover.qcells.com
|
||||
SMTP_PORT=25
|
||||
SMTP_SECURE=true
|
||||
SMTP_USER=hss404.u021@cleverse.dev
|
||||
SMTP_PASSWORD=0000
|
||||
SMTP_FROM=qsalesplatform@qcells.com
|
||||
154
README.md
@ -1,4 +1,71 @@
|
||||
# prisma 연결
|
||||
# 모바일 현장 조사 애플리케이션 (onsitesurvey)
|
||||
|
||||
## 개요
|
||||
|
||||
Next.js와 TypeScript로 구축된 현장 조사용 모바일 애플리케이션입니다.
|
||||
|
||||
## 기술 스택
|
||||
|
||||
- **프레임워크**: Next.js (App Router)
|
||||
- **언어**: TypeScript
|
||||
- **UI 컴포넌트**: Shadcn UI, Radix UI
|
||||
- **스타일링**: Tailwind CSS
|
||||
- **상태 관리**: React Query
|
||||
- **데이터베이스**: Prisma ORM
|
||||
- **인증**: 세션 기반 인증
|
||||
|
||||
## 시작하기
|
||||
|
||||
### 필수 요구사항
|
||||
|
||||
- Node.js (LTS 버전)
|
||||
- npm 또는 yarn 또는 pnpm 또는 burn
|
||||
- Prisma CLI
|
||||
|
||||
### 설치 방법
|
||||
|
||||
```bash
|
||||
# 의존성 설치
|
||||
npm install
|
||||
|
||||
# 환경 변수 설정
|
||||
cp .env.example .env.local
|
||||
|
||||
```
|
||||
|
||||
### 개발 서버 실행
|
||||
|
||||
```bash
|
||||
# 개발 서버 실행
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 프로덕션 빌드
|
||||
|
||||
```bash
|
||||
# 애플리케이션 빌드
|
||||
npm run build
|
||||
|
||||
# 프로덕션 서버 실행
|
||||
npm start
|
||||
```
|
||||
|
||||
## 프로젝트 구조
|
||||
|
||||
[프로젝트 구조 Diagram](./diagram/mermaid.md)
|
||||
|
||||
```
|
||||
├── app/ # Next.js 앱 디렉토리
|
||||
├── components/ # React 컴포넌트
|
||||
├── hooks/ # 커스텀 React 훅
|
||||
├── lib/ # 유틸리티 함수 및 설정
|
||||
├── prisma/ # 데이터베이스 스키마 및 마이그레이션
|
||||
└── public/ # 정적 자산
|
||||
```
|
||||
|
||||
## 참고
|
||||
|
||||
### prisma 연결
|
||||
|
||||
```
|
||||
npx prisma migrate dev
|
||||
@ -11,9 +78,92 @@ npx prisma db push
|
||||
|
||||
generate 를 진행해야 로컬에 연결 파일들이 생성이되고 pull push 를 사용할 수 있게 됨.
|
||||
|
||||
# react query cache data 가져오기
|
||||
### react query cache data 가져오기
|
||||
|
||||
```
|
||||
const cache = useQueryClient()
|
||||
const data = cache.getQueryData(['user', 'info']) as UserState
|
||||
```
|
||||
|
||||
### 팝업 컨트롤러 제어
|
||||
|
||||
[open]
|
||||
|
||||
```javascript
|
||||
const popupController = usePopupController()
|
||||
|
||||
onClick={() => popupController.setMemberInformationPopup(true)}
|
||||
onClick={() => popupController.setZipCodePopup(true)}
|
||||
```
|
||||
|
||||
[close]
|
||||
|
||||
```javascript
|
||||
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'
|
||||
- isogai@yanegiken.co.jp / password -> 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 구현 시 ×, ー 데이터 관리 필요
|
||||
|
||||
# 주의
|
||||
|
||||
## <span style="color: red">Prisma ORM 사용 시 주의사항</span>
|
||||
|
||||
현재 프로젝트는 Prisma ORM을 통해 데이터베이스의 일부 테이블만 관리하고 있습니다. 이로 인해 `prisma db pull` 또는 `prisma db push` 명령어 사용 시 주의가 필요합니다.
|
||||
|
||||
### <span style="color: red">잠재적 위험성</span>
|
||||
|
||||
- `schema.prisma` 파일에 정의된 모델이 의도치 않게 수정될 수 있습니다.
|
||||
- 기존에 정의된 모델의 속성이나 관계가 손상될 수 있습니다.
|
||||
- 데이터베이스 스키마와 Prisma 스키마 간의 불일치가 발생할 수 있습니다.
|
||||
|
||||
### <span style="color: red">권장 사항</span>
|
||||
|
||||
- 데이터베이스 스키마 변경이 필요한 경우, 반드시 팀 내 논의 후 진행하시기 바랍니다.
|
||||
- `prisma db pull` 실행 전 현재 `schema.prisma` 파일의 백업을 권장합니다.
|
||||
- 변경 사항 적용 전 staging 환경에서 충분한 테스트를 진행하시기 바랍니다.
|
||||
|
||||
88
diagram/Login.md
Normal file
@ -0,0 +1,88 @@
|
||||
# Login Component Structure
|
||||
|
||||
## Component Diagram
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Login Component] --> B[State Management]
|
||||
B --> B1[useState Hooks]
|
||||
B1 --> B1a[pwShow: 비밀번호 표시 여부]
|
||||
B1 --> B1b[idSave: ID 저장 여부]
|
||||
B1 --> B1c[isPartners: Q.PARTNERS 여부]
|
||||
B1 --> B1d[isLogin: 로그인 상태]
|
||||
|
||||
A --> C[Account Management]
|
||||
C --> C1[useReducer]
|
||||
C1 --> C1a[loginId]
|
||||
C1 --> C1b[pwd]
|
||||
|
||||
A --> D[External Hooks]
|
||||
D --> D1[useRouter]
|
||||
D --> D2[useLocalStorage]
|
||||
D --> D3[useSessionStore]
|
||||
D --> D4[useAxios]
|
||||
D --> D5[useQuery]
|
||||
|
||||
A --> E[Event Handlers]
|
||||
E --> E1[handleLogin]
|
||||
E --> E2[handleKeyDown]
|
||||
E --> E3[validateLogin]
|
||||
|
||||
A --> F[Effects]
|
||||
F --> F1[Login Success Effect]
|
||||
F1 --> F1a[세션 저장]
|
||||
F1 --> F1b[라우팅]
|
||||
F --> F2[Email Validation Effect]
|
||||
F2 --> F2a[Partners 모드 전환]
|
||||
|
||||
A --> G[UI Components]
|
||||
G --> G1[Login Form]
|
||||
G1 --> G1a[ID Input]
|
||||
G1 --> G1b[Password Input]
|
||||
G1 --> G1c[Checkboxes]
|
||||
G1 --> G1d[Login Button]
|
||||
```
|
||||
|
||||
## 주요 특징과 동작 방식
|
||||
|
||||
### 1. 상태 관리
|
||||
|
||||
- `useState`를 사용하여 UI 상태 관리 (비밀번호 표시, ID 저장, Partners 모드)
|
||||
- `useReducer`를 사용하여 계정 정보(loginId, pwd) 관리
|
||||
|
||||
### 2. 외부 훅 통합
|
||||
|
||||
- `useRouter`: 페이지 라우팅
|
||||
- `useLocalStorage`: 로컬 스토리지 데이터 관리
|
||||
- `useSessionStore`: 세션 상태 관리
|
||||
- `useAxios`: API 통신
|
||||
- `useQuery`: 로그인 API 호출 및 상태 관리
|
||||
|
||||
### 3. 이벤트 처리
|
||||
|
||||
- `handleLogin`: 로그인 시도
|
||||
- `handleKeyDown`: Enter 키 입력 처리
|
||||
- `validateLogin`: 입력값 유효성 검사
|
||||
|
||||
### 4. 효과 처리
|
||||
|
||||
- 로그인 성공 시 세션 저장 및 라우팅
|
||||
- 이메일 형식에 따른 Partners 모드 자동 전환
|
||||
|
||||
### 5. UI 구성
|
||||
|
||||
- ID/PW 입력 필드
|
||||
- 비밀번호 표시/숨김 토글
|
||||
- ID 저장 체크박스
|
||||
- Q.PARTNERS 토글
|
||||
- 로그인 버튼
|
||||
|
||||
### 6. 보안 및 유효성 검사
|
||||
|
||||
- 이메일 형식 검증
|
||||
- 필수 입력값 검증
|
||||
- API 응답 코드에 따른 처리 (200: 성공, 400: 실패)
|
||||
|
||||
## 특징
|
||||
|
||||
이 컴포넌트는 클라이언트 사이드에서 동작하며('use client'), 사용자 인증과 관련된 모든 로직을 포함하고 있습니다. 특히 Q.PARTNERS 모드와 일반 모드를 구분하여 다른 API 엔드포인트를 사용하는 특징이 있습니다.
|
||||
71
diagram/layout.md
Normal file
@ -0,0 +1,71 @@
|
||||
# 루트 레이아웃 구조
|
||||
|
||||
이 문서는 애플리케이션의 모든 페이지에서 공통으로 사용되는 루트 레이아웃(`src/app/layout.tsx`)의 구조를 설명합니다.
|
||||
|
||||
## 컴포넌트 계층 구조
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[RootLayout] --> B[ReactQueryProviders]
|
||||
B --> C[EdgeProvider]
|
||||
C --> D[HTML Structure]
|
||||
|
||||
D --> E[Header]
|
||||
D --> F[Children/Main Content]
|
||||
D --> G[Footer]
|
||||
D --> H[Float Button]
|
||||
D --> I[PopupController]
|
||||
|
||||
J[Session Management] --> |Session Data| C
|
||||
|
||||
subgraph Providers
|
||||
B
|
||||
C
|
||||
end
|
||||
|
||||
subgraph Layout Components
|
||||
E
|
||||
F
|
||||
G
|
||||
H
|
||||
I
|
||||
end
|
||||
|
||||
subgraph Session
|
||||
J
|
||||
end
|
||||
```
|
||||
|
||||
## 주요 컴포넌트
|
||||
|
||||
### 프로바이더
|
||||
|
||||
- **ReactQueryProviders**: React Query 상태 관리를 위한 최상위 프로바이더
|
||||
- **EdgeProvider**: 세션 데이터를 관리하고 애플리케이션에 제공
|
||||
|
||||
### 레이아웃 컴포넌트
|
||||
|
||||
- **Header**: 공통 헤더 컴포넌트
|
||||
- **Children**: 메인 콘텐츠 영역 (페이지별 콘텐츠)
|
||||
- **Footer**: 공통 푸터 컴포넌트
|
||||
- **Float Button**: 플로팅 액션 버튼
|
||||
- **PopupController**: 팝업/모달 상태 관리
|
||||
|
||||
### 세션 관리
|
||||
|
||||
- `iron-session`을 사용한 서버 사이드 세션 관리
|
||||
- 세션 데이터는 EdgeProvider를 통해 전역적으로 접근 가능
|
||||
|
||||
## 데이터 흐름
|
||||
|
||||
1. 세션 데이터는 서버 사이드에서 관리됨
|
||||
2. 세션 데이터는 EdgeProvider로 전달됨
|
||||
3. 모든 레이아웃 컴포넌트는 세션 컨텍스트에 접근 가능
|
||||
4. React Query는 데이터 페칭과 캐싱 기능을 제공
|
||||
|
||||
## 구현 세부사항
|
||||
|
||||
- 서버 컴포넌트로 구현
|
||||
- Next.js App Router 구조 사용
|
||||
- 서버 사이드 렌더링 지원
|
||||
- 하이드레이션 억제를 통한 성능 최적화
|
||||
98
diagram/mermaid.md
Normal file
@ -0,0 +1,98 @@
|
||||
# Project Structure Documentation
|
||||
|
||||
## Component Relationship Diagram
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph Root
|
||||
A[RootLayout] --> B[ReactQueryProviders]
|
||||
B --> C[EdgeProvider]
|
||||
C --> D[HTML Structure]
|
||||
end
|
||||
|
||||
subgraph Layout Components
|
||||
D --> E[Header]
|
||||
D --> F[Main Content]
|
||||
D --> G[Footer]
|
||||
D --> H[Float Button]
|
||||
D --> I[PopupController]
|
||||
end
|
||||
|
||||
subgraph Pages
|
||||
F --> J[Login]
|
||||
F --> K[Survey Sale]
|
||||
F --> L[Suitable]
|
||||
F --> M[Inquiry]
|
||||
F --> N[Password Reset]
|
||||
F --> O[PDF]
|
||||
end
|
||||
|
||||
subgraph Providers
|
||||
P1[ReactQueryProvider]
|
||||
P2[EdgeProvider]
|
||||
end
|
||||
|
||||
subgraph Components
|
||||
C1[UI Components]
|
||||
C2[Popup Components]
|
||||
C3[PDF Components]
|
||||
C4[Survey Components]
|
||||
C5[Inquiry Components]
|
||||
end
|
||||
|
||||
subgraph Utils
|
||||
U1[Session Management]
|
||||
U2[Mailer]
|
||||
U3[API Routes]
|
||||
end
|
||||
|
||||
%% Relationships
|
||||
A --> P1
|
||||
A --> P2
|
||||
J --> U1
|
||||
K --> C4
|
||||
L --> C4
|
||||
M --> C5
|
||||
N --> U2
|
||||
O --> C3
|
||||
```
|
||||
|
||||
## Structure Explanation
|
||||
|
||||
### 1. Root Layout
|
||||
|
||||
- `RootLayout`이 전체 애플리케이션의 기본 구조를 정의
|
||||
- `ReactQueryProviders`와 `EdgeProvider`로 감싸져 있음
|
||||
|
||||
### 2. Layout Components
|
||||
|
||||
- Header, Footer, Float Button 등 공통 레이아웃 컴포넌트
|
||||
- `PopupController`로 팝업 관리
|
||||
|
||||
### 3. Pages
|
||||
|
||||
- Next.js App Router 기반의 페이지 구조
|
||||
- Login, Survey Sale, Suitable, Inquiry 등 주요 페이지들
|
||||
|
||||
### 4. Providers
|
||||
|
||||
- `ReactQueryProvider`: 데이터 페칭 관리
|
||||
- `EdgeProvider`: 세션 및 상태 관리
|
||||
|
||||
### 5. Components
|
||||
|
||||
- UI Components: 공통 UI 요소
|
||||
- Popup Components: 팝업 관련 컴포넌트
|
||||
- PDF Components: PDF 생성/관리 컴포넌트
|
||||
- Survey Components: 설문 관련 컴포넌트
|
||||
- Inquiry Components: 문의 관련 컴포넌트
|
||||
|
||||
### 6. Utils
|
||||
|
||||
- Session Management: 세션 관리
|
||||
- Mailer: 이메일 발송 기능
|
||||
- API Routes: 백엔드 API 엔드포인트
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
이 구조는 Next.js의 App Router를 기반으로 하며, 컴포넌트 기반 아키텍처를 따르고 있습니다. 각 기능별로 모듈화가 잘 되어있고, 공통 컴포넌트와 유틸리티를 효율적으로 재사용할 수 있도록 구성되어 있습니다.
|
||||
125
diagram/mermaid2.md
Normal file
@ -0,0 +1,125 @@
|
||||
# Login Process Documentation
|
||||
|
||||
## Login Sequence Diagram
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
actor User
|
||||
participant Login as Login Component
|
||||
participant API as Auth API
|
||||
participant QSP as QSP API
|
||||
participant Session as Session Store
|
||||
participant Router as Next Router
|
||||
|
||||
User->>Login: Enter credentials
|
||||
Login->>Login: Validate input
|
||||
alt Invalid Input
|
||||
Login->>User: Show error message
|
||||
else Valid Input
|
||||
Login->>API: POST /api/auth
|
||||
API->>QSP: POST /api/user/login
|
||||
QSP-->>API: Return user data
|
||||
|
||||
alt Login Success
|
||||
API->>Session: Create session
|
||||
Session->>Session: Set user data
|
||||
Session->>Session: Set role
|
||||
API-->>Login: Return success response
|
||||
Login->>Router: Redirect to home
|
||||
Router->>User: Show home page
|
||||
else Login Failed
|
||||
API-->>Login: Return error response
|
||||
Login->>User: Show error message
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
## Login Process Flow
|
||||
|
||||
1. **User Input**
|
||||
|
||||
- User enters login credentials (ID and password)
|
||||
- Optional: User can toggle Q.PARTNERS mode
|
||||
- Optional: User can save ID
|
||||
|
||||
2. **Input Validation**
|
||||
|
||||
- Checks if ID and password are not empty
|
||||
- Validates email format for Q.PARTNERS mode
|
||||
|
||||
3. **Authentication Request**
|
||||
|
||||
- Sends credentials to Auth API
|
||||
- Auth API forwards request to QSP API
|
||||
- QSP API validates credentials
|
||||
|
||||
4. **Session Management**
|
||||
|
||||
- On successful login:
|
||||
- Creates new session
|
||||
- Stores user data
|
||||
- Sets user role based on permissions
|
||||
- Saves session to cookies
|
||||
|
||||
5. **Response Handling**
|
||||
- Success: Redirects to home page
|
||||
- Failure: Shows error message
|
||||
|
||||
## Role Assignment Logic
|
||||
|
||||
The system assigns roles based on the following rules:
|
||||
|
||||
- `T01`: If userId is 'T01'
|
||||
- `Admin`: If groupId is '60000'
|
||||
- `Admin_Sub`: If groupId is '70000' and builderNo is null
|
||||
- `Builder`: If groupId is '70000' and builderNo is not null
|
||||
- `User`: Default role for all other cases
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph Root
|
||||
A[RootLayout] --> B[ReactQueryProviders]
|
||||
B --> C[EdgeProvider]
|
||||
C --> D[HTML Structure]
|
||||
end
|
||||
subgraph Layout Components
|
||||
D --> E[Header]
|
||||
D --> F[Main Content]
|
||||
D --> G[Footer]
|
||||
D --> H[Float Button]
|
||||
D --> I[PopupController]
|
||||
end
|
||||
subgraph Pages
|
||||
F --> J[Login]
|
||||
F --> K[Survey Sale]
|
||||
F --> L[Suitable]
|
||||
F --> M[Inquiry]
|
||||
F --> N[Password Reset]
|
||||
F --> O[PDF]
|
||||
end
|
||||
subgraph Providers
|
||||
P1[ReactQueryProvider]
|
||||
P2[EdgeProvider]
|
||||
end
|
||||
subgraph Components
|
||||
C1[UI Components]
|
||||
C2[Popup Components]
|
||||
C3[PDF Components]
|
||||
C4[Survey Components]
|
||||
C5[Inquiry Components]
|
||||
end
|
||||
subgraph Utils
|
||||
U1[Session Management]
|
||||
U2[Mailer]
|
||||
U3[API Routes]
|
||||
end
|
||||
%% Relationships
|
||||
A --> P1
|
||||
A --> P2
|
||||
J --> U1
|
||||
K --> C4
|
||||
L --> C4
|
||||
M --> C5
|
||||
N --> U2
|
||||
O --> C3
|
||||
```
|
||||
157
diagram/mermaid3.md
Normal file
@ -0,0 +1,157 @@
|
||||
# Pages and Components Class Diagram
|
||||
|
||||
## Class Diagram
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class RootLayout {
|
||||
+ReactNode children
|
||||
+ReactNode header
|
||||
+ReactNode footer
|
||||
+ReactNode floatBtn
|
||||
+ReactQueryProviders
|
||||
+EdgeProvider
|
||||
+PopupController
|
||||
}
|
||||
|
||||
class Page {
|
||||
<<interface>>
|
||||
+ReactNode render()
|
||||
}
|
||||
|
||||
class LoginPage {
|
||||
+Login component
|
||||
+handleLogin()
|
||||
+validateInput()
|
||||
}
|
||||
|
||||
class SurveySalePage {
|
||||
+SurveySaleList
|
||||
+SurveySaleDetail
|
||||
+handleSurveySubmit()
|
||||
}
|
||||
|
||||
class SuitablePage {
|
||||
+SuitableList
|
||||
+SuitableDetail
|
||||
+handleSuitableSubmit()
|
||||
}
|
||||
|
||||
class InquiryPage {
|
||||
+InquiryList
|
||||
+InquiryDetail
|
||||
+handleInquirySubmit()
|
||||
}
|
||||
|
||||
class PasswordResetPage {
|
||||
+PasswordResetForm
|
||||
+handlePasswordReset()
|
||||
}
|
||||
|
||||
class PDFPage {
|
||||
+PDFViewer
|
||||
+PDFGenerator
|
||||
+handlePDFGeneration()
|
||||
}
|
||||
|
||||
class BaseComponent {
|
||||
<<interface>>
|
||||
+ReactNode render()
|
||||
}
|
||||
|
||||
class UIComponent {
|
||||
+Button
|
||||
+Input
|
||||
+Select
|
||||
+Modal
|
||||
}
|
||||
|
||||
class PopupComponent {
|
||||
+PopupController
|
||||
+PopupContent
|
||||
+handlePopup()
|
||||
}
|
||||
|
||||
class PDFComponent {
|
||||
+PDFViewer
|
||||
+PDFGenerator
|
||||
+handlePDF()
|
||||
}
|
||||
|
||||
class SurveyComponent {
|
||||
+SurveyForm
|
||||
+SurveyList
|
||||
+handleSurvey()
|
||||
}
|
||||
|
||||
class InquiryComponent {
|
||||
+InquiryForm
|
||||
+InquiryList
|
||||
+handleInquiry()
|
||||
}
|
||||
|
||||
%% Relationships
|
||||
RootLayout --> Page
|
||||
Page <|-- LoginPage
|
||||
Page <|-- SurveySalePage
|
||||
Page <|-- SuitablePage
|
||||
Page <|-- InquiryPage
|
||||
Page <|-- PasswordResetPage
|
||||
Page <|-- PDFPage
|
||||
|
||||
BaseComponent <|-- UIComponent
|
||||
BaseComponent <|-- PopupComponent
|
||||
BaseComponent <|-- PDFComponent
|
||||
BaseComponent <|-- SurveyComponent
|
||||
BaseComponent <|-- InquiryComponent
|
||||
|
||||
LoginPage --> BaseComponent
|
||||
SurveySalePage --> SurveyComponent
|
||||
SuitablePage --> SurveyComponent
|
||||
InquiryPage --> InquiryComponent
|
||||
PasswordResetPage --> UIComponent
|
||||
PDFPage --> PDFComponent
|
||||
|
||||
RootLayout --> PopupComponent
|
||||
```
|
||||
|
||||
## Component Hierarchy
|
||||
|
||||
1. **Root Layout**
|
||||
|
||||
- 최상위 레이아웃 컴포넌트
|
||||
- ReactQuery와 Edge Provider를 포함
|
||||
- 공통 레이아웃 요소 관리
|
||||
|
||||
2. **Pages**
|
||||
|
||||
- LoginPage: 로그인 기능
|
||||
- SurveySalePage: 설문 판매 관리
|
||||
- SuitablePage: 적합성 관리
|
||||
- InquiryPage: 문의 관리
|
||||
- PasswordResetPage: 비밀번호 재설정
|
||||
- PDFPage: PDF 생성 및 관리
|
||||
|
||||
3. **Base Components**
|
||||
- UIComponent: 기본 UI 요소
|
||||
- PopupComponent: 팝업 관리
|
||||
- PDFComponent: PDF 관련 기능
|
||||
- SurveyComponent: 설문 관련 기능
|
||||
- InquiryComponent: 문의 관련 기능
|
||||
|
||||
## Component Relationships
|
||||
|
||||
1. **Page-Component Relationship**
|
||||
|
||||
- 각 페이지는 필요한 컴포넌트들을 조합하여 구성
|
||||
- 페이지별로 특화된 컴포넌트 사용
|
||||
|
||||
2. **Component Inheritance**
|
||||
|
||||
- 모든 컴포넌트는 BaseComponent 인터페이스 구현
|
||||
- 각 컴포넌트 타입별로 특화된 기능 제공
|
||||
|
||||
3. **Layout Integration**
|
||||
- RootLayout이 전체 페이지 구조 관리
|
||||
- PopupComponent를 통한 모달 관리
|
||||
- 공통 UI 요소의 일관성 유지
|
||||
@ -9,30 +9,13 @@ const nextConfig: NextConfig = {
|
||||
async rewrites() {
|
||||
return [
|
||||
{
|
||||
source: '/:path*',
|
||||
destination: `${process.env.NEXT_PUBLIC_API_URL}/:path*`,
|
||||
},
|
||||
]
|
||||
},
|
||||
async headers() {
|
||||
return [
|
||||
{
|
||||
source: '/api/:path*',
|
||||
headers: [
|
||||
{
|
||||
key: 'Access-Control-Allow-Origin',
|
||||
value: '*',
|
||||
},
|
||||
{
|
||||
key: 'Access-Control-Allow-Methods',
|
||||
value: 'GET, POST, PUT, DELETE, OPTIONS',
|
||||
},
|
||||
{
|
||||
key: 'Access-Control-Allow-Headers',
|
||||
value: 'Content-Type, Authorization',
|
||||
},
|
||||
],
|
||||
source: '/api/user/login',
|
||||
destination: `${process.env.NEXT_PUBLIC_QSP_API_URL}/api/user/login`,
|
||||
},
|
||||
// {
|
||||
// source: '/api/:path*',
|
||||
// destination: `${process.env.NEXT_PUBLIC_API_URL}/api/:path*`,
|
||||
// },
|
||||
]
|
||||
},
|
||||
}
|
||||
|
||||
559
package-lock.json
generated
@ -8,25 +8,33 @@
|
||||
"name": "on-site-survey",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"@prisma/client": "^6.5.0",
|
||||
"@prisma/client": "^6.7.0",
|
||||
"@tanstack/react-query": "^5.71.0",
|
||||
"@tanstack/react-query-devtools": "^5.71.0",
|
||||
"@types/nodemailer": "^6.4.17",
|
||||
"axios": "^1.8.4",
|
||||
"env-cmd": "^10.1.0",
|
||||
"iron-session": "^8.0.4",
|
||||
"lucide": "^0.503.0",
|
||||
"mssql": "^11.0.1",
|
||||
"mysql2": "^3.14.1",
|
||||
"next": "15.2.4",
|
||||
"nodemailer": "^7.0.3",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-to-pdf": "^2.0.0",
|
||||
"sass": "^1.87.0",
|
||||
"swiper": "^11.2.6",
|
||||
"usehooks-ts": "^3.1.1",
|
||||
"zustand": "^5.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4",
|
||||
"@types/mysql": "^2.15.27",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^19",
|
||||
"@types/react-dom": "^19",
|
||||
"prisma": "^6.5.0",
|
||||
"prisma": "^6.7.0",
|
||||
"tailwindcss": "^4",
|
||||
"typescript": "^5"
|
||||
}
|
||||
@ -310,9 +318,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/aix-ppc64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz",
|
||||
"integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
|
||||
"integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@ -327,9 +335,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz",
|
||||
"integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
|
||||
"integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -344,9 +352,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz",
|
||||
"integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
|
||||
"integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -361,9 +369,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -378,9 +386,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz",
|
||||
"integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
|
||||
"integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -395,9 +403,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -412,9 +420,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-arm64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz",
|
||||
"integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
|
||||
"integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -429,9 +437,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -446,9 +454,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz",
|
||||
"integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
|
||||
"integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -463,9 +471,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz",
|
||||
"integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
|
||||
"integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -480,9 +488,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ia32": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz",
|
||||
"integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
|
||||
"integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@ -497,9 +505,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-loong64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz",
|
||||
"integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
|
||||
"integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
@ -514,9 +522,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-mips64el": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz",
|
||||
"integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
|
||||
"integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
@ -531,9 +539,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ppc64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz",
|
||||
"integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
|
||||
"integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@ -548,9 +556,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-riscv64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz",
|
||||
"integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
|
||||
"integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@ -565,9 +573,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-s390x": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz",
|
||||
"integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
|
||||
"integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@ -582,9 +590,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -599,9 +607,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-arm64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz",
|
||||
"integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
|
||||
"integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -616,9 +624,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -633,9 +641,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-arm64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz",
|
||||
"integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
|
||||
"integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -650,9 +658,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -667,9 +675,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/sunos-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -684,9 +692,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-arm64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz",
|
||||
"integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
|
||||
"integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -701,9 +709,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-ia32": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz",
|
||||
"integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
|
||||
"integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@ -718,9 +726,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz",
|
||||
"integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
|
||||
"integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1545,9 +1553,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@prisma/client": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.5.0.tgz",
|
||||
"integrity": "sha512-M6w1Ql/BeiGoZmhMdAZUXHu5sz5HubyVcKukbLs3l0ELcQb8hTUJxtGEChhv4SVJ0QJlwtLnwOLgIRQhpsm9dw==",
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.7.0.tgz",
|
||||
"integrity": "sha512-+k61zZn1XHjbZul8q6TdQLpuI/cvyfil87zqK2zpreNIXyXtpUv3+H/oM69hcsFcZXaokHJIzPAt5Z8C8eK2QA==",
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@ -1567,9 +1575,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@prisma/config": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.5.0.tgz",
|
||||
"integrity": "sha512-sOH/2Go9Zer67DNFLZk6pYOHj+rumSb0VILgltkoxOjYnlLqUpHPAN826vnx8HigqnOCxj9LRhT6U7uLiIIWgw==",
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.7.0.tgz",
|
||||
"integrity": "sha512-di8QDdvSz7DLUi3OOcCHSwxRNeW7jtGRUD2+Z3SdNE3A+pPiNT8WgUJoUyOwJmUr5t+JA2W15P78C/N+8RXrOA==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@ -1578,53 +1586,53 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@prisma/debug": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.5.0.tgz",
|
||||
"integrity": "sha512-fc/nusYBlJMzDmDepdUtH9aBsJrda2JNErP9AzuHbgUEQY0/9zQYZdNlXmKoIWENtio+qarPNe/+DQtrX5kMcQ==",
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.7.0.tgz",
|
||||
"integrity": "sha512-RabHn9emKoYFsv99RLxvfG2GHzWk2ZI1BuVzqYtmMSIcuGboHY5uFt3Q3boOREM9de6z5s3bQoyKeWnq8Fz22w==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@prisma/engines": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.5.0.tgz",
|
||||
"integrity": "sha512-FVPQYHgOllJklN9DUyujXvh3hFJCY0NX86sDmBErLvoZjy2OXGiZ5FNf3J/C4/RZZmCypZBYpBKEhx7b7rEsdw==",
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.7.0.tgz",
|
||||
"integrity": "sha512-3wDMesnOxPrOsq++e5oKV9LmIiEazFTRFZrlULDQ8fxdub5w4NgRBoxtWbvXmj2nJVCnzuz6eFix3OhIqsZ1jw==",
|
||||
"devOptional": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@prisma/debug": "6.5.0",
|
||||
"@prisma/engines-version": "6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60",
|
||||
"@prisma/fetch-engine": "6.5.0",
|
||||
"@prisma/get-platform": "6.5.0"
|
||||
"@prisma/debug": "6.7.0",
|
||||
"@prisma/engines-version": "6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",
|
||||
"@prisma/fetch-engine": "6.7.0",
|
||||
"@prisma/get-platform": "6.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@prisma/engines-version": {
|
||||
"version": "6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60.tgz",
|
||||
"integrity": "sha512-iK3EmiVGFDCmXjSpdsKGNqy9hOdLnvYBrJB61far/oP03hlIxrb04OWmDjNTwtmZ3UZdA5MCvI+f+3k2jPTflQ==",
|
||||
"version": "6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed.tgz",
|
||||
"integrity": "sha512-EvpOFEWf1KkJpDsBCrih0kg3HdHuaCnXmMn7XFPObpFTzagK1N0Q0FMnYPsEhvARfANP5Ok11QyoTIRA2hgJTA==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@prisma/fetch-engine": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.5.0.tgz",
|
||||
"integrity": "sha512-3LhYA+FXP6pqY8FLHCjewyE8pGXXJ7BxZw2rhPq+CZAhvflVzq4K8Qly3OrmOkn6wGlz79nyLQdknyCG2HBTuA==",
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.7.0.tgz",
|
||||
"integrity": "sha512-zLlAGnrkmioPKJR4Yf7NfW3hftcvqeNNEHleMZK9yX7RZSkhmxacAYyfGsCcqRt47jiZ7RKdgE0Wh2fWnm7WsQ==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@prisma/debug": "6.5.0",
|
||||
"@prisma/engines-version": "6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60",
|
||||
"@prisma/get-platform": "6.5.0"
|
||||
"@prisma/debug": "6.7.0",
|
||||
"@prisma/engines-version": "6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",
|
||||
"@prisma/get-platform": "6.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@prisma/get-platform": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.5.0.tgz",
|
||||
"integrity": "sha512-xYcvyJwNMg2eDptBYFqFLUCfgi+wZLcj6HDMsj0Qw0irvauG4IKmkbywnqwok0B+k+W+p+jThM2DKTSmoPCkzw==",
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.7.0.tgz",
|
||||
"integrity": "sha512-i9IH5lO4fQwnMLvQLYNdgVh9TK3PuWBfQd7QLk/YurnAIg+VeADcZDbmhAi4XBBDD+hDif9hrKyASu0hbjwabw==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@prisma/debug": "6.5.0"
|
||||
"@prisma/debug": "6.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/counter": {
|
||||
@ -1938,6 +1946,16 @@
|
||||
"integrity": "sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/mysql": {
|
||||
"version": "2.15.27",
|
||||
"resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.27.tgz",
|
||||
"integrity": "sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.17.28",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.28.tgz",
|
||||
@ -1947,6 +1965,15 @@
|
||||
"undici-types": "~6.19.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/nodemailer": {
|
||||
"version": "6.4.17",
|
||||
"resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.17.tgz",
|
||||
"integrity": "sha512-I9CCaIp6DTldEg7vyUTZi8+9Vo0hi1/T8gv3C89yk1rSAAzoKQ8H8ki/jBYJSFoH/BisgLP8tkZMlQ91CIquww==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/raf": {
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz",
|
||||
@ -2030,6 +2057,15 @@
|
||||
"node": ">= 4.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/aws-ssl-profiles": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz",
|
||||
"integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "1.8.4",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz",
|
||||
@ -2331,6 +2367,35 @@
|
||||
"url": "https://opencollective.com/core-js"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn": {
|
||||
"version": "7.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
||||
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"path-key": "^3.1.0",
|
||||
"shebang-command": "^2.0.0",
|
||||
"which": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn/node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/node-which"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/css-line-break": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||
@ -2413,6 +2478,15 @@
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/denque": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
|
||||
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": ">=0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/detect-libc": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
|
||||
@ -2470,6 +2544,31 @@
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/env-cmd": {
|
||||
"version": "10.1.0",
|
||||
"resolved": "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz",
|
||||
"integrity": "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"commander": "^4.0.0",
|
||||
"cross-spawn": "^7.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"env-cmd": "bin/env-cmd.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/env-cmd/node_modules/commander": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/es-define-property": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
||||
@ -2516,9 +2615,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.25.2",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz",
|
||||
"integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==",
|
||||
"version": "0.25.4",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
|
||||
"integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
|
||||
"devOptional": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
@ -2529,31 +2628,31 @@
|
||||
"node": ">=18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.25.2",
|
||||
"@esbuild/android-arm": "0.25.2",
|
||||
"@esbuild/android-arm64": "0.25.2",
|
||||
"@esbuild/android-x64": "0.25.2",
|
||||
"@esbuild/darwin-arm64": "0.25.2",
|
||||
"@esbuild/darwin-x64": "0.25.2",
|
||||
"@esbuild/freebsd-arm64": "0.25.2",
|
||||
"@esbuild/freebsd-x64": "0.25.2",
|
||||
"@esbuild/linux-arm": "0.25.2",
|
||||
"@esbuild/linux-arm64": "0.25.2",
|
||||
"@esbuild/linux-ia32": "0.25.2",
|
||||
"@esbuild/linux-loong64": "0.25.2",
|
||||
"@esbuild/linux-mips64el": "0.25.2",
|
||||
"@esbuild/linux-ppc64": "0.25.2",
|
||||
"@esbuild/linux-riscv64": "0.25.2",
|
||||
"@esbuild/linux-s390x": "0.25.2",
|
||||
"@esbuild/linux-x64": "0.25.2",
|
||||
"@esbuild/netbsd-arm64": "0.25.2",
|
||||
"@esbuild/netbsd-x64": "0.25.2",
|
||||
"@esbuild/openbsd-arm64": "0.25.2",
|
||||
"@esbuild/openbsd-x64": "0.25.2",
|
||||
"@esbuild/sunos-x64": "0.25.2",
|
||||
"@esbuild/win32-arm64": "0.25.2",
|
||||
"@esbuild/win32-ia32": "0.25.2",
|
||||
"@esbuild/win32-x64": "0.25.2"
|
||||
"@esbuild/aix-ppc64": "0.25.4",
|
||||
"@esbuild/android-arm": "0.25.4",
|
||||
"@esbuild/android-arm64": "0.25.4",
|
||||
"@esbuild/android-x64": "0.25.4",
|
||||
"@esbuild/darwin-arm64": "0.25.4",
|
||||
"@esbuild/darwin-x64": "0.25.4",
|
||||
"@esbuild/freebsd-arm64": "0.25.4",
|
||||
"@esbuild/freebsd-x64": "0.25.4",
|
||||
"@esbuild/linux-arm": "0.25.4",
|
||||
"@esbuild/linux-arm64": "0.25.4",
|
||||
"@esbuild/linux-ia32": "0.25.4",
|
||||
"@esbuild/linux-loong64": "0.25.4",
|
||||
"@esbuild/linux-mips64el": "0.25.4",
|
||||
"@esbuild/linux-ppc64": "0.25.4",
|
||||
"@esbuild/linux-riscv64": "0.25.4",
|
||||
"@esbuild/linux-s390x": "0.25.4",
|
||||
"@esbuild/linux-x64": "0.25.4",
|
||||
"@esbuild/netbsd-arm64": "0.25.4",
|
||||
"@esbuild/netbsd-x64": "0.25.4",
|
||||
"@esbuild/openbsd-arm64": "0.25.4",
|
||||
"@esbuild/openbsd-x64": "0.25.4",
|
||||
"@esbuild/sunos-x64": "0.25.4",
|
||||
"@esbuild/win32-arm64": "0.25.4",
|
||||
"@esbuild/win32-ia32": "0.25.4",
|
||||
"@esbuild/win32-x64": "0.25.4"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild-register": {
|
||||
@ -2665,6 +2764,15 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/generate-function": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
|
||||
"integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"is-property": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/get-intrinsic": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
||||
@ -2940,6 +3048,12 @@
|
||||
"node": ">=0.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-property": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
|
||||
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/is-wsl": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
|
||||
@ -2955,6 +3069,12 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/isexe": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/jiti": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
|
||||
@ -3292,6 +3412,12 @@
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash.debounce": {
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
||||
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.includes": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
|
||||
@ -3334,6 +3460,42 @@
|
||||
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/long": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
|
||||
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "7.18.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
|
||||
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/lru.min": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.2.tgz",
|
||||
"integrity": "sha512-Nv9KddBcQSlQopmBHXSsZVY5xsdlZkdH/Iey0BlcBYggMd4two7cZnKOK9vmy3nY0O5RGH99z1PCeTpPqszUYg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"bun": ">=1.0.0",
|
||||
"deno": ">=1.30.0",
|
||||
"node": ">=8.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wellwelwel"
|
||||
}
|
||||
},
|
||||
"node_modules/lucide": {
|
||||
"version": "0.503.0",
|
||||
"resolved": "https://registry.npmjs.org/lucide/-/lucide-0.503.0.tgz",
|
||||
"integrity": "sha512-ZAVlxBU4dbSUAVidb2eT0fH3bTtKCj7M2aZNAVsFOrcnazvYJFu6I8OxFE+Fmx5XNf22Cw4Ln3NBHfBxNfoFOw==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/math-intrinsics": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
||||
@ -3404,6 +3566,38 @@
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/mysql2": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.14.1.tgz",
|
||||
"integrity": "sha512-7ytuPQJjQB8TNAYX/H2yhL+iQOnIBjAMam361R7UAL0lOVXWjtdrmoL9HYKqKoLp/8UUTRcvo1QPvK9KL7wA8w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"aws-ssl-profiles": "^1.1.1",
|
||||
"denque": "^2.1.0",
|
||||
"generate-function": "^2.3.1",
|
||||
"iconv-lite": "^0.6.3",
|
||||
"long": "^5.2.1",
|
||||
"lru.min": "^1.0.0",
|
||||
"named-placeholders": "^1.1.3",
|
||||
"seq-queue": "^0.0.5",
|
||||
"sqlstring": "^2.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/named-placeholders": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz",
|
||||
"integrity": "sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lru-cache": "^7.14.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
|
||||
@ -3517,6 +3711,15 @@
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/nodemailer": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.3.tgz",
|
||||
"integrity": "sha512-Ajq6Sz1x7cIK3pN6KesGTah+1gnwMnx5gKl3piQlQQE/PwyJ4Mbc8is2psWYxK3RJTVeqsDaCv8ZzXLCDHMTZw==",
|
||||
"license": "MIT-0",
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/open": {
|
||||
"version": "10.1.0",
|
||||
"resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz",
|
||||
@ -3535,6 +3738,15 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/path-key": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
||||
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
@ -3591,15 +3803,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prisma": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.5.0.tgz",
|
||||
"integrity": "sha512-yUGXmWqv5F4PByMSNbYFxke/WbnyTLjnJ5bKr8fLkcnY7U5rU9rUTh/+Fja+gOrRxEgtCbCtca94IeITj4j/pg==",
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.7.0.tgz",
|
||||
"integrity": "sha512-vArg+4UqnQ13CVhc2WUosemwh6hr6cr6FY2uzDvCIFwH8pu8BXVv38PktoMLVjtX7sbYThxbnZF5YiR8sN2clw==",
|
||||
"devOptional": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@prisma/config": "6.5.0",
|
||||
"@prisma/engines": "6.5.0"
|
||||
"@prisma/config": "6.7.0",
|
||||
"@prisma/engines": "6.7.0"
|
||||
},
|
||||
"bin": {
|
||||
"prisma": "build/index.js"
|
||||
@ -3792,6 +4004,11 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/seq-queue": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz",
|
||||
"integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q=="
|
||||
},
|
||||
"node_modules/sharp": {
|
||||
"version": "0.33.5",
|
||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
|
||||
@ -3832,6 +4049,27 @@
|
||||
"@img/sharp-win32-x64": "0.33.5"
|
||||
}
|
||||
},
|
||||
"node_modules/shebang-command": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"shebang-regex": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/shebang-regex": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
||||
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/simple-swizzle": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
|
||||
@ -3857,6 +4095,15 @@
|
||||
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/sqlstring": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz",
|
||||
"integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/stackblur-canvas": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
|
||||
@ -3947,6 +4194,25 @@
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/swiper": {
|
||||
"version": "11.2.6",
|
||||
"resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.6.tgz",
|
||||
"integrity": "sha512-8aXpYKtjy3DjcbzZfz+/OX/GhcU5h+looA6PbAzHMZT6ESSycSp9nAjPCenczgJyslV+rUGse64LMGpWE3PX9Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/swiperjs"
|
||||
},
|
||||
{
|
||||
"type": "open_collective",
|
||||
"url": "http://opencollective.com/swiper"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 4.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/tailwindcss": {
|
||||
"version": "4.0.17",
|
||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.17.tgz",
|
||||
@ -4048,6 +4314,21 @@
|
||||
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/usehooks-ts": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-3.1.1.tgz",
|
||||
"integrity": "sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lodash.debounce": "^4.0.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.15.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc"
|
||||
}
|
||||
},
|
||||
"node_modules/utrie": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
|
||||
|
||||
20
package.json
@ -3,31 +3,45 @@
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev --turbopack",
|
||||
"dev": "env-cmd -f .env.localhost next dev --turbopack",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"build:local": "env-cmd -f .env.localhost next build",
|
||||
"build:dev": "env-cmd -f .env.development next build",
|
||||
"build:prod": "env-cmd -f .env.production next build",
|
||||
"start:local": "env-cmd -f .env.localhost next start",
|
||||
"start:dev": "env-cmd -f .env.development next start",
|
||||
"start:prod": "env-cmd -f .env.production next start",
|
||||
"lint": "next lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@prisma/client": "^6.5.0",
|
||||
"@prisma/client": "^6.7.0",
|
||||
"@tanstack/react-query": "^5.71.0",
|
||||
"@tanstack/react-query-devtools": "^5.71.0",
|
||||
"@types/nodemailer": "^6.4.17",
|
||||
"axios": "^1.8.4",
|
||||
"env-cmd": "^10.1.0",
|
||||
"iron-session": "^8.0.4",
|
||||
"lucide": "^0.503.0",
|
||||
"mssql": "^11.0.1",
|
||||
"mysql2": "^3.14.1",
|
||||
"next": "15.2.4",
|
||||
"nodemailer": "^7.0.3",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-to-pdf": "^2.0.0",
|
||||
"sass": "^1.87.0",
|
||||
"swiper": "^11.2.6",
|
||||
"usehooks-ts": "^3.1.1",
|
||||
"zustand": "^5.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4",
|
||||
"@types/mysql": "^2.15.27",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^19",
|
||||
"@types/react-dom": "^19",
|
||||
"prisma": "^6.5.0",
|
||||
"prisma": "^6.7.0",
|
||||
"tailwindcss": "^4",
|
||||
"typescript": "^5"
|
||||
}
|
||||
|
||||
2584
pnpm-lock.yaml
generated
@ -7,199 +7,476 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
// 사용자 정보
|
||||
model User {
|
||||
id Int @id @default(autoincrement())
|
||||
username String @unique
|
||||
phone String?
|
||||
email String?
|
||||
password String?
|
||||
kakao_id String?
|
||||
avatar String?
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
model SD_SURVEY_SALES_BASIC_INFO {
|
||||
ID Int @id @default(autoincrement())
|
||||
SRL_NO String @db.NVarChar(20)
|
||||
REPRESENTATIVE String @db.NVarChar(200)
|
||||
STORE String? @db.NVarChar(200)
|
||||
CONSTRUCTION_POINT String? @db.NVarChar(200)
|
||||
INVESTIGATION_DATE String? @db.NVarChar(10)
|
||||
BUILDING_NAME String? @db.NVarChar(200)
|
||||
CUSTOMER_NAME String? @db.NVarChar(200)
|
||||
POST_CODE String? @db.NVarChar(10)
|
||||
ADDRESS String? @db.NVarChar(200)
|
||||
ADDRESS_DETAIL String? @db.NVarChar(300)
|
||||
SUBMISSION_STATUS Boolean @default(false)
|
||||
SUBMISSION_DATE DateTime? @db.Date
|
||||
SUBMISSION_TARGET_ID String? @db.NVarChar(200)
|
||||
REG_DT DateTime @default(now())
|
||||
UPT_DT DateTime @updatedAt
|
||||
REPRESENTATIVE_ID String? @db.NVarChar(100)
|
||||
STORE_ID String? @db.NVarChar(100)
|
||||
CONSTRUCTION_POINT_ID String? @db.NVarChar(200)
|
||||
SUBMISSION_TARGET_NM String? @db.NVarChar(200)
|
||||
DETAIL_INFO SD_SURVEY_SALES_DETAIL_INFO?
|
||||
}
|
||||
|
||||
// 지붕재 적합성 정보
|
||||
model MS_SUITABLE {
|
||||
//일련번호
|
||||
id Int @id @default(autoincrement())
|
||||
//제품명
|
||||
product_name String @db.VarChar(200)
|
||||
//제조업체명
|
||||
manufacturer String? @db.VarChar(200)
|
||||
//지붕재
|
||||
roof_material String? @db.VarChar(100)
|
||||
//금구형태(쇠붙이형)
|
||||
shape String? @db.VarChar(200)
|
||||
//지지 기와
|
||||
support_roof_tile String? @db.VarChar(1)
|
||||
//지지 기와 메모
|
||||
support_roof_tile_memo String? @db.VarChar(500)
|
||||
//지지 금구
|
||||
support_roof_bracket String? @db.VarChar(200)
|
||||
//지지 금구 메모
|
||||
support_roof_bracket_memo String? @db.VarChar(500)
|
||||
//yg 앵커
|
||||
yg_anchor String? @db.VarChar(200)
|
||||
//yg 앵커 메모
|
||||
yg_anchor_memo String? @db.VarChar(500)
|
||||
//rg 지붕판
|
||||
rg_roof_tile_part String? @db.VarChar(200)
|
||||
//rg 지붕판 메모
|
||||
rg_roof_tile_part_memo String? @db.VarChar(500)
|
||||
//다이도헌트 지지 기와2
|
||||
dido_hunt_support_tile_2 String? @db.VarChar(200)
|
||||
//다이도헌트 지지 기와2 메모
|
||||
dido_hunt_support_tile_2_memo String? @db.VarChar(500)
|
||||
//타카시마 파워 베이스
|
||||
takashima_power_base String? @db.VarChar(200)
|
||||
//타카시마 파워 베이스 메모
|
||||
takashima_power_base_memo String? @db.VarChar(500)
|
||||
//타카시마용 금구
|
||||
takashima_tile_bracket String? @db.VarChar(200)
|
||||
//타카시마용 금구 메모
|
||||
takashima_tile_bracket_memo String? @db.VarChar(500)
|
||||
//슬레이트 금구4
|
||||
slate_bracket_4 String? @db.VarChar(200)
|
||||
//슬레이트 금구4 메모
|
||||
slate_bracket_4_memo String? @db.VarChar(500)
|
||||
//슬레이트 판금 금구(슬레이트, 싱글)
|
||||
slate_single_metal_bracket String? @db.VarChar(200)
|
||||
//슬레이트 판금 금구 메모(슬레이트, 싱글)
|
||||
slate_single_metal_bracket_memo String? @db.VarChar(500)
|
||||
//다이도헌트 짧은 트랙4
|
||||
dido_hunt_short_rack_4 String? @db.VarChar(200)
|
||||
//다이도헌트 짧은 트랙4 메모
|
||||
dido_hunt_short_rack_4_memo String? @db.VarChar(500)
|
||||
//타카시마 슬레이트 금구
|
||||
takashima_slate_bracket_slate_single String? @db.VarChar(200)
|
||||
//타카시마 슬레이트 금구 메모
|
||||
takashima_slate_bracket_slate_single_memo String? @db.VarChar(500)
|
||||
//df 판금 금구
|
||||
df_metal_bracket String? @db.VarChar(200)
|
||||
//df 판금 금구 메모
|
||||
df_metal_bracket_memo String? @db.VarChar(500)
|
||||
//슬레이트 판금 금구(금속 지붕)
|
||||
slate_metal_bracket String? @db.VarChar(200)
|
||||
//슬레이트 판금 금구(금속 지붕) 메모
|
||||
slate_metal_bracket_memo String? @db.VarChar(500)
|
||||
//타카시마 슬레이트 금구(금속 지붕)
|
||||
takashima_slate_bracket_metal_roof String? @db.VarChar(200)
|
||||
//타카시마 슬레이트 금구(금속 지붕) 메모
|
||||
takashima_slate_bracket_metal_roof_memo String? @db.VarChar(500)
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
model SD_SURVEY_SALES_DETAIL_INFO {
|
||||
ID Int @id @default(autoincrement())
|
||||
CONTRACT_CAPACITY String? @db.NVarChar(20)
|
||||
RETAIL_COMPANY String? @db.NVarChar(100)
|
||||
SUPPLEMENTARY_FACILITIES String? @db.NVarChar(20)
|
||||
SUPPLEMENTARY_FACILITIES_ETC String? @db.NVarChar(200)
|
||||
INSTALLATION_SYSTEM String? @db.NVarChar(20)
|
||||
INSTALLATION_SYSTEM_ETC String? @db.NVarChar(200)
|
||||
CONSTRUCTION_YEAR String? @db.NVarChar(200)
|
||||
CONSTRUCTION_YEAR_ETC String? @db.NVarChar(200)
|
||||
ROOF_MATERIAL String? @db.NVarChar(20)
|
||||
ROOF_MATERIAL_ETC String? @db.NVarChar(200)
|
||||
ROOF_SHAPE String? @db.NVarChar(20)
|
||||
ROOF_SHAPE_ETC String? @db.NVarChar(200)
|
||||
ROOF_SLOPE String? @db.NVarChar(5)
|
||||
HOUSE_STRUCTURE String? @db.NVarChar(20)
|
||||
HOUSE_STRUCTURE_ETC String? @db.NVarChar(200)
|
||||
RAFTER_MATERIAL String? @db.NVarChar(20)
|
||||
RAFTER_MATERIAL_ETC String? @db.NVarChar(200)
|
||||
RAFTER_SIZE String? @db.NVarChar(20)
|
||||
RAFTER_SIZE_ETC String? @db.NVarChar(200)
|
||||
RAFTER_PITCH String? @db.NVarChar(20)
|
||||
RAFTER_PITCH_ETC String? @db.NVarChar(200)
|
||||
RAFTER_DIRECTION String? @db.NVarChar(20)
|
||||
OPEN_FIELD_PLATE_KIND String? @db.NVarChar(20)
|
||||
OPEN_FIELD_PLATE_KIND_ETC String? @db.NVarChar(200)
|
||||
OPEN_FIELD_PLATE_THICKNESS String? @db.NVarChar(5)
|
||||
LEAK_TRACE Boolean? @default(false)
|
||||
WATERPROOF_MATERIAL String? @db.NVarChar(20)
|
||||
WATERPROOF_MATERIAL_ETC String? @db.NVarChar(200)
|
||||
INSULATION_PRESENCE String? @db.NVarChar(20)
|
||||
INSULATION_PRESENCE_ETC String? @db.NVarChar(200)
|
||||
STRUCTURE_ORDER String? @db.NVarChar(20)
|
||||
STRUCTURE_ORDER_ETC String? @db.NVarChar(200)
|
||||
INSTALLATION_AVAILABILITY String? @db.NVarChar(20)
|
||||
INSTALLATION_AVAILABILITY_ETC String? @db.NVarChar(200)
|
||||
MEMO String? @db.NVarChar(500)
|
||||
REG_DT DateTime @default(now())
|
||||
UPT_DT DateTime @updatedAt
|
||||
BASIC_INFO_ID Int @unique
|
||||
BASIC_INFO SD_SURVEY_SALES_BASIC_INFO @relation(fields: [BASIC_INFO_ID], references: [ID])
|
||||
}
|
||||
|
||||
// 조사 매물 기본 정보
|
||||
model SD_SERVEY_SALES_BASIC_INFO {
|
||||
//일련번호
|
||||
id Int @id @default(autoincrement())
|
||||
//담당자명
|
||||
representative String @db.VarChar(200)
|
||||
//판매점
|
||||
store String? @db.VarChar(200)
|
||||
//시공점
|
||||
construction_point String? @db.VarChar(200)
|
||||
//현재 조사일
|
||||
investigation_date String? @db.VarChar(10)
|
||||
//건물명
|
||||
building_name String? @db.VarChar(200)
|
||||
//고객명
|
||||
customer_name String? @db.VarChar(200)
|
||||
//우편번호
|
||||
post_code String? @db.VarChar(10)
|
||||
//주소
|
||||
address String? @db.VarChar(200)
|
||||
//상세주소
|
||||
address_detail String? @db.VarChar(300)
|
||||
//제출상태
|
||||
submission_status Boolean @default(false)
|
||||
//제출일
|
||||
submission_date DateTime? @db.Date
|
||||
//상세정보
|
||||
detail_info SD_SERVEY_SALES_DETAIL_INFO?
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
model BC_COMM_H {
|
||||
HEAD_CD String @id(map: "PK_BC_COMM_H") @db.NVarChar(6)
|
||||
HEAD_ID String? @db.NVarChar(100)
|
||||
HEAD_NM String? @db.NVarChar(100)
|
||||
HEAD_JP String? @db.NVarChar(100)
|
||||
HEAD_4TH String? @db.NVarChar(100)
|
||||
REF_CHR1 String? @db.NVarChar(100)
|
||||
REF_CHR2 String? @db.NVarChar(100)
|
||||
REF_CHR3 String? @db.NVarChar(100)
|
||||
REF_CHR4 String? @db.NVarChar(100)
|
||||
REF_CHR5 String? @db.NVarChar(100)
|
||||
REF_NUM1 String? @db.NVarChar(100)
|
||||
REF_NUM2 String? @db.NVarChar(100)
|
||||
REF_NUM3 String? @db.NVarChar(100)
|
||||
REF_NUM4 String? @db.NVarChar(100)
|
||||
REF_NUM5 String? @db.NVarChar(100)
|
||||
REMARKS String? @db.NVarChar(200)
|
||||
SAP_YN String? @db.NVarChar(1)
|
||||
STAT_CD String? @db.NVarChar(1)
|
||||
DEL_YN String? @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
QC_COMM_YN String? @default("N", map: "DF__BC_COMM_H__QC_CO__48CFD27E") @db.NVarChar(1)
|
||||
BC_COMM_L BC_COMM_L[]
|
||||
|
||||
@@index([HEAD_ID], map: "BC_COMM_H_HEAD_ID_IDX")
|
||||
}
|
||||
|
||||
// 조사 매물 전기 지붕 정보
|
||||
model SD_SERVEY_SALES_DETAIL_INFO {
|
||||
//일련번호
|
||||
id Int @id @default(autoincrement())
|
||||
//전기계약 용량
|
||||
contract_capacity String? @db.VarChar(20)
|
||||
//전기 소매 회사
|
||||
retail_company String? @db.VarChar(100)
|
||||
//전기 부대 설비
|
||||
supplementary_facilities Int? @db.Int
|
||||
//전기 부대 설비 기타
|
||||
supplementary_facilities_etc String? @db.VarChar(200)
|
||||
//설치 희망 시스템
|
||||
installation_system Int? @db.Int
|
||||
//설치 희망 시스템 기타
|
||||
installation_system_etc String? @db.VarChar(200)
|
||||
//건축 연수
|
||||
construction_year Int? @db.Int
|
||||
//건축 연수 기타
|
||||
construction_year_etc String? @db.VarChar(200)
|
||||
//지붕재
|
||||
roof_material Int? @db.Int
|
||||
//지붕재 기타
|
||||
roof_material_etc String? @db.VarChar(200)
|
||||
//지붕 모양
|
||||
roof_shape Int? @db.Int
|
||||
//지붕 모양 기타
|
||||
roof_shape_etc String? @db.VarChar(200)
|
||||
//지붕 경사도
|
||||
roof_slope String? @db.VarChar(5)
|
||||
//주택 구조
|
||||
house_structure Int? @db.Int
|
||||
//주택 구조 기타
|
||||
house_structure_etc String? @db.VarChar(200)
|
||||
//서까래 재질
|
||||
rafter_material Int? @db.Int
|
||||
//서까래 재질 기타
|
||||
rafter_material_etc String? @db.VarChar(200)
|
||||
//서까래 크기
|
||||
rafter_size Int? @db.Int
|
||||
//서까래 크기 기타
|
||||
rafter_size_etc String? @db.VarChar(200)
|
||||
//서까래 피치
|
||||
rafter_pitch Int? @db.Int
|
||||
//서까래 피치 기타
|
||||
rafter_pitch_etc String? @db.VarChar(200)
|
||||
//서까래 방향
|
||||
rafter_direction Int? @db.Int
|
||||
//노지판 종류
|
||||
open_field_plate_kind Int? @db.Int
|
||||
//노지판 종류 기타
|
||||
open_field_plate_kind_etc String? @db.VarChar(200)
|
||||
//노지판 두께
|
||||
open_field_plate_thickness String? @db.VarChar(5)
|
||||
//누수 흔적
|
||||
leak_trace Boolean? @default(false)
|
||||
//방수재 종류
|
||||
waterproof_material Int? @db.Int
|
||||
//방수재 종류 기타
|
||||
waterproof_material_etc String? @db.VarChar(200)
|
||||
//단열재 여부
|
||||
insulation_presence Int? @db.Int
|
||||
//단열재 여부 기타
|
||||
insulation_presence_etc String? @db.VarChar(200)
|
||||
//지붕 구조 순서
|
||||
structure_order Int? @db.Int
|
||||
//지붕 구조 순서 기타
|
||||
structure_order_etc String? @db.VarChar(200)
|
||||
//설치 가능 여부
|
||||
installation_availability Int? @db.Int
|
||||
//설치 가능 여부 기타
|
||||
installation_availability_etc String? @db.VarChar(200)
|
||||
//메모
|
||||
memo String? @db.VarChar(500)
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
basic_info SD_SERVEY_SALES_BASIC_INFO @relation(fields: [basic_info_id], references: [id])
|
||||
basic_info_id Int @unique
|
||||
model BC_COMM_L {
|
||||
HEAD_CD String @db.NVarChar(6)
|
||||
CODE String @db.NVarChar(50)
|
||||
READ_CD String? @db.NVarChar(50)
|
||||
CODE_NM String? @db.NVarChar(100)
|
||||
CODE_JP String? @db.NVarChar(100)
|
||||
CODE_4TH String? @db.NVarChar(100)
|
||||
REF_CHR1 String? @db.NVarChar(150)
|
||||
REF_CHR2 String? @db.NVarChar(150)
|
||||
REF_CHR3 String? @db.NVarChar(150)
|
||||
REF_CHR4 String? @db.NVarChar(150)
|
||||
REF_CHR5 String? @db.NVarChar(150)
|
||||
REF_NUM1 Decimal? @db.Decimal(22, 5)
|
||||
REF_NUM2 Decimal? @db.Decimal(22, 5)
|
||||
REF_NUM3 Decimal? @db.Decimal(22, 5)
|
||||
REF_NUM4 Decimal? @db.Decimal(22, 5)
|
||||
REF_NUM5 Decimal? @db.Decimal(22, 5)
|
||||
PRIORITY Decimal? @db.Decimal(3, 0)
|
||||
REF_CNT String? @db.NVarChar(5)
|
||||
STAT_CD String? @db.NVarChar(1)
|
||||
DEL_YN String? @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
BC_COMM_H BC_COMM_H @relation(fields: [HEAD_CD], references: [HEAD_CD], onUpdate: NoAction, map: "FK_BC_COMM_L")
|
||||
|
||||
@@id([HEAD_CD, CODE], map: "PK_BC_COMM_L")
|
||||
}
|
||||
|
||||
model MS_SUITABLE_ROOF_MATERIAL_GROUP {
|
||||
ID Int @id @default(autoincrement())
|
||||
ROOF_MATL_GRP_CD String @db.NVarChar(200)
|
||||
ROOF_MT_CD String @db.NVarChar(200)
|
||||
REG_DT DateTime @default(now(), map: "DF__MS_SUITAB__creat__4F7CD00D")
|
||||
UPT_DT DateTime?
|
||||
}
|
||||
|
||||
model MS_SUITABLE_DETAIL {
|
||||
ID Int @id @default(autoincrement())
|
||||
MAIN_ID Int
|
||||
TRESTLE_MFPC_CD String? @db.NVarChar(200)
|
||||
TRESTLE_MANUFACTURER_PRODUCT_NAME String? @db.NVarChar(200)
|
||||
MEMO String? @db.NVarChar(500)
|
||||
REG_DT DateTime @default(now(), map: "DF__MS_SUITAB__REG_D__1332DBDC")
|
||||
UPT_DT DateTime?
|
||||
MS_SUITABLE_MAIN MS_SUITABLE_MAIN @relation(fields: [MAIN_ID], references: [ID], onUpdate: NoAction, map: "MS_SUITABLE_DETAIL_MS_SUITABLE_MAIN_FK")
|
||||
|
||||
@@index([MAIN_ID, TRESTLE_MANUFACTURER_PRODUCT_NAME], map: "MS_SUITABLE_DETAIL_MAIN_ID_IDX")
|
||||
}
|
||||
|
||||
model MS_SUITABLE_MAIN {
|
||||
ID Int @id @default(autoincrement())
|
||||
PRODUCT_NAME String @db.NVarChar(200)
|
||||
MANU_FT_CD String? @db.NVarChar(200)
|
||||
ROOF_MT_CD String? @db.NVarChar(100)
|
||||
ROOF_SH_CD String? @db.NVarChar(200)
|
||||
REG_DT DateTime @default(now(), map: "DF__MS_SUITAB__REG_D__10566F31")
|
||||
UPT_DT DateTime?
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
DEL_YN String? @db.NVarChar(1)
|
||||
MS_SUITABLE_DETAIL MS_SUITABLE_DETAIL[]
|
||||
|
||||
@@index([PRODUCT_NAME], map: "MS_SUITABLE_MAIN_PRODUCT_NAME_IDX")
|
||||
@@index([ROOF_MT_CD, PRODUCT_NAME], map: "MS_SUITABLE_MAIN_ROOF_MT_CD_IDX")
|
||||
}
|
||||
|
||||
model MS_USR_TRK {
|
||||
ID Int @id @default(autoincrement())
|
||||
OWNER String @db.NVarChar(100)
|
||||
TYPE String @db.NVarChar(50)
|
||||
URL String? @db.NVarChar(200)
|
||||
REG_DT DateTime @default(now())
|
||||
DATA String? @db.NVarChar(200)
|
||||
}
|
||||
|
||||
model BC_QM_BUILDER {
|
||||
COMP_CD String @db.NVarChar(4)
|
||||
BUILDER_NO String @db.NVarChar(50)
|
||||
AGENCY_STORE_ID String @db.NVarChar(100)
|
||||
BUILDER_NM String @db.NVarChar(100)
|
||||
BUILDER_ID String? @db.NVarChar(100)
|
||||
ZIP_NO String? @db.NVarChar(7)
|
||||
PRFT_JP String? @db.NVarChar(100)
|
||||
MNCP_NM String? @db.NVarChar(100)
|
||||
ADDR_NM String? @db.NVarChar(200)
|
||||
ADDR_DTL String? @db.NVarChar(200)
|
||||
RECEIVER_NM String? @db.NVarChar(100)
|
||||
RECEIVER_CONTACT_NO String? @db.NVarChar(100)
|
||||
USE_YN String? @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
BC_QM_USER BC_QM_USER[]
|
||||
|
||||
@@id([COMP_CD, BUILDER_NO], map: "PK_BC_QM_BUILDER")
|
||||
}
|
||||
|
||||
model BC_QM_TERMS {
|
||||
COMP_CD String @db.NVarChar(4)
|
||||
TERMS_NO Decimal @db.Decimal(18, 0)
|
||||
VER_NO String @db.NVarChar(3)
|
||||
VER_SUB_NO String @db.NVarChar(3)
|
||||
OPERTN_DT DateTime @db.Date
|
||||
TERMS_CTNT String @db.NVarChar(Max)
|
||||
DEL_YN String? @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
BC_QM_USER BC_QM_USER[]
|
||||
|
||||
@@id([TERMS_NO, COMP_CD], map: "PK_BC_QM_TERMS")
|
||||
}
|
||||
|
||||
model BC_QM_USER {
|
||||
COMP_CD String @db.NVarChar(4)
|
||||
USER_ID String @db.NVarChar(50)
|
||||
AGENCY_STORE_ID String @db.NVarChar(100)
|
||||
USER_NM String @db.NVarChar(100)
|
||||
USER_AUTH_CD String @db.NVarChar(10)
|
||||
EMAIL String? @db.NVarChar(100)
|
||||
PSTN_NM String? @db.NVarChar(100)
|
||||
TEL_NO String? @db.NVarChar(100)
|
||||
MOBILE_NO String? @db.NVarChar(100)
|
||||
FAX_NO String? @db.NVarChar(100)
|
||||
LAST_LOGIN_DT DateTime? @db.DateTime
|
||||
PWD String @db.NVarChar(100)
|
||||
PWD_INIT_YN String? @default("N", map: "DF__BC_QM_USE__PWD_I__42E1EEFE") @db.NVarChar(1)
|
||||
LOGIN_FAIL_CNT Decimal? @default(0, map: "DF__BC_QM_USE__LOGIN__43D61337") @db.Decimal(18, 0)
|
||||
LAST_LOGIN_FAIL_DT DateTime? @db.DateTime
|
||||
LAST_PWD_UPT_DT DateTime? @db.DateTime
|
||||
BUILDER_NO String? @db.NVarChar(50)
|
||||
ZIP_NO String? @db.NVarChar(7)
|
||||
PRFT_JP String? @db.NVarChar(100)
|
||||
MNCP_NM String? @db.NVarChar(100)
|
||||
ADDR_NM String? @db.NVarChar(200)
|
||||
TERMS_AGREE_YN String? @default("N", map: "DF__BC_QM_USE__TERMS__44CA3770") @db.NVarChar(1)
|
||||
TERMS_AGREE_DT DateTime? @db.DateTime
|
||||
AGREE_TERMS_NO Decimal? @db.Decimal(18, 0)
|
||||
STAT_CD String? @db.NVarChar(1)
|
||||
DEL_YN String? @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
USER_NM_KANA String? @db.NVarChar(50)
|
||||
BC_QM_BUILDER BC_QM_BUILDER? @relation(fields: [COMP_CD, BUILDER_NO], references: [COMP_CD, BUILDER_NO], onUpdate: NoAction, map: "FK_BC_QM_USER_01")
|
||||
BC_QM_TERMS BC_QM_TERMS? @relation(fields: [AGREE_TERMS_NO, COMP_CD], references: [TERMS_NO, COMP_CD], onUpdate: NoAction, map: "FK_BC_QM_USER_02")
|
||||
|
||||
@@id([COMP_CD, USER_ID], map: "PK_BC_QM_USER")
|
||||
}
|
||||
|
||||
model IF_PERSON_OFFICE_MAPPING {
|
||||
IF_SEQ Decimal @id(map: "PK_IF_PERSON_OFFICE_MAPPING") @db.Decimal(22, 0)
|
||||
SEQ Int?
|
||||
LIFNR String? @db.NVarChar(10)
|
||||
VKBUR String? @db.NVarChar(4)
|
||||
IF_DT DateTime? @db.DateTime
|
||||
IF_STS String? @db.NVarChar(1)
|
||||
IF_MSG String? @db.NVarChar(200)
|
||||
}
|
||||
|
||||
model MS_CUST_AGENCY_STOREID {
|
||||
COMP_CD String @db.NVarChar(4)
|
||||
STORE_ID String @db.NVarChar(100)
|
||||
AGENCY_STORE_ID String @db.NVarChar(100)
|
||||
AGENCY_QCAST_NM String? @db.NVarChar(100)
|
||||
PLAN_REQ_SUBMIT_YN String? @default("N", map: "DF__MS_CUST_A__PLAN___3B40CD36") @db.NVarChar(1)
|
||||
DEL_YN String? @default("N", map: "DF__MS_CUST_A__DEL_Y__3C34F16F") @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
EMAIL String? @db.NVarChar(100)
|
||||
REMARK String? @db.NVarChar(Max)
|
||||
BDL_TP_CD String? @db.NVarChar(10)
|
||||
|
||||
@@id([COMP_CD, AGENCY_STORE_ID], map: "PK_MS_CUST_AGENCY_STOREID")
|
||||
}
|
||||
|
||||
model MS_CUST_H {
|
||||
COMP_CD String @db.NVarChar(4)
|
||||
CUST_CD String @db.NVarChar(10)
|
||||
ACCOUNT_GR String? @db.NVarChar(4)
|
||||
CUST_NM String? @db.NVarChar(70)
|
||||
HAUS_NO String? @db.NVarChar(10)
|
||||
POST_CD String? @db.NVarChar(10)
|
||||
CITY_CD String? @db.NVarChar(12)
|
||||
CITY_NM String? @db.NVarChar(40)
|
||||
COUNTRY_CD String? @db.NVarChar(4)
|
||||
REGION_CD String? @db.NVarChar(4)
|
||||
STREET_NM String? @db.NVarChar(60)
|
||||
STREET_NM2 String? @db.NVarChar(60)
|
||||
STREET_NM3 String? @db.NVarChar(60)
|
||||
STREET_NM4 String? @db.NVarChar(60)
|
||||
STREET_NM5 String? @db.NVarChar(60)
|
||||
TIME_ZONE String? @db.NVarChar(10)
|
||||
TRANSP_ZONE String? @db.NVarChar(10)
|
||||
LANG_CD String? @db.NVarChar(2)
|
||||
TEL_NO String? @db.NVarChar(30)
|
||||
TEL_NO_EXT String? @db.NVarChar(10)
|
||||
MOBILE_NO String? @db.NVarChar(30)
|
||||
FAX_NO String? @db.NVarChar(30)
|
||||
FAX_NO_EXT String? @db.NVarChar(10)
|
||||
EMAIL String? @db.NVarChar(100)
|
||||
INDUSTRY_CD String? @db.NVarChar(4)
|
||||
VAT_REG_NO String? @db.NVarChar(20)
|
||||
LOCAT_NO1 Decimal? @db.Decimal(7, 0)
|
||||
LOCAT_NO2 Decimal? @db.Decimal(5, 0)
|
||||
RESI_CD String? @db.NVarChar(4)
|
||||
UTIL_CD String? @db.NVarChar(4)
|
||||
MARK_PF String? @db.NVarChar(4)
|
||||
INVS_CD String? @db.NVarChar(4)
|
||||
PRMT_CD String? @db.NVarChar(4)
|
||||
SVC_PR_CD String? @db.NVarChar(4)
|
||||
ENG_CNSL_CD String? @db.NVarChar(4)
|
||||
RECON_ACC_CD String? @db.NVarChar(20)
|
||||
SORT_KEY String? @db.NVarChar(12)
|
||||
CASH_MGMT_GR String? @db.NVarChar(12)
|
||||
INTEREST_IND_CD String? @db.NVarChar(12)
|
||||
TERM_PAY_CD String? @db.NVarChar(12)
|
||||
PAY_HIST_YN String? @db.NVarChar(2)
|
||||
DUN_PROC_CD String? @db.NVarChar(4)
|
||||
DUN_BLOCK_CD String? @db.NVarChar(1)
|
||||
DUN_LEVEL_CD Decimal? @db.Decimal(1, 0)
|
||||
POLICY_NO String? @db.NVarChar(20)
|
||||
INSURED_AMT Decimal? @db.Decimal(13, 3)
|
||||
VAL_TO_DATE DateTime? @db.Date
|
||||
DEDUCT_RATE Decimal? @db.Decimal(9, 0)
|
||||
APPLIED_INSURA Decimal? @db.Decimal(13, 3)
|
||||
EASY_NO String? @db.NVarChar(20)
|
||||
APPLY_DATE DateTime? @db.Date
|
||||
EXPIRE_DATE DateTime? @db.Date
|
||||
ADD_TXT1 String? @db.NVarChar(400)
|
||||
ADD_TXT2 String? @db.NVarChar(400)
|
||||
REF_PS_ID String? @db.NVarChar(20)
|
||||
CUST_COMP_CD String? @db.NVarChar(4)
|
||||
CUST_TEXT String? @db.NVarChar(Max)
|
||||
CUST_GRADE String? @db.NVarChar(2)
|
||||
INCOME_TAX_NO String? @db.NVarChar(20)
|
||||
STAT_CD String? @db.NVarChar(2)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
QSP_ACCOUNT_GR String? @db.NVarChar(4)
|
||||
BDL_TP_CD String? @db.NVarChar(10)
|
||||
BDL_SUB_TP_CD String? @db.NVarChar(100)
|
||||
MS_CUST_STOREID MS_CUST_STOREID[]
|
||||
|
||||
@@id([COMP_CD, CUST_CD], map: "PK_MS_CUST_H")
|
||||
}
|
||||
|
||||
model MS_CUST_PERSON {
|
||||
SEQ Decimal @db.Decimal(22, 0)
|
||||
COMP_CD String @db.NVarChar(4)
|
||||
CUST_CD String @db.NVarChar(10)
|
||||
EOS_LOGIN_ID String? @db.NVarChar(100)
|
||||
EOS_PWD String? @db.NVarChar(100)
|
||||
NAME String? @db.NVarChar(50)
|
||||
PSTN_NM String? @db.NVarChar(50)
|
||||
EMAIL String? @db.NVarChar(100)
|
||||
TEL_NO String? @db.NVarChar(100)
|
||||
AUTHORITY String @db.NVarChar(1)
|
||||
DEL_YN String? @default("N", map: "DF__MS_CUST_P__DEL_Y__339FAB6E") @db.NVarChar(1)
|
||||
LOGIN_DT DateTime? @db.DateTime
|
||||
PWD_INIT_YN String? @db.NVarChar(1)
|
||||
LOGIN_FAIL_CNT Decimal? @db.Decimal(18, 0)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
LOGIN_FAIL_DT DateTime? @db.DateTime
|
||||
PLAN_REQ_AUTH String? @default("N", map: "DF__MS_CUST_P__PLAN___3493CFA7") @db.NVarChar(1)
|
||||
PRICE_VIEW_STAT_CD String? @default("S", map: "DF__MS_CUST_P__PRICE__3587F3E0") @db.NVarChar(10)
|
||||
SD_SUBMIT_YN String? @default("N", map: "DF__MS_CUST_P__SD_SU__367C1819") @db.NVarChar(1)
|
||||
STORE_ID String? @db.NVarChar(100)
|
||||
USER_NM_KANA String? @db.NVarChar(50)
|
||||
FAX String? @db.NVarChar(100)
|
||||
PLAN_MAIL_RCV_YN String? @default("Y", map: "DF__MS_CUST_P__PLAN___37703C52") @db.NVarChar(1)
|
||||
SD_MAIL_RCV_YN String? @default("Y", map: "DF__MS_CUST_P__SD_MA__3864608B") @db.NVarChar(1)
|
||||
|
||||
@@id([SEQ, COMP_CD, CUST_CD], map: "PK_MS_CUST_PERSON")
|
||||
}
|
||||
|
||||
model MS_CUST_STOREID {
|
||||
COMP_CD String @db.NVarChar(4)
|
||||
STORE_ID String @db.NVarChar(100)
|
||||
CUST_CD String @db.NVarChar(10)
|
||||
REPRESENTATIVE_STORE_YN String? @db.NVarChar(1)
|
||||
SP_MODULE_PRICE_SEQ Decimal? @db.Decimal(20, 0)
|
||||
SP_MODULE_PRICE_EXP_FR_DT DateTime? @db.Date
|
||||
SP_MODULE_PRICE_EXP_TO_DT DateTime? @db.Date
|
||||
SP_BOS_PRICE_SEQ Decimal? @db.Decimal(20, 0)
|
||||
SP_BOS_PRICE_EXP_FR_DT DateTime? @db.Date
|
||||
SP_BOS_PRICE_EXP_TO_DT DateTime? @db.Date
|
||||
PKG_PRICE_RANK String? @default("C", map: "DF__MS_CUST_S__PKG_P__29221CFB") @db.NVarChar(3)
|
||||
SP_PKG_PRICE Decimal? @db.Decimal(13, 1)
|
||||
SP_PKG_PRICE_EXP_FR_DT DateTime? @db.Date
|
||||
SP_PKG_PRICE_EXP_TO_DT DateTime? @db.Date
|
||||
DEL_YN String? @default("N", map: "DF__MS_CUST_S__DEL_Y__2A164134") @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
MOVE_DT DateTime? @db.DateTime
|
||||
MOVE_ID String? @db.NVarChar(50)
|
||||
STORE_QCAST_NM String? @db.NVarChar(100)
|
||||
PLAN_REQ_AUTH String? @default("N", map: "DF__MS_CUST_S__PLAN___2B0A656D") @db.NVarChar(1)
|
||||
PKG_EXCEPT_YN String? @default("N", map: "DF__MS_CUST_S__PKG_E__2BFE89A6") @db.NVarChar(1)
|
||||
MODULE_PRICE_RANK String? @default("C", map: "DF__MS_CUST_S__MODUL__2CF2ADDF") @db.NVarChar(20)
|
||||
BOS_PRICE_RANK String? @default("A", map: "DF__MS_CUST_S__BOS_P__2DE6D218") @db.NVarChar(20)
|
||||
PLAN_REQ_SUBMIT_YN String? @default("N", map: "DF__MS_CUST_S__PLAN___2EDAF651") @db.NVarChar(1)
|
||||
QSP_SUBAL_YN String? @default("N", map: "DF__MS_CUST_S__QSP_S__2FCF1A8A") @db.NVarChar(1)
|
||||
MS_CUST_H MS_CUST_H @relation(fields: [COMP_CD, CUST_CD], references: [COMP_CD, CUST_CD], onUpdate: NoAction, map: "MS_CUST_STOREID_FK")
|
||||
|
||||
@@id([COMP_CD, STORE_ID], map: "PK_MS_CUST_STOREID")
|
||||
@@index([COMP_CD, CUST_CD], map: "IDX_MS_CUST_STOREID_COMP_CD_01")
|
||||
}
|
||||
|
||||
model MS_CUST_STOREID_ADDITNL {
|
||||
COMP_CD String @db.NVarChar(20)
|
||||
STORE_ID String @db.NVarChar(100)
|
||||
REQ_CUST_CD String? @db.NVarChar(10)
|
||||
REQ_STORE_QCAST_NM String? @db.NVarChar(100)
|
||||
STORE_QCAST_NM_KANA String? @db.NVarChar(100)
|
||||
BIZ_NO String? @db.NVarChar(20)
|
||||
POST_CD String? @db.NVarChar(10)
|
||||
ADDR String? @db.NVarChar(255)
|
||||
TEL_NO String? @db.NVarChar(100)
|
||||
FAX String? @db.NVarChar(100)
|
||||
APPR_DT DateTime? @db.DateTime
|
||||
APPR_ID String? @db.NVarChar(50)
|
||||
APPR_STAT_CD String? @db.NVarChar(10)
|
||||
APPR_REMARKS String? @db.NVarChar(300)
|
||||
REQ_APPR_DT DateTime? @db.DateTime
|
||||
PAY_TERMS_CD String? @db.NVarChar(10)
|
||||
FIRST_STORE_ID String? @db.NVarChar(100)
|
||||
PARENT_STORE_ID String? @db.NVarChar(100)
|
||||
STORE_LVL Int?
|
||||
KAM_ID String? @db.NVarChar(50)
|
||||
QT_COMP_NM String? @db.NVarChar(100)
|
||||
QT_POST_CD String? @db.NVarChar(10)
|
||||
QT_ADDR String? @db.NVarChar(255)
|
||||
QT_TEL_NO String? @db.NVarChar(100)
|
||||
QT_FAX String? @db.NVarChar(100)
|
||||
QT_E_MAIL String? @db.NVarChar(100)
|
||||
ORD_DELI_TARGET String? @db.NVarChar(100)
|
||||
ORD_DELI_COMP_NM String? @db.NVarChar(100)
|
||||
ORD_DELI_COMP_USER_NM String? @db.NVarChar(40)
|
||||
ORD_DELI_TEL_NO String? @db.NVarChar(100)
|
||||
ORD_DELI_POST_CD String? @db.NVarChar(10)
|
||||
ORD_DELI_REMARKS String? @db.NVarChar(200)
|
||||
GUAR_STORE_NM String? @db.NVarChar(100)
|
||||
GUAR_STORE_POST_CD String? @db.NVarChar(10)
|
||||
GUAR_STORE_ADDR String? @db.NVarChar(255)
|
||||
GUAR_TEL_NO String? @db.NVarChar(100)
|
||||
NORTH_MODULE_YN String? @default("N", map: "DF__MS_CUST_S__NORTH__17036CC0") @db.NVarChar(1)
|
||||
DEL_YN String? @default("N", map: "DF__MS_CUST_S__DEL_Y__17F790F9") @db.NVarChar(1)
|
||||
REG_DT DateTime? @db.DateTime
|
||||
REG_ID String? @db.NVarChar(50)
|
||||
UPT_DT DateTime? @db.DateTime
|
||||
UPT_ID String? @db.NVarChar(50)
|
||||
REQ_MODULE_PRICE_RANK String? @db.NVarChar(20)
|
||||
REQ_BOS_PRICE_RANK String? @db.NVarChar(20)
|
||||
REQ_PKG_PRICE_RANK String? @db.NVarChar(3)
|
||||
REQ_BDL_TP_CD String? @db.NVarChar(10)
|
||||
REQ_BDL_SUB_TP_CD String? @db.NVarChar(100)
|
||||
REMARK String? @db.NVarChar(500)
|
||||
NORTH_MODULE_UPT_DT DateTime? @db.DateTime
|
||||
NORTH_MODULE_UPT_ID String? @db.NVarChar(50)
|
||||
|
||||
@@id([COMP_CD, STORE_ID], map: "PK_MS_CUST_STOREID_ADDITNL")
|
||||
}
|
||||
|
||||
BIN
public/assets/fonts/NotoSansJP-Black.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-Black.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-Bold.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-Bold.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-ExtraBold.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-ExtraBold.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-ExtraLight.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-ExtraLight.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-Light.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-Light.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-Medium.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-Medium.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-Regular.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-Regular.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-SemiBold.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-SemiBold.woff2
Normal file
BIN
public/assets/fonts/NotoSansJP-Thin.woff
Normal file
BIN
public/assets/fonts/NotoSansJP-Thin.woff2
Normal file
BIN
public/assets/fonts/Pretendard-Black.woff
Normal file
BIN
public/assets/fonts/Pretendard-Black.woff2
Normal file
BIN
public/assets/fonts/Pretendard-Bold.woff
Normal file
BIN
public/assets/fonts/Pretendard-Bold.woff2
Normal file
BIN
public/assets/fonts/Pretendard-ExtraBold.woff
Normal file
BIN
public/assets/fonts/Pretendard-ExtraBold.woff2
Normal file
BIN
public/assets/fonts/Pretendard-ExtraLight.woff
Normal file
BIN
public/assets/fonts/Pretendard-ExtraLight.woff2
Normal file
BIN
public/assets/fonts/Pretendard-Light.woff
Normal file
BIN
public/assets/fonts/Pretendard-Light.woff2
Normal file
BIN
public/assets/fonts/Pretendard-Medium.woff
Normal file
BIN
public/assets/fonts/Pretendard-Medium.woff2
Normal file
BIN
public/assets/fonts/Pretendard-Regular.woff
Normal file
BIN
public/assets/fonts/Pretendard-Regular.woff2
Normal file
BIN
public/assets/fonts/Pretendard-SemiBold.woff
Normal file
BIN
public/assets/fonts/Pretendard-SemiBold.woff2
Normal file
BIN
public/assets/fonts/Pretendard-Thin.woff
Normal file
BIN
public/assets/fonts/Pretendard-Thin.woff2
Normal file
3
public/assets/images/common/btn_arr.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="6" height="10" viewBox="0 0 6 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 1L5 5L1 9" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 207 B |
4
public/assets/images/common/btn_clip.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.125 10.875L10.875 7.125" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M12.6347 10.9572L14.5919 9C16.136 7.45584 16.136 4.95227 14.5919 3.40812C13.0477 1.86396 10.5442 1.86396 9 3.40812L7.04284 5.36528M10.9572 12.6347L9 14.5919C7.45584 16.136 4.95227 16.136 3.40812 14.5919C1.86396 13.0477 1.86396 10.5442 3.40812 9L5.36528 7.04284" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 529 B |
4
public/assets/images/common/btn_clip_col.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="19" height="18" viewBox="0 0 19 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.625 10.875L11.375 7.125" stroke="#4E637E" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M13.1347 10.9572L15.0919 9C16.636 7.45584 16.636 4.95227 15.0919 3.40812C13.5477 1.86396 11.0442 1.86396 9.5 3.40812L7.54284 5.36528M11.4572 12.6347L9.5 14.5919C7.95584 16.136 5.45227 16.136 3.90812 14.5919C2.36396 13.0477 2.36396 10.5442 3.90812 9L5.86528 7.04284" stroke="#4E637E" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 537 B |
4
public/assets/images/common/btn_edit.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="2" height="10" rx="1" transform="matrix(0 -1 -1 0 10 6)" fill="white"/>
|
||||
<rect x="4" width="2" height="10" rx="1" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 244 B |
14
public/assets/images/common/date_icon.svg
Normal file
@ -0,0 +1,14 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_169_1229)">
|
||||
<path d="M17 7H7C5.89543 7 5 7.89543 5 9V18C5 19.1046 5.89543 20 7 20H17C18.1046 20 19 19.1046 19 18V9C19 7.89543 18.1046 7 17 7Z" fill="white"/>
|
||||
<path d="M17 7.5H7C6.17157 7.5 5.5 8.17157 5.5 9V18C5.5 18.8284 6.17157 19.5 7 19.5H17C17.8284 19.5 18.5 18.8284 18.5 18V9C18.5 8.17157 17.8284 7.5 17 7.5Z" stroke="#A8B6C7" stroke-width="1.5"/>
|
||||
<path d="M7 7H17C17.5304 7 18.0391 7.21071 18.4142 7.58579C18.7893 7.96086 19 8.46957 19 9V12H5V9C5 8.46957 5.21071 7.96086 5.58579 7.58579C5.96086 7.21071 6.46957 7 7 7Z" fill="#A8B6C7"/>
|
||||
<path d="M9 5C9.26522 5 9.51957 5.10536 9.70711 5.29289C9.89464 5.48043 10 5.73478 10 6V8H8V6C8 5.73478 8.10536 5.48043 8.29289 5.29289C8.48043 5.10536 8.73478 5 9 5Z" fill="#A8B6C7"/>
|
||||
<path d="M15 5C15.2652 5 15.5196 5.10536 15.7071 5.29289C15.8946 5.48043 16 5.73478 16 6V8H14V6C14 5.73478 14.1054 5.48043 14.2929 5.29289C14.4804 5.10536 14.7348 5 15 5Z" fill="#A8B6C7"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_169_1229">
|
||||
<rect width="16" height="16" fill="white" transform="translate(4 5)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
10
public/assets/images/common/id_delete_icon.svg
Normal file
@ -0,0 +1,10 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_169_1253)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.06815e-06 8C3.06815e-06 6.41775 0.469195 4.87103 1.34825 3.55544C2.2273 2.23985 3.47673 1.21447 4.93854 0.608967C6.40034 0.00346625 8.00888 -0.15496 9.56073 0.153721C11.1126 0.462403 12.538 1.22433 13.6569 2.34315C14.7757 3.46197 15.5376 4.88743 15.8463 6.43928C16.155 7.99113 15.9965 9.59966 15.391 11.0615C14.7855 12.5233 13.7602 13.7727 12.4446 14.6518C11.129 15.5308 9.58225 16 8 16C6.94917 16.0009 5.90847 15.7946 4.93745 15.3929C3.96643 14.9912 3.08415 14.402 2.3411 13.6589C1.59804 12.9159 1.0088 12.0336 0.607092 11.0626C0.20538 10.0915 -0.00091762 9.05084 3.06815e-06 8ZM8 6.872L10.072 4.8L11.2 5.928L9.128 8L11.2 10.072L10.072 11.2L8 9.128L5.928 11.2L4.8 10.072L6.872 8L4.8 5.928L5.928 4.8L8 6.872Z" fill="#A8B6C7"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_169_1253">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
3
public/assets/images/common/id_input_icon.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0007 9.93023C10.0138 10.4593 9.84112 10.9762 9.51269 11.3912C9.37838 11.5781 9.20188 11.7306 8.99755 11.8364C8.79321 11.9422 8.5668 11.9984 8.33669 12.0002H1.66469C1.43459 11.9984 1.20818 11.9422 1.00384 11.8364C0.799503 11.7306 0.623008 11.5781 0.488694 11.3912C0.160266 10.9762 -0.0124006 10.4593 0.000693567 9.93023C-0.00072481 9.51133 0.0213097 9.09267 0.0666936 8.67623C0.11313 8.27361 0.195799 7.876 0.313694 7.48823C0.416695 7.12727 0.570573 6.78281 0.770694 6.46523C0.957125 6.1776 1.20855 5.93782 1.50469 5.76523C1.82451 5.58323 2.18781 5.49162 2.55569 5.50023C2.87512 5.82266 3.25627 6.0774 3.67636 6.24922C4.09645 6.42103 4.54687 6.5064 5.00069 6.50023C5.45452 6.5064 5.90494 6.42103 6.32503 6.24922C6.74512 6.0774 7.12627 5.82266 7.44569 5.50023C7.81539 5.49241 8.1802 5.58577 8.50069 5.77023C8.79683 5.94282 9.04826 6.1826 9.23469 6.47023C9.43481 6.78781 9.58869 7.13227 9.69169 7.49323C9.80925 7.88103 9.89158 8.27864 9.93769 8.68123C9.98189 9.09607 10.0029 9.51305 10.0007 9.93023ZM8.00069 3.00023C8.00686 3.39506 7.93204 3.78697 7.78086 4.15176C7.62967 4.51656 7.40534 4.8465 7.12169 5.12123C6.84696 5.40488 6.51702 5.62921 6.15223 5.78039C5.78743 5.93157 5.39553 6.00639 5.00069 6.00023C4.60586 6.00639 4.21395 5.93157 3.84916 5.78039C3.48436 5.62921 3.15442 5.40488 2.87969 5.12123C2.59605 4.8465 2.37171 4.51656 2.22053 4.15176C2.06935 3.78697 1.99453 3.39506 2.00069 3.00023C1.99453 2.6054 2.06935 2.21349 2.22053 1.8487C2.37171 1.4839 2.59605 1.15396 2.87969 0.879229C3.15442 0.595584 3.48436 0.371249 3.84916 0.220068C4.21395 0.0688871 4.60586 -0.00593148 5.00069 0.000229761C5.39553 -0.00593148 5.78743 0.0688871 6.15223 0.220068C6.51702 0.371249 6.84696 0.595584 7.12169 0.879229C7.40534 1.15396 7.62967 1.4839 7.78086 1.8487C7.93204 2.21349 8.00686 2.6054 8.00069 3.00023Z" fill="#A8B6C7"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
16
public/assets/images/common/pw_hide_icon.svg
Normal file
@ -0,0 +1,16 @@
|
||||
<svg width="19" height="14" viewBox="0 0 19 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_243_508)">
|
||||
<path d="M9.5 0.5C7.44666 0.503119 5.44191 1.12498 3.74727 2.28447C2.05263 3.44397 0.74676 5.08726 0 7C0.743991 8.91467 2.04917 10.5598 3.74441 11.7199C5.43966 12.8799 7.44586 13.5005 9.5 13.5005C11.5541 13.5005 13.5603 12.8799 15.2556 11.7199C16.9508 10.5598 18.256 8.91467 19 7C18.2532 5.08726 16.9474 3.44397 15.2527 2.28447C13.5581 1.12498 11.5533 0.503119 9.5 0.5ZM9.5 11.333C8.64238 11.336 7.80317 11.0844 7.08864 10.6101C6.37411 10.1358 5.81641 9.46007 5.48615 8.66859C5.1559 7.8771 5.06794 7.00541 5.23344 6.16391C5.39893 5.3224 5.81042 4.54893 6.4158 3.94145C7.02118 3.33397 7.79322 2.9198 8.63414 2.75139C9.47507 2.58298 10.3471 2.66791 11.1397 2.99541C11.9323 3.32292 12.6099 3.87828 13.0867 4.59116C13.5635 5.30404 13.818 6.14238 13.818 7C13.8196 8.14707 13.3657 9.24784 12.556 10.0604C11.7463 10.8729 10.6471 11.3306 9.5 11.333ZM9.5 4.4C8.98539 4.39822 8.48182 4.54919 8.05307 4.8338C7.62432 5.1184 7.28967 5.52384 7.09151 5.99877C6.89334 6.4737 6.84056 6.99675 6.93987 7.5017C7.03917 8.00664 7.28608 8.47075 7.64934 8.83527C8.01259 9.19979 8.47585 9.44831 8.98045 9.54936C9.48504 9.65042 10.0083 9.59946 10.4839 9.40294C10.9595 9.20642 11.3661 8.87317 11.6522 8.44541C11.9383 8.01765 12.091 7.51461 12.091 7C12.0921 6.65903 12.0258 6.32119 11.8961 6.00586C11.7664 5.69052 11.5757 5.40388 11.335 5.16236C11.0943 4.92084 10.8083 4.72917 10.4935 4.59835C10.1786 4.46754 9.84098 4.40013 9.5 4.4Z" fill="#C6D2E0"/>
|
||||
<mask id="mask0_243_508" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="19" height="14">
|
||||
<path d="M9.5 0.5C7.44666 0.503119 5.44191 1.12498 3.74727 2.28447C2.05263 3.44397 0.74676 5.08726 0 7C0.743991 8.91467 2.04917 10.5598 3.74441 11.7199C5.43966 12.8799 7.44586 13.5005 9.5 13.5005C11.5541 13.5005 13.5603 12.8799 15.2556 11.7199C16.9508 10.5598 18.256 8.91467 19 7C18.2532 5.08726 16.9474 3.44397 15.2527 2.28447C13.5581 1.12498 11.5533 0.503119 9.5 0.5ZM9.5 11.333C8.64238 11.336 7.80317 11.0844 7.08864 10.6101C6.37411 10.1358 5.81641 9.46007 5.48615 8.66859C5.1559 7.8771 5.06794 7.00541 5.23344 6.16391C5.39893 5.3224 5.81042 4.54893 6.4158 3.94145C7.02118 3.33397 7.79322 2.9198 8.63414 2.75139C9.47507 2.58298 10.3471 2.66791 11.1397 2.99541C11.9323 3.32292 12.6099 3.87828 13.0867 4.59116C13.5635 5.30404 13.818 6.14238 13.818 7C13.8196 8.14707 13.3657 9.24784 12.556 10.0604C11.7463 10.8729 10.6471 11.3306 9.5 11.333ZM9.5 4.4C8.98539 4.39822 8.48182 4.54919 8.05307 4.8338C7.62432 5.1184 7.28967 5.52384 7.09151 5.99877C6.89334 6.4737 6.84056 6.99675 6.93987 7.5017C7.03917 8.00664 7.28608 8.47075 7.64934 8.83527C8.01259 9.19979 8.47585 9.44831 8.98045 9.54936C9.48504 9.65042 10.0083 9.59946 10.4839 9.40294C10.9595 9.20642 11.3661 8.87317 11.6522 8.44541C11.9383 8.01765 12.091 7.51461 12.091 7C12.0921 6.65903 12.0258 6.32119 11.8961 6.00586C11.7664 5.69052 11.5757 5.40388 11.335 5.16236C11.0943 4.92084 10.8083 4.72917 10.4935 4.59835C10.1786 4.46754 9.84098 4.40013 9.5 4.4Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_243_508)">
|
||||
<path d="M15.3699 -0.375707L17.3752 1.56459L3.91121 14.7797L1.90586 12.8394L15.3699 -0.375707Z" fill="white"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_243_508">
|
||||
<rect width="19" height="13" fill="white" transform="translate(0 0.5)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
3
public/assets/images/common/pw_input_icon.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="9" height="12" viewBox="0 0 9 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.50011 5.50004H6.50011V4.00004C6.5042 3.73682 6.45431 3.47555 6.35352 3.23236C6.25274 2.98916 6.10319 2.7692 5.91411 2.58604C5.73094 2.39696 5.51098 2.24741 5.26779 2.14662C5.02459 2.04584 4.76333 1.99595 4.50011 2.00004C4.23689 1.99595 3.97562 2.04584 3.73243 2.14662C3.48924 2.24741 3.26927 2.39696 3.08611 2.58604C2.89703 2.7692 2.74748 2.98916 2.64669 3.23236C2.54591 3.47555 2.49602 3.73682 2.50011 4.00004V5.50004ZM9.00011 6.25004V10.75C9.00182 10.8488 8.98327 10.9469 8.9456 11.0382C8.90794 11.1295 8.85195 11.2122 8.78111 11.281C8.71226 11.3519 8.62962 11.4079 8.53829 11.4455C8.44696 11.4832 8.34888 11.5017 8.25011 11.5H0.750108C0.651333 11.5017 0.553255 11.4832 0.461927 11.4455C0.370599 11.4079 0.28796 11.3519 0.219108 11.281C0.148264 11.2122 0.0922805 11.1295 0.0546143 11.0382C0.016948 10.9469 -0.00160222 10.8488 0.000108407 10.75V6.25004C-0.00160222 6.15126 0.016948 6.05318 0.0546143 5.96186C0.0922805 5.87053 0.148264 5.78789 0.219108 5.71904C0.28796 5.64819 0.370599 5.59221 0.461927 5.55454C0.553255 5.51688 0.651333 5.49833 0.750108 5.50004H1.00011V4.00004C0.994168 3.53989 1.08259 3.08341 1.25991 2.65876C1.43723 2.23412 1.6997 1.85031 2.03111 1.53104C2.35038 1.19963 2.73419 0.937163 3.15883 0.759839C3.58348 0.582516 4.03996 0.494096 4.50011 0.500037C4.96025 0.494096 5.41673 0.582516 5.84138 0.759839C6.26603 0.937163 6.64983 1.19963 6.96911 1.53104C7.30052 1.85031 7.56298 2.23412 7.74031 2.65876C7.91763 3.08341 8.00605 3.53989 8.00011 4.00004V5.50004H8.25011C8.34888 5.49833 8.44696 5.51688 8.53829 5.55454C8.62962 5.59221 8.71226 5.64819 8.78111 5.71904C8.85195 5.78789 8.90794 5.87053 8.9456 5.96186C8.98327 6.05318 9.00182 6.15126 9.00011 6.25004Z" fill="#A8B6C7"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
3
public/assets/images/common/pw_show_icon.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="19" height="14" viewBox="0 0 19 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.5 0.522583C7.4493 0.523752 5.44643 1.14218 3.75206 2.29738C2.0577 3.45258 0.750291 5.09107 0 6.99958C0.749121 8.90896 2.05622 10.5483 3.75083 11.7038C5.44544 12.8593 7.44892 13.4774 9.5 13.4774C11.5511 13.4774 13.5546 12.8593 15.2492 11.7038C16.9438 10.5483 18.2509 8.90896 19 6.99958C18.2497 5.09107 16.9423 3.45258 15.2479 2.29738C13.5536 1.14218 11.5507 0.523752 9.5 0.522583ZM9.5 11.3226C8.64598 11.3226 7.81114 11.0693 7.10105 10.5949C6.39096 10.1204 5.83751 9.44602 5.51069 8.65701C5.18387 7.868 5.09836 6.99979 5.26497 6.16218C5.43158 5.32457 5.84283 4.55518 6.44671 3.9513C7.0506 3.34741 7.81999 2.93616 8.6576 2.76955C9.49521 2.60294 10.3634 2.68845 11.1524 3.01527C11.9414 3.34209 12.6158 3.89554 13.0903 4.60563C13.5648 5.31572 13.818 6.15056 13.818 7.00458C13.8175 8.14963 13.3624 9.24762 12.5527 10.0573C11.743 10.867 10.645 11.3221 9.5 11.3226ZM9.5 4.41358C8.98755 4.41358 8.4866 4.56554 8.06052 4.85025C7.63443 5.13495 7.30233 5.53961 7.10623 6.01305C6.91012 6.48649 6.85881 7.00746 6.95879 7.51006C7.05876 8.01267 7.30553 8.47434 7.66789 8.8367C8.03024 9.19905 8.49192 9.44582 8.99452 9.5458C9.49713 9.64577 10.0181 9.59446 10.4915 9.39835C10.965 9.20225 11.3696 8.87015 11.6543 8.44407C11.939 8.01798 12.091 7.51703 12.091 7.00458C12.0922 6.66376 12.026 6.32606 11.8963 6.01089C11.7666 5.69572 11.5758 5.40929 11.3351 5.16806C11.0943 4.92683 10.8082 4.73555 10.4933 4.60521C10.1784 4.47488 9.84083 4.40805 9.5 4.40858V4.41358Z" fill="#A8B6C7"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
3
public/assets/images/common/search_del_icon.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 12C4 10.4178 4.46919 8.87103 5.34825 7.55544C6.2273 6.23985 7.47672 5.21447 8.93853 4.60897C10.4003 4.00347 12.0089 3.84504 13.5607 4.15372C15.1126 4.4624 16.538 5.22433 17.6569 6.34315C18.7757 7.46197 19.5376 8.88743 19.8463 10.4393C20.155 11.9911 19.9965 13.5997 19.391 15.0615C18.7855 16.5233 17.7602 17.7727 16.4446 18.6518C15.129 19.5308 13.5822 20 12 20C10.9492 20.0009 9.90846 19.7946 8.93744 19.3929C7.96642 18.9912 7.08415 18.402 6.34109 17.6589C5.59804 16.9159 5.0088 16.0336 4.60709 15.0626C4.20538 14.0915 3.99908 13.0508 4 12ZM12 10.872L14.072 8.8L15.2 9.928L13.128 12L15.2 14.072L14.072 15.2L12 13.128L9.928 15.2L8.8 14.072L10.872 12L8.8 9.928L9.928 8.8L12 10.872Z" fill="#D9E1EC"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 852 B |
3
public/assets/images/common/search_icon.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11 4C14.866 4 18 7.13401 18 11C18 12.6663 17.4164 14.1955 16.4443 15.3975C16.4539 15.4045 16.4644 15.4104 16.4736 15.418L16.5303 15.4697L19.5303 18.4697L19.582 18.5264C19.8223 18.8209 19.8049 19.2557 19.5303 19.5303C19.2557 19.8049 18.8209 19.8223 18.5264 19.582L18.4697 19.5303L15.4697 16.5303L15.418 16.4736C15.4104 16.4644 15.4045 16.4539 15.3975 16.4443C14.1955 17.4164 12.6663 18 11 18C7.13401 18 4 14.866 4 11C4 7.13401 7.13401 4 11 4ZM11 5.5C7.96243 5.5 5.5 7.96243 5.5 11C5.5 14.0376 7.96243 16.5 11 16.5C14.0376 16.5 16.5 14.0376 16.5 11C16.5 7.96243 14.0376 5.5 11 5.5Z" fill="#A8B6C7"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 711 B |
3
public/assets/images/common/select_arr.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 1L7 7L13 1" stroke="#A8B6C7" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 210 B |
5
public/assets/images/common/side_nav_btn.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M3 12H21" stroke="#101010" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 6H21" stroke="#101010" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 18H21" stroke="#101010" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 410 B |
3
public/assets/images/layout/modal_close.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.7072 5.29289C6.31668 4.90237 5.68351 4.90237 5.29299 5.29289C4.90246 5.68342 4.90246 6.31658 5.29299 6.7071L10.5858 12L5.29289 17.2929C4.90237 17.6834 4.90237 18.3166 5.29289 18.7071C5.68342 19.0976 6.31658 19.0976 6.70711 18.7071L12 13.4142L17.293 18.7071C17.6835 19.0976 18.3167 19.0976 18.7072 18.7071C19.0977 18.3166 19.0977 17.6834 18.7072 17.2929L13.4143 12L18.7071 6.70711C19.0976 6.31658 19.0976 5.68342 18.7071 5.29289C18.3166 4.90237 17.6834 4.90237 17.2929 5.29289L12 10.5857L6.7072 5.29289Z" fill="#101010"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 636 B |
4
public/assets/images/layout/modal_header_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="17" height="20" viewBox="0 0 17 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.2104 18.9998V16.9001C15.2104 15.9767 14.882 15.1046 14.3177 14.4725C13.7907 13.8824 13.1027 13.5487 12.3926 13.5092L12.2499 13.5053H4.74992C3.98984 13.5053 3.24431 13.8429 2.68218 14.4725C2.1178 15.1046 1.7894 15.9767 1.7894 16.9001V18.9998C1.7894 19.4445 1.43594 19.805 0.999923 19.805C0.563909 19.805 0.210449 19.4445 0.210449 18.9998V16.9001C0.210449 15.5957 0.672785 14.3313 1.51493 13.3881C2.35931 12.4424 3.52093 11.8947 4.74992 11.8947H12.2499L12.4797 11.901C13.623 11.9647 14.6933 12.5016 15.4849 13.3881C16.3271 14.3313 16.7894 15.5957 16.7894 16.9001V18.9998C16.7894 19.4445 16.4359 19.805 15.9999 19.805C15.5639 19.805 15.2104 19.4445 15.2104 18.9998Z" fill="white"/>
|
||||
<path d="M11.681 5.04991C11.6809 3.25793 10.2568 1.80526 8.49996 1.80526C6.74315 1.80531 5.31899 3.25796 5.31894 5.04991C5.31894 6.84189 6.74312 8.2945 8.49996 8.29455C10.2568 8.29455 11.681 6.84193 11.681 5.04991ZM13.2599 5.04991C13.2599 7.73139 11.1289 9.90508 8.49996 9.90508C5.87109 9.90503 3.73999 7.73136 3.73999 5.04991C3.74004 2.36849 5.87112 0.194787 8.49996 0.194736C11.1288 0.194736 13.2599 2.36846 13.2599 5.04991Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
6
public/assets/images/layout/modal_header_icon02.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10.4498 1.90001H9.54985C5.51941 1.90001 3.50419 1.90001 2.2521 3.15213C1 4.40424 1 6.4195 1 10.45C1 14.4805 1 16.4958 2.2521 17.7479C3.50419 19 5.51941 19 9.54985 19C13.5803 19 15.5955 19 16.8476 17.7479C18.0997 16.4958 18.0997 14.4805 18.0997 10.45V9.55001" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M18.9996 4.15C18.9996 5.8897 17.5893 7.3 15.8497 7.3C14.11 7.3 12.6997 5.8897 12.6997 4.15C12.6997 2.4103 14.11 1 15.8497 1C17.5893 1 18.9996 2.4103 18.9996 4.15Z" stroke="white" stroke-width="1.5"/>
|
||||
<path d="M5.5 9.1H9.09994" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M5.5 13.6H12.6999" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 861 B |
5
public/assets/images/layout/modal_header_icon03.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.5 2.00372C10.6049 1.99039 9.7047 2.01289 8.8294 2.07107C4.64639 2.34913 1.31441 5.72838 1.04024 9.97072C0.986587 10.8009 0.986587 11.6607 1.04024 12.4909C1.1401 14.036 1.82343 15.4666 2.62791 16.6746C3.09501 17.5203 2.78674 18.5758 2.30021 19.4978C1.94941 20.1626 1.77401 20.495 1.91484 20.7351C2.05568 20.9752 2.37026 20.9829 2.99943 20.9982C4.24367 21.0285 5.08268 20.6757 5.74868 20.1846C6.1264 19.9061 6.31527 19.7668 6.44544 19.7508C6.5756 19.7348 6.83177 19.8403 7.34401 20.0513C7.8044 20.2409 8.33896 20.3579 8.8294 20.3905C10.2536 20.4852 11.7435 20.4854 13.1706 20.3905C17.3536 20.1125 20.6856 16.7332 20.9598 12.4909C21.0021 11.836 21.011 11.1627 20.9866 10.5" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M7.5 14H14.5M7.5 9H11" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M14 4.5H21M17.5 1L17.5 8" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
5
public/assets/images/layout/modal_header_icon04.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="19" height="22" viewBox="0 0 19 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18 8.90909L18 6.81818C18 5.12494 18 4.27832 17.732 3.60214C17.3013 2.5151 16.3902 1.65765 15.2352 1.2522C14.5168 1 13.6173 1 11.8182 0.999999C8.66981 0.999999 7.09563 1 5.83836 1.44135C3.81714 2.15088 2.22282 3.65142 1.46894 5.55375C1 6.73706 1 8.21865 1 11.1818L1 13.7273C1 16.7966 1 18.3313 1.8477 19.3971C2.09058 19.7025 2.37862 19.9736 2.70307 20.2022C3.83546 21 5.46607 21 8.72727 21L9.5 21C10.0347 21 11.0337 21 11.5 20.9972" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M1 11C1 9.15905 2.49238 7.66667 4.33333 7.66667C4.99912 7.66667 5.78404 7.78333 6.43137 7.60988C7.00652 7.45576 7.45576 7.00652 7.60988 6.43136C7.78333 5.78404 7.66667 4.99912 7.66667 4.33333C7.66667 2.49238 9.15905 1 11 1" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M18 15H10.5M18 15C18 15.7002 16.0057 17.0085 15.5 17.5M18 15C18 14.2998 16.0057 12.9915 15.5 12.5" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
3
public/assets/images/layout/side_back_btn.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20 10.9899V13.0101H7.87879L13.4343 18.5657L12 20L4 12L12 4L13.4343 5.43434L7.87879 10.9899H20Z" fill="#2B2B2B"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 226 B |
3
public/assets/images/layout/side_nav_close.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.7072 5.29289C6.31668 4.90237 5.68351 4.90237 5.29299 5.29289C4.90246 5.68342 4.90246 6.31658 5.29299 6.70711L10.5858 12L5.29289 17.2929C4.90237 17.6834 4.90237 18.3166 5.29289 18.7071C5.68342 19.0976 6.31658 19.0976 6.70711 18.7071L12 13.4142L17.293 18.7071C17.6835 19.0976 18.3167 19.0976 18.7072 18.7071C19.0977 18.3166 19.0977 17.6834 18.7072 17.2929L13.4143 12L18.7071 6.70711C19.0976 6.31658 19.0976 5.68342 18.7071 5.29289C18.3166 4.90237 17.6834 4.90237 17.2929 5.29289L12 10.5857L6.7072 5.29289Z" fill="#535763"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 637 B |
3
public/assets/images/layout/side_nav_item_arr.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 1.5L5 5.5L1 9.5" stroke="#8F9CB1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 213 B |
5
public/assets/images/layout/side_nav_profile.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="48" height="48" rx="24" fill="#101010"/>
|
||||
<path d="M34 34.1765V31.5686C34 30.1853 33.4996 28.8587 32.6088 27.8806C31.718 26.9024 30.5098 26.3529 29.25 26.3529H19.75C18.4902 26.3529 17.282 26.9024 16.3912 27.8806C15.5004 28.8587 15 30.1853 15 31.5686V34.1765" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M24.5001 21.8824C27.2778 21.8824 29.5295 19.6306 29.5295 16.8529C29.5295 14.0753 27.2778 11.8235 24.5001 11.8235C21.7224 11.8235 19.4707 14.0753 19.4707 16.8529C19.4707 19.6306 21.7224 21.8824 24.5001 21.8824Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 756 B |
8
public/assets/images/layout/side_swiper_icon01.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 4C1 2.34315 2.34315 1 4 1H16C17.6569 1 19 2.34315 19 4V18C19 19.6569 17.6569 21 16 21H4C2.34315 21 1 19.6569 1 18V4Z" fill="white"/>
|
||||
<path d="M19 10V9C19 5.22876 19 3.34315 17.7595 2.17157C16.519 1 14.5225 1 10.5294 1L9.47059 1C5.47752 1 3.48098 1 2.24049 2.17157C1 3.34315 1 5.22876 1 9L1 13C1 16.7712 1 18.6569 2.24049 19.8284C3.48098 21 5.47751 21 9.47059 21H10" stroke="#7896BA" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M6 6H14" stroke="#7896BA" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M6 11H14" stroke="#7896BA" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M17.3285 13.8039C17.6619 13.4705 17.8285 13.3039 18.0019 13.2037C18.4725 12.9321 19.0522 12.9321 19.5227 13.2037C19.6961 13.3039 19.8628 13.4705 20.1961 13.8039C20.5295 14.1372 20.6961 14.3039 20.7963 14.4773C21.0679 14.9478 21.0679 15.5275 20.7963 15.9981C20.6961 16.1715 20.5295 16.3381 20.1961 16.6715L16.8883 19.9793C16.2274 20.6402 15.2301 20.6671 14.3477 20.8557C13.6578 21.0032 13.3128 21.077 13.1179 20.8821C12.923 20.6872 12.9968 20.3422 13.1443 19.6523C13.3329 18.7699 13.3598 17.7726 14.0207 17.1117L17.3285 13.8039Z" fill="#F4F9FF"/>
|
||||
<path d="M14.3477 20.8557L14.1909 20.1223L14.3477 20.8557ZM13.1443 19.6523L13.8777 19.8091L13.1443 19.6523ZM14.0207 17.1117L13.4903 16.5814L14.0207 17.1117ZM16.8883 19.9793L16.358 19.449L16.8883 19.9793ZM20.7963 14.4773L21.4458 14.1023V14.1023L20.7963 14.4773ZM20.1961 16.6715L20.7265 17.2018L20.1961 16.6715ZM20.7963 15.9981L21.4458 16.3731L20.7963 15.9981ZM19.5227 13.2037L19.8977 12.5542V12.5542L19.5227 13.2037ZM17.3285 13.8039L17.8588 14.3342L17.3285 13.8039ZM18.0019 13.2037L17.6269 12.5542V12.5542L18.0019 13.2037ZM20.1961 16.6715L19.6658 16.1412L16.358 19.449L16.8883 19.9793L17.4186 20.5097L20.7265 17.2018L20.1961 16.6715ZM14.0207 17.1117L14.551 17.642L17.8588 14.3342L17.3285 13.8039L16.7982 13.2735L13.4903 16.5814L14.0207 17.1117ZM14.3477 20.8557L14.1909 20.1223C14.0155 20.1598 13.8753 20.1897 13.7548 20.2121C13.6333 20.2347 13.5536 20.2454 13.4996 20.2488C13.4441 20.2524 13.4479 20.2458 13.4825 20.2547C13.5296 20.2669 13.5936 20.2972 13.6482 20.3518L13.1179 20.8821L12.5876 21.4124C12.9113 21.7362 13.3158 21.7636 13.5948 21.7458C13.8603 21.7289 14.1839 21.6577 14.5045 21.5891L14.3477 20.8557ZM13.1443 19.6523L12.4109 19.4955C12.3423 19.8161 12.2711 20.1397 12.2542 20.4052C12.2364 20.6842 12.2638 21.0887 12.5876 21.4124L13.1179 20.8821L13.6482 20.3518C13.7028 20.4064 13.7331 20.4704 13.7453 20.5175C13.7542 20.5521 13.7476 20.5559 13.7512 20.5004C13.7546 20.4464 13.7653 20.3667 13.7879 20.2452C13.8103 20.1247 13.8402 19.9845 13.8777 19.8091L13.1443 19.6523ZM20.1961 13.8039L19.6658 14.3342C20.0333 14.7017 20.1084 14.786 20.1467 14.8523L20.7963 14.4773L21.4458 14.1023C21.2839 13.8218 21.0257 13.5728 20.7265 13.2735L20.1961 13.8039ZM20.1961 16.6715L20.7265 17.2018C21.0257 16.9026 21.2839 16.6535 21.4458 16.3731L20.7963 15.9981L20.1467 15.6231C20.1084 15.6894 20.0333 15.7737 19.6658 16.1412L20.1961 16.6715ZM20.7963 14.4773L20.1467 14.8523C20.2844 15.0908 20.2844 15.3846 20.1467 15.6231L20.7963 15.9981L21.4458 16.3731C21.8514 15.6705 21.8514 14.8049 21.4458 14.1023L20.7963 14.4773ZM20.1961 13.8039L20.7265 13.2735C20.4272 12.9743 20.1782 12.7161 19.8977 12.5542L19.5227 13.2037L19.1477 13.8533C19.214 13.8916 19.2983 13.9667 19.6658 14.3342L20.1961 13.8039ZM17.3285 13.8039L17.8588 14.3342C18.2263 13.9667 18.3106 13.8916 18.3769 13.8533L18.0019 13.2037L17.6269 12.5542C17.3465 12.7161 17.0974 12.9743 16.7982 13.2735L17.3285 13.8039ZM19.5227 13.2037L19.8977 12.5542C19.1951 12.1486 18.3295 12.1486 17.6269 12.5542L18.0019 13.2037L18.3769 13.8533C18.6154 13.7156 18.9092 13.7156 19.1477 13.8533L19.5227 13.2037ZM16.8883 19.9793L16.358 19.449C16.1624 19.6445 15.8952 19.771 15.5155 19.8679C15.3253 19.9165 15.1224 19.954 14.8963 19.9931C14.679 20.0306 14.4303 20.0711 14.1909 20.1223L14.3477 20.8557L14.5045 21.5891C14.7063 21.546 14.9131 21.5124 15.1517 21.4712C15.3814 21.4315 15.6346 21.3856 15.8866 21.3213C16.3914 21.1924 16.9533 20.975 17.4186 20.5097L16.8883 19.9793ZM13.1443 19.6523L13.8777 19.8091C13.9289 19.5697 13.9694 19.321 14.0069 19.1037C14.046 18.8776 14.0835 18.6747 14.1321 18.4845C14.229 18.1048 14.3555 17.8376 14.551 17.642L14.0207 17.1117L13.4903 16.5814C13.025 17.0467 12.8076 17.6086 12.6787 18.1134C12.6144 18.3654 12.5685 18.6186 12.5288 18.8483C12.4876 19.0869 12.454 19.2937 12.4109 19.4955L13.1443 19.6523Z" fill="#7896BA"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
7
public/assets/images/layout/side_swiper_icon02.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10.2435 0.855705C15.4097 0.855705 19.5984 4.76701 19.5984 9.59169C19.5983 14.4163 15.4097 18.3277 10.2435 18.3277C9.21282 18.3276 8.22209 18.1686 7.2948 17.8811L6.93848 18.2343L3.16521 18.8557L4.21196 16.2668C2.1806 14.6643 0.889448 12.2694 0.889404 9.59169C0.889404 4.76712 5.07732 0.85588 10.2435 0.855705Z" fill="white"/>
|
||||
<path d="M0 9.59678C0.000163056 4.27209 4.50324 3.08562e-05 9.99974 0C10.5114 0 11.0145 0.0367594 11.5062 0.108105L11.994 0.190773L12.0635 0.208033C12.4039 0.310445 12.6172 0.654717 12.5476 1.00928C12.478 1.36387 12.15 1.6032 11.7958 1.5707L11.7245 1.5607L11.3034 1.48894C10.8786 1.42731 10.4433 1.39537 9.99974 1.39537C5.22716 1.3954 1.40338 5.09254 1.40322 9.59678C1.40322 11.7648 2.28418 13.7385 3.73095 15.2082L3.89265 15.3881C4.25873 15.8329 4.5322 16.4532 4.40149 17.1468V17.1487C4.30484 17.6562 4.13751 18.1444 3.91092 18.6022C4.74024 18.5824 5.56144 18.369 6.29803 17.9772L6.82058 17.7073C6.95458 17.6437 7.12248 17.5708 7.30476 17.5429L7.43723 17.5302C7.56728 17.5242 7.69099 17.5364 7.79808 17.5511C7.94476 17.5712 8.12535 17.6059 8.33159 17.6447L8.74543 17.7119C9.16053 17.77 9.57922 17.7996 9.99883 17.7991H9.99974L10.4446 17.7882C15.0079 17.5669 18.5963 13.9603 18.5963 9.59678C18.5964 9.21163 18.9105 8.89916 19.2979 8.8991C19.6853 8.8991 19.9993 9.21159 19.9995 9.59678C19.9995 14.9216 15.4964 19.1936 9.99974 19.1936C9.51427 19.1941 9.02994 19.1608 8.54993 19.0936L8.07032 19.0155C7.84995 18.9741 7.71018 18.948 7.60623 18.9337C7.56695 18.9284 7.5409 18.924 7.52493 18.9228C7.5106 18.9282 7.47931 18.9408 7.42535 18.9664L6.96035 19.2072C5.6279 19.9161 4.07257 20.1676 2.57256 19.8885C2.32985 19.8433 2.12903 19.6747 2.04362 19.4443C1.95822 19.2139 2.00084 18.9558 2.15598 18.7648L2.31311 18.5586C2.66358 18.067 2.90718 17.4969 3.02294 16.8888C3.05428 16.7202 2.99503 16.5004 2.81374 16.2793L2.72787 16.1839C1.04031 14.4693 0 12.1512 0 9.59678Z" fill="#7896BA"/>
|
||||
<path d="M19.2978 4.88379C19.2978 6.68195 17.8408 8.13965 16.0434 8.13965C14.2461 8.13965 12.7891 6.68195 12.7891 4.88379C12.7891 3.08563 14.2461 1.62794 16.0434 1.62794C17.8408 1.62794 19.2978 3.08563 19.2978 4.88379Z" fill="#F4F9FF"/>
|
||||
<path d="M18.5967 4.88379C18.5967 3.46695 17.4492 2.32562 16.0433 2.32562C14.6376 2.32578 13.4909 3.46705 13.4909 4.88379C13.4909 6.30053 14.6376 7.4418 16.0433 7.44196C17.4492 7.44196 18.5967 6.30063 18.5967 4.88379ZM19.9999 4.88379C19.9999 7.06327 18.2322 8.83733 16.0433 8.83733C13.8546 8.83717 12.0876 7.06318 12.0876 4.88379C12.0876 2.70441 13.8546 0.930412 16.0433 0.930252C18.2322 0.930252 19.9999 2.70431 19.9999 4.88379Z" fill="#7896BA"/>
|
||||
<path d="M6.28867 9.06989L6.38459 9.07444C6.85625 9.12213 7.22415 9.51853 7.22415 10.0001C7.22415 10.4817 6.85625 10.8781 6.38459 10.9258L6.28867 10.9304H6.28045C5.7638 10.9304 5.34497 10.5139 5.34497 10.0001C5.34497 9.48638 5.7638 9.06989 6.28045 9.06989H6.28867ZM10.0041 9.06989L10.0991 9.07444C10.571 9.12186 10.9396 9.51833 10.9396 10.0001C10.9396 10.4819 10.571 10.8784 10.0991 10.9258L10.0041 10.9304H9.99586C9.47921 10.9304 9.06039 10.5139 9.06039 10.0001C9.06039 9.48638 9.47921 9.06989 9.99586 9.06989H10.0041ZM13.7186 9.06989L13.8145 9.07444C14.2863 9.122 14.6541 9.51843 14.6541 10.0001C14.6541 10.4818 14.2863 10.8783 13.8145 10.9258L13.7186 10.9304H13.7104C13.1939 10.9302 12.7749 10.5138 12.7749 10.0001C12.7749 9.48648 13.1939 9.07005 13.7104 9.06989H13.7186Z" fill="#7896BA"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
5
public/assets/images/layout/side_swiper_icon03.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11 1.5L13 2.5L19 8.5L20 9.5L20.5 10.5V11.5L19.5 12.5L19 13.5L18.5 14.5L18 16.5L17.5 18H16L14.5 18.5L12.5 19.5L11 20.5L9 19.5L8 18.5L5 18L4 17L3.5 15L3 13L1.5 11.5V10L3.5 7.5L4 4.5L5.5 4L9 2.5L11 1.5Z" fill="white"/>
|
||||
<path d="M13.2618 2.59937C12.1956 1.53312 11.6625 1 11 1C10.3375 1 9.8044 1.53312 8.73815 2.59937C8.09832 3.2392 7.46427 3.53626 6.55208 3.53626C5.7556 3.53626 4.62243 3.38178 4 4.00944C3.38249 4.63214 3.53628 5.76065 3.53628 6.55206C3.53628 7.46428 3.2392 8.09832 2.59935 8.73817C1.53312 9.8044 1.00001 10.3375 1 11C1.00002 11.6624 1.53314 12.1956 2.59938 13.2618C3.31616 13.9786 3.53628 14.4414 3.53628 15.4479C3.53628 16.2444 3.38181 17.3776 4.00949 18C4.63218 18.6175 5.76068 18.4637 6.55206 18.4637C7.52349 18.4637 7.99128 18.6537 8.68457 19.347C9.27492 19.9374 10.0663 21 11 21C11.9337 21 12.7251 19.9374 13.3154 19.347C14.0087 18.6537 14.4765 18.4637 15.4479 18.4637C16.2393 18.4637 17.3678 18.6175 17.9905 18M19.4006 8.73817C20.4669 9.8044 21 10.3375 21 11C21 11.6624 20.4669 12.1956 19.4006 13.2618C18.6838 13.9786 18.4637 14.4414 18.4637 15.4479C18.4637 16.2444 18.6182 17.3776 17.9905 18M17.9905 18H18" stroke="#7896BA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M7.5 8.5L11 12L20.0002 2" stroke="#7896BA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
public/assets/images/main/block_arr.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 1.5L5 5.5L1 9.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 211 B |
3
public/assets/images/main/main_contens_arr.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.29297 0.292734C5.65908 -0.0733816 6.23809 -0.0959754 6.63086 0.224375L6.70703 0.292734L11.707 5.29273C12.0976 5.68326 12.0976 6.31627 11.707 6.7068L6.70703 11.7068C6.31651 12.0973 5.68349 12.0973 5.29297 11.7068C4.90244 11.3163 4.90244 10.6833 5.29297 10.2927L8.58594 6.99977H1C0.447715 6.99977 0 6.55205 0 5.99977C0 5.44748 0.447715 4.99977 1 4.99977H8.58594L5.29297 1.7068L5.22461 1.63063C4.90426 1.23785 4.92685 0.65885 5.29297 0.292734Z" fill="#7896BA" fill-opacity="0.6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 593 B |
6
public/assets/images/main/main_icon01.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.5 3H11.5C7.02166 3 4.78249 3 3.39124 4.39124C2 5.78249 2 8.02166 2 12.5C2 16.9783 2 19.2175 3.39124 20.6088C4.78249 22 7.02166 22 11.5 22C15.9783 22 18.2175 22 19.6088 20.6088C21 19.2175 21 16.9783 21 12.5V11.5" stroke="#B2A3FF" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M22 5.5C22 7.433 20.433 9 18.5 9C16.567 9 15 7.433 15 5.5C15 3.567 16.567 2 18.5 2C20.433 2 22 3.567 22 5.5Z" stroke="#B2A3FF" stroke-opacity="0.5" stroke-width="1.5"/>
|
||||
<path d="M7 11H11" stroke="#B2A3FF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M7 16H15" stroke="#B2A3FF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 775 B |
5
public/assets/images/main/main_icon02.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20 11V7.81818C20 6.12494 20 5.27832 19.732 4.60214C19.3012 3.5151 18.3902 2.65765 17.2352 2.2522C16.5168 2 15.6173 2 13.8182 2C10.6698 2 9.09563 2 7.83836 2.44135C5.81714 3.15089 4.22281 4.65142 3.46894 6.55375C3 7.73706 3 9.21865 3 12.1818V14.7273C3 17.7966 3 19.3313 3.8477 20.3971C4.09058 20.7025 4.37862 20.9736 4.70307 21.2022C5.74797 21.9384 7.21706 21.9952 10 21.9996" stroke="#FFA1A1" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M3 12C3 10.1591 4.49238 8.66667 6.33333 8.66667C6.99912 8.66667 7.78404 8.78333 8.43137 8.60988C9.00652 8.45576 9.45576 8.00652 9.60988 7.43136C9.78333 6.78404 9.66667 5.99912 9.66667 5.33333C9.66667 3.49238 11.1591 2 13 2" stroke="#FFA1A1" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M14.3477 21.8557L14.1909 21.1223L14.3477 21.8557ZM13.1443 20.6523L13.8777 20.8091L13.1443 20.6523ZM14.0207 18.1117L13.4903 17.5814H13.4903L14.0207 18.1117ZM20.7963 15.4773L21.4458 15.1023L20.7963 15.4773ZM20.7963 16.9981L21.4458 17.3731L20.7963 16.9981ZM19.5227 14.2037L19.8977 13.5542L19.5227 14.2037ZM17.3285 14.8039L17.8588 15.3342L17.3285 14.8039ZM18.0019 14.2037L17.6269 13.5542L17.6269 13.5542L18.0019 14.2037ZM20.1961 17.6715L19.6658 17.1412L16.358 20.449L16.8883 20.9793L17.4186 21.5097L20.7265 18.2018L20.1961 17.6715ZM14.0207 18.1117L14.551 18.642L17.8588 15.3342L17.3285 14.8039L16.7982 14.2735L13.4903 17.5814L14.0207 18.1117ZM14.3477 21.8557L14.1909 21.1223C14.0155 21.1598 13.8753 21.1897 13.7548 21.2121C13.6333 21.2347 13.5536 21.2454 13.4996 21.2488C13.4441 21.2524 13.4479 21.2458 13.4825 21.2547C13.5296 21.2669 13.5936 21.2972 13.6482 21.3518L13.1179 21.8821L12.5876 22.4124C12.9113 22.7362 13.3158 22.7636 13.5948 22.7458C13.8603 22.7289 14.1839 22.6577 14.5045 22.5891L14.3477 21.8557ZM13.1443 20.6523L12.4109 20.4955C12.3423 20.8161 12.2711 21.1397 12.2542 21.4052C12.2364 21.6842 12.2638 22.0887 12.5876 22.4124L13.1179 21.8821L13.6482 21.3518C13.7028 21.4064 13.7331 21.4704 13.7453 21.5175C13.7542 21.5521 13.7476 21.5559 13.7512 21.5004C13.7546 21.4464 13.7653 21.3667 13.7879 21.2452C13.8103 21.1247 13.8402 20.9845 13.8777 20.8091L13.1443 20.6523ZM20.1961 14.8039L19.6658 15.3342C20.0333 15.7017 20.1084 15.786 20.1467 15.8523L20.7963 15.4773L21.4458 15.1023C21.2839 14.8218 21.0257 14.5728 20.7265 14.2735L20.1961 14.8039ZM20.1961 17.6715L20.7265 18.2018C21.0257 17.9026 21.2839 17.6535 21.4458 17.3731L20.7963 16.9981L20.1467 16.6231C20.1084 16.6894 20.0333 16.7737 19.6658 17.1412L20.1961 17.6715ZM20.7963 15.4773L20.1467 15.8523C20.2844 16.0908 20.2844 16.3846 20.1467 16.6231L20.7963 16.9981L21.4458 17.3731C21.8514 16.6705 21.8514 15.8049 21.4458 15.1023L20.7963 15.4773ZM20.1961 14.8039L20.7265 14.2735C20.4272 13.9743 20.1782 13.7161 19.8977 13.5542L19.5227 14.2037L19.1477 14.8533C19.214 14.8916 19.2983 14.9667 19.6658 15.3342L20.1961 14.8039ZM17.3285 14.8039L17.8588 15.3342C18.2263 14.9667 18.3106 14.8916 18.3769 14.8533L18.0019 14.2037L17.6269 13.5542C17.3465 13.7161 17.0974 13.9743 16.7982 14.2735L17.3285 14.8039ZM19.5227 14.2037L19.8977 13.5542C19.1951 13.1486 18.3295 13.1486 17.6269 13.5542L18.0019 14.2037L18.3769 14.8533C18.6154 14.7156 18.9092 14.7156 19.1477 14.8533L19.5227 14.2037ZM16.8883 20.9793L16.358 20.449C16.1624 20.6445 15.8952 20.771 15.5155 20.8679C15.3253 20.9165 15.1224 20.954 14.8963 20.9931C14.679 21.0306 14.4303 21.0711 14.1909 21.1223L14.3477 21.8557L14.5045 22.5891C14.7063 22.546 14.9131 22.5124 15.1517 22.4712C15.3814 22.4315 15.6346 22.3856 15.8866 22.3213C16.3914 22.1924 16.9533 21.975 17.4186 21.5097L16.8883 20.9793ZM13.1443 20.6523L13.8777 20.8091C13.9289 20.5697 13.9694 20.321 14.0069 20.1037C14.046 19.8776 14.0835 19.6747 14.1321 19.4845C14.229 19.1048 14.3555 18.8376 14.551 18.642L14.0207 18.1117L13.4903 17.5814C13.025 18.0467 12.8076 18.6086 12.6787 19.1134C12.6144 19.3654 12.5685 19.6186 12.5288 19.8483C12.4876 20.0869 12.454 20.2937 12.4109 20.4955L13.1443 20.6523Z" fill="#FFA1A1" fill-opacity="0.5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
4
public/assets/images/main/main_icon03.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8 14H16M8 9H12" stroke="#A0C653" stroke-opacity="0.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M6.09881 19.5C4.7987 19.3721 3.82475 18.9816 3.17157 18.3284C2 17.1569 2 15.2712 2 11.5V11C2 7.22876 2 5.34315 3.17157 4.17157C4.34315 3 6.22876 3 10 3H14C17.7712 3 19.6569 3 20.8284 4.17157C22 5.34315 22 7.22876 22 11V11.5C22 15.2712 22 17.1569 20.8284 18.3284C19.6569 19.5 17.7712 19.5 14 19.5C13.4395 19.5125 12.9931 19.5551 12.5546 19.655C11.3562 19.9309 10.2465 20.5441 9.14987 21.0789C7.58729 21.8408 6.806 22.2218 6.31569 21.8651C5.37769 21.1665 6.29454 19.0019 6.5 18" stroke="#A0C653" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 782 B |
5
public/assets/images/main/main_icon04.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.9165 10.5C21.9351 10.6556 21.9495 10.8126 21.9598 10.9707C22.0134 11.8009 22.0134 12.6607 21.9598 13.4909C21.6856 17.7332 18.3536 21.1125 14.1706 21.3905C12.7435 21.4854 11.2536 21.4852 9.8294 21.3905C9.33896 21.3579 8.8044 21.2409 8.34401 21.0513C7.83177 20.8403 7.5756 20.7348 7.44544 20.7508C7.31527 20.7668 7.1264 20.9061 6.74868 21.1846C6.08268 21.6757 5.24367 22.0285 3.99943 21.9982C3.37026 21.9829 3.05568 21.9752 2.91484 21.7351C2.77401 21.495 2.94941 21.1626 3.30021 20.4978C3.78674 19.5758 4.09501 18.5203 3.62791 17.6746C2.82343 16.4666 2.1401 15.036 2.04024 13.4909C1.98659 12.6607 1.98659 11.8009 2.04024 10.9707C2.31441 6.72838 5.64639 3.34913 9.8294 3.07107C11.0318 2.99114 12.2812 2.97856 13.5 3.03368" stroke="#D7B85A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M15.3477 9.85572L15.1909 9.1223H15.1909L15.3477 9.85572ZM14.1443 8.65228L14.8777 8.80911L14.1443 8.65228ZM15.0207 6.11171L14.4903 5.58138H14.4903L15.0207 6.11171ZM17.8883 8.97933L18.4186 9.50966L17.8883 8.97933ZM21.7963 3.47729L22.4458 3.10229L21.7963 3.47729ZM21.1961 5.67149L20.6658 5.14116L21.1961 5.67149ZM21.7963 4.99807L22.4458 5.37307L21.7963 4.99807ZM20.5227 2.20375L20.8977 1.55423V1.55423L20.5227 2.20375ZM18.3285 2.80388L18.8588 3.33421L18.3285 2.80388ZM19.0019 2.20375L18.6269 1.55423V1.55423L19.0019 2.20375ZM21.1961 5.67149L20.6658 5.14116L17.358 8.449L17.8883 8.97933L18.4186 9.50966L21.7265 6.20182L21.1961 5.67149ZM15.0207 6.11171L15.551 6.64205L18.8588 3.33421L18.3285 2.80388L17.7982 2.27355L14.4903 5.58138L15.0207 6.11171ZM15.3477 9.85572L15.1909 9.1223C15.0155 9.15981 14.8753 9.18973 14.7548 9.21212C14.6333 9.23472 14.5536 9.2454 14.4996 9.24884C14.4441 9.25237 14.4479 9.24579 14.4825 9.25471C14.5296 9.26685 14.5936 9.29719 14.6482 9.35178L14.1179 9.88211L13.5876 10.4124C13.9113 10.7362 14.3158 10.7636 14.5948 10.7458C14.8603 10.7289 15.1839 10.6577 15.5045 10.5891L15.3477 9.85572ZM14.1443 8.65228L13.4109 8.49546C13.3423 8.8161 13.2711 9.13973 13.2542 9.40523C13.2364 9.68419 13.2638 10.0887 13.5876 10.4124L14.1179 9.88211L14.6482 9.35178C14.7028 9.40637 14.7331 9.47039 14.7453 9.51747C14.7542 9.55207 14.7476 9.55591 14.7512 9.50044C14.7546 9.44641 14.7653 9.36674 14.7879 9.24519C14.8103 9.12473 14.8402 8.98455 14.8777 8.80911L14.1443 8.65228ZM21.1961 2.80388L20.6658 3.33421C21.0333 3.7017 21.1084 3.78597 21.1467 3.85229L21.7963 3.47729L22.4458 3.10229C22.2839 2.82184 22.0257 2.57275 21.7265 2.27355L21.1961 2.80388ZM21.1961 5.67149L21.7265 6.20182C22.0257 5.90261 22.2839 5.65353 22.4458 5.37307L21.7963 4.99807L21.1467 4.62307C21.1084 4.6894 21.0333 4.77367 20.6658 5.14116L21.1961 5.67149ZM21.7963 3.47729L21.1467 3.85229C21.2844 4.09077 21.2844 4.38459 21.1467 4.62307L21.7963 4.99807L22.4458 5.37307C22.8514 4.67049 22.8514 3.80488 22.4458 3.10229L21.7963 3.47729ZM21.1961 2.80388L21.7265 2.27355C21.4272 1.97434 21.1782 1.71615 20.8977 1.55423L20.5227 2.20375L20.1477 2.85326C20.214 2.89156 20.2983 2.96671 20.6658 3.33421L21.1961 2.80388ZM18.3285 2.80388L18.8588 3.33421C19.2263 2.96672 19.3106 2.89156 19.3769 2.85326L19.0019 2.20375L18.6269 1.55423C18.3465 1.71615 18.0974 1.97434 17.7982 2.27355L18.3285 2.80388ZM20.5227 2.20375L20.8977 1.55423C20.1951 1.14859 19.3295 1.14859 18.6269 1.55423L19.0019 2.20375L19.3769 2.85327C19.6154 2.71558 19.9092 2.71558 20.1477 2.85327L20.5227 2.20375ZM17.8883 8.97933L17.358 8.449C17.1624 8.64453 16.8952 8.77096 16.5155 8.8679C16.3253 8.91646 16.1224 8.954 15.8963 8.99307C15.679 9.03061 15.4303 9.07112 15.1909 9.1223L15.3477 9.85572L15.5045 10.5891C15.7063 10.546 15.9131 10.5124 16.1517 10.4712C16.3814 10.4315 16.6346 10.3856 16.8866 10.3213C17.3914 10.1924 17.9533 9.97497 18.4186 9.50966L17.8883 8.97933ZM14.1443 8.65228L14.8777 8.80911C14.9289 8.56974 14.9694 8.32097 15.0069 8.1037C15.046 7.87757 15.0835 7.67468 15.1321 7.48447C15.229 7.10477 15.3555 6.83758 15.551 6.64205L15.0207 6.11171L14.4903 5.58138C14.025 6.0467 13.8076 6.60863 13.6787 7.11341C13.6144 7.36544 13.5685 7.61864 13.5288 7.84832C13.4876 8.08687 13.454 8.29366 13.4109 8.49546L14.1443 8.65228Z" fill="#D7B85A" fill-opacity="0.5"/>
|
||||
<path d="M8.5 15H15.5M8.5 10H11" stroke="#D7B85A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
4
public/assets/images/sub/compliance_bx_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="0.5" y="0.5" width="21" height="21" rx="10.5" stroke="#A8B6C7"/>
|
||||
<path d="M7 13L11 9L15 13" stroke="#A8B6C7" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 289 B |
4
public/assets/images/sub/compliance_check_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20 11C20 6.02944 15.9706 2 11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C15.9706 20 20 15.9706 20 11Z" fill="#F1FFF4" stroke="#6CB67C"/>
|
||||
<path d="M7 11.5875L9.5625 14.15L15.2 8" stroke="#6CB67C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 387 B |
4
public/assets/images/sub/compliance_quest_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20 11C20 6.02944 15.9706 2 11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C15.9706 20 20 15.9706 20 11Z" fill="#EFF7FF" stroke="#67A9EF"/>
|
||||
<path d="M10.9219 14.7871C11.3002 14.8253 11.5956 15.1448 11.5957 15.5332C11.5957 15.9217 11.3002 16.2411 10.9219 16.2793L10.8457 16.2832H10.833C10.419 16.283 10.083 15.9473 10.083 15.5332C10.0831 15.1192 10.4191 14.7834 10.833 14.7832H10.8457L10.9219 14.7871ZM10.835 5C12.4218 5.00022 13.6687 6.32107 13.6689 7.90039C13.6689 8.4001 13.545 8.87321 13.3252 9.28613L13.2256 9.45898C13.0473 9.74483 12.8377 10.0187 12.6436 10.2676C12.4417 10.5263 12.2576 10.7567 12.0908 10.9932C11.7534 11.4716 11.5851 11.8465 11.585 12.2002V12.7383C11.5847 13.1522 11.2489 13.4881 10.835 13.4883C10.4209 13.4883 10.0852 13.1523 10.085 12.7383V12.2002C10.0851 11.3669 10.4817 10.6716 10.8652 10.1279C11.059 9.85327 11.2756 9.58331 11.4609 9.3457C11.6538 9.09844 11.8192 8.87814 11.9521 8.66504L12.0439 8.49316C12.1238 8.3143 12.1689 8.11368 12.1689 7.90039C12.1687 7.10541 11.55 6.50023 10.835 6.5C10.1198 6.50002 9.50021 7.10528 9.5 7.90039C9.49985 8.31448 9.16412 8.65039 8.75 8.65039C8.33589 8.65037 8.00015 8.31447 8 7.90039C8.00021 6.32095 9.24791 5.00002 10.835 5Z" fill="#67A9EF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
4
public/assets/images/sub/compliance_tip_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20 11C20 6.02944 15.9706 2 11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C15.9706 20 20 15.9706 20 11Z" fill="#F6F6F6" stroke="#999999"/>
|
||||
<path d="M11.0088 13.75C11.5611 13.75 12.0088 14.1977 12.0088 14.75C12.0088 15.3023 11.5611 15.75 11.0088 15.75H11C10.4477 15.75 10 15.3023 10 14.75C10 14.1977 10.4477 13.75 11 13.75H11.0088ZM11 6C11.4142 6 11.75 6.33579 11.75 6.75V11.75C11.75 12.1642 11.4142 12.5 11 12.5C10.5858 12.5 10.25 12.1642 10.25 11.75V6.75C10.25 6.33579 10.5858 6 11 6Z" fill="#999999"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 626 B |
4
public/assets/images/sub/compliance_x_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20 11C20 6.02944 15.9706 2 11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C15.9706 20 20 15.9706 20 11Z" fill="#FFF3F7" stroke="#EB6F94"/>
|
||||
<path d="M8 8L11 11M11 11L14 14M11 11L14 8M11 11L8 14" stroke="#EB6F94" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 401 B |
3
public/assets/images/sub/down_icon.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="8" height="12" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 9.75C0.585786 9.75 0.25 10.0858 0.25 10.5C0.25 10.9142 0.585786 11.25 1 11.25V9.75ZM7 11.25C7.41421 11.25 7.75 10.9142 7.75 10.5C7.75 10.0858 7.41421 9.75 7 9.75V11.25ZM6.55675 6.13091C6.83428 5.82343 6.81001 5.34918 6.50252 5.07164C6.19504 4.7941 5.72079 4.81838 5.44325 5.12586L6.55675 6.13091ZM5.06066 6.66908L5.6174 7.17161L5.61741 7.1716L5.06066 6.66908ZM2.93934 6.66908L2.38259 7.1716L2.93934 6.66908ZM2.55675 5.12586C2.27921 4.81838 1.80496 4.7941 1.49747 5.07164C1.18999 5.34918 1.16571 5.82343 1.44325 6.13091L2.55675 5.12586ZM4.75 1.5C4.75 1.08579 4.41421 0.75 4 0.75C3.58579 0.75 3.25 1.08579 3.25 1.5H4.75ZM1 10.5V11.25H7V10.5V9.75H1V10.5ZM6 5.62839L5.44325 5.12586L4.50391 6.16655L5.06066 6.66908L5.61741 7.1716L6.55675 6.13091L6 5.62839ZM2.93934 6.66908L3.49609 6.16655L2.55675 5.12586L2 5.62839L1.44325 6.13091L2.38259 7.1716L2.93934 6.66908ZM5.06066 6.66908L4.50391 6.16655C4.23928 6.45974 4.09104 6.62153 3.97516 6.71949C3.8727 6.80609 3.90069 6.75 4 6.75V7.5V8.25C4.40997 8.25 4.71829 8.05542 4.9435 7.86505C5.15528 7.68603 5.38204 7.43236 5.6174 7.17161L5.06066 6.66908ZM2.93934 6.66908L2.38259 7.1716C2.61796 7.43236 2.84472 7.68603 3.0565 7.86505C3.28171 8.05542 3.59003 8.25 4 8.25V7.5V6.75C4.09931 6.75 4.1273 6.80609 4.02484 6.71949C3.90896 6.62153 3.76072 6.45974 3.49609 6.16655L2.93934 6.66908ZM4 7.5H4.75V1.5H4H3.25V7.5H4Z" fill="#1259CB"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
4
public/assets/images/sub/sale_toggle_btn.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="0.5" y="0.5" width="21" height="21" rx="10.5" stroke="#2E3A59"/>
|
||||
<path d="M7 9L11 13L15 9" stroke="#2E3A59" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 288 B |
6
public/assets/images/sub/sale_toggle_btn_white.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="toggle btn">
|
||||
<rect x="0.5" y="0.5" width="21" height="21" rx="10.5" stroke="white"/>
|
||||
<path id="Vector 7412" d="M7 13L11 9L15 13" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 327 B |
4
public/assets/images/sub/top_btn_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 10L9 2L17 10" stroke="white" stroke-width="2"/>
|
||||
<rect x="8" y="2" width="2" height="16" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 218 B |
@ -1,6 +1,7 @@
|
||||
'use server'
|
||||
|
||||
import { SessionData, sessionOptions } from '@/libs/session'
|
||||
import { sessionOptions } from '@/libs/session'
|
||||
import type { SessionData } from '@/types/Auth'
|
||||
import { getIronSession } from 'iron-session'
|
||||
import { cookies } from 'next/headers'
|
||||
import { redirect } from 'next/navigation'
|
||||
|
||||
@ -38,58 +38,70 @@ export interface Suitable {
|
||||
}
|
||||
|
||||
export const suitableApi = {
|
||||
getList: async (): Promise<Suitable[]> => {
|
||||
const response = await axiosInstance.get<Suitable[]>('/api/suitable/list')
|
||||
console.log('🚀 ~ getList: ~ response:', response)
|
||||
return response.data
|
||||
},
|
||||
|
||||
getDetails: async (roofMaterial: string): Promise<Suitable[]> => {
|
||||
const response = await axiosInstance.get<Suitable[]>(`/api/suitable/details?roof-material=${roofMaterial}`)
|
||||
return response.data
|
||||
},
|
||||
|
||||
create: async () => {
|
||||
const suitableData: Suitable[] = []
|
||||
|
||||
database.forEach((item) => {
|
||||
suitableData.push({
|
||||
product_name: item[0],
|
||||
manufacturer: item[1],
|
||||
roof_material: item[2],
|
||||
shape: item[3],
|
||||
support_roof_tile: item[4],
|
||||
support_roof_tile_memo: item[5],
|
||||
support_roof_bracket: item[6],
|
||||
support_roof_bracket_memo: item[7],
|
||||
yg_anchor: item[8],
|
||||
yg_anchor_memo: item[9],
|
||||
rg_roof_tile_part: item[10],
|
||||
rg_roof_tile_part_memo: item[11],
|
||||
dido_hunt_support_tile_2: item[12],
|
||||
dido_hunt_support_tile_2_memo: item[13],
|
||||
takashima_power_base: item[14],
|
||||
takashima_power_base_memo: item[15],
|
||||
takashima_tile_bracket: item[16],
|
||||
takashima_tile_bracket_memo: item[17],
|
||||
slate_bracket_4: item[18],
|
||||
slate_bracket_4_memo: item[19],
|
||||
slate_single_metal_bracket: item[20],
|
||||
slate_single_metal_bracket_memo: item[21],
|
||||
dido_hunt_short_rack_4: item[22],
|
||||
dido_hunt_short_rack_4_memo: item[23],
|
||||
takashima_slate_bracket_slate_single: item[24],
|
||||
takashima_slate_bracket_slate_single_memo: item[25],
|
||||
df_metal_bracket: item[26],
|
||||
df_metal_bracket_memo: item[27],
|
||||
slate_metal_bracket: item[28],
|
||||
slate_metal_bracket_memo: item[29],
|
||||
takashima_slate_bracket_metal_roof: item[30],
|
||||
takashima_slate_bracket_metal_roof_memo: item[31],
|
||||
})
|
||||
})
|
||||
|
||||
const response = await axiosInstance.post<Suitable[]>('/api/suitable', suitableData)
|
||||
return response.data
|
||||
},
|
||||
// getList: async (category?: string, keyword?: string): Promise<Suitable[]> => {
|
||||
// let condition: any = {}
|
||||
// if (category) {
|
||||
// condition['category'] = category
|
||||
// }
|
||||
// if (keyword) {
|
||||
// condition['keyword'] = {
|
||||
// contains: keyword,
|
||||
// }
|
||||
// }
|
||||
// console.log('🚀 ~ getList: ~ condition:', condition)
|
||||
// const response = await axiosInstance(null).get<Suitable[]>('/api/suitable/list', { params: condition })
|
||||
// console.log('🚀 ~ getList: ~ response:', response)
|
||||
// return response.data
|
||||
// },
|
||||
// getCategory: async (): Promise<Suitable[]> => {
|
||||
// const response = await axiosInstance(null).get<Suitable[]>('/api/suitable/category')
|
||||
// console.log('🚀 ~ getCategory: ~ response:', response)
|
||||
// return response.data
|
||||
// },
|
||||
// getDetails: async (roofMaterial: string): Promise<Suitable[]> => {
|
||||
// const response = await axiosInstance(null).get<Suitable[]>(`/api/suitable/details?roof-material=${roofMaterial}`)
|
||||
// console.log('🚀 ~ getDetails: ~ response:', response)
|
||||
// return response.data
|
||||
// },
|
||||
// create: async () => {
|
||||
// const suitableData: Suitable[] = []
|
||||
// database.forEach((item) => {
|
||||
// suitableData.push({
|
||||
// product_name: item[0],
|
||||
// manufacturer: item[1],
|
||||
// roof_material: item[2],
|
||||
// shape: item[3],
|
||||
// support_roof_tile: item[4],
|
||||
// support_roof_tile_memo: item[5],
|
||||
// support_roof_bracket: item[6],
|
||||
// support_roof_bracket_memo: item[7],
|
||||
// yg_anchor: item[8],
|
||||
// yg_anchor_memo: item[9],
|
||||
// rg_roof_tile_part: item[10],
|
||||
// rg_roof_tile_part_memo: item[11],
|
||||
// dido_hunt_support_tile_2: item[12],
|
||||
// dido_hunt_support_tile_2_memo: item[13],
|
||||
// takashima_power_base: item[14],
|
||||
// takashima_power_base_memo: item[15],
|
||||
// takashima_tile_bracket: item[16],
|
||||
// takashima_tile_bracket_memo: item[17],
|
||||
// slate_bracket_4: item[18],
|
||||
// slate_bracket_4_memo: item[19],
|
||||
// slate_single_metal_bracket: item[20],
|
||||
// slate_single_metal_bracket_memo: item[21],
|
||||
// dido_hunt_short_rack_4: item[22],
|
||||
// dido_hunt_short_rack_4_memo: item[23],
|
||||
// takashima_slate_bracket_slate_single: item[24],
|
||||
// takashima_slate_bracket_slate_single_memo: item[25],
|
||||
// df_metal_bracket: item[26],
|
||||
// df_metal_bracket_memo: item[27],
|
||||
// slate_metal_bracket: item[28],
|
||||
// slate_metal_bracket_memo: item[29],
|
||||
// takashima_slate_bracket_metal_roof: item[30],
|
||||
// takashima_slate_bracket_metal_roof_memo: item[31],
|
||||
// })
|
||||
// })
|
||||
// const response = await axiosInstance(null).post<Suitable[]>('/api/suitable', suitableData)
|
||||
// return response.data
|
||||
// },
|
||||
}
|
||||
|
||||
@ -2,66 +2,126 @@ import { axiosInstance } from '@/libs/axios'
|
||||
|
||||
export interface SurveySalesBasicInfo {
|
||||
id?: number
|
||||
representative: String
|
||||
store: String | null
|
||||
construction_point: String | null
|
||||
investigation_date: String | null
|
||||
building_name: String | null
|
||||
customer_name: String | null
|
||||
post_code: String | null
|
||||
address: String | null
|
||||
address_detail: String | null
|
||||
submission_status: Boolean
|
||||
submission_date?: String | null
|
||||
representative: string
|
||||
store: string | null
|
||||
construction_point: string | null
|
||||
investigation_date: string | null
|
||||
building_name: string | null
|
||||
customer_name: string | null
|
||||
post_code: string | null
|
||||
address: string | null
|
||||
address_detail: string | null
|
||||
submission_status: boolean
|
||||
submission_date?: string | null
|
||||
detail_info?: SurveySalesDetailInfo | null
|
||||
}
|
||||
|
||||
export interface SurveySalesDetailInfo {
|
||||
id?: number
|
||||
contract_capacity: String | null
|
||||
retail_company: String | null
|
||||
supplementary_facilities: Number | null
|
||||
supplementary_facilities_etc: String | null
|
||||
installation_system: Number | null
|
||||
installation_system_etc: String | null
|
||||
construction_year: Number | null
|
||||
construction_year_etc: String | null
|
||||
roof_material: Number | null
|
||||
roof_material_etc: String | null
|
||||
roof_shape: Number | null
|
||||
roof_shape_etc: String | null
|
||||
roof_slope: String | null
|
||||
house_structure: Number | null
|
||||
house_structure_etc: String | null
|
||||
rafter_material: Number | null
|
||||
rafter_material_etc: String | null
|
||||
rafter_size: Number | null
|
||||
rafter_size_etc: String | null
|
||||
rafter_pitch: Number | null
|
||||
rafter_pitch_etc: String | null
|
||||
rafter_direction: Number | null
|
||||
open_field_plate_kind: Number | null
|
||||
open_field_plate_kind_etc: String | null
|
||||
open_field_plate_thickness: String | null
|
||||
leak_trace: Boolean | null
|
||||
waterproof_material: Number | null
|
||||
waterproof_material_etc: String | null
|
||||
insulation_presence: Number | null
|
||||
insulation_presence_etc: String | null
|
||||
structure_order: Number | null
|
||||
structure_order_etc: String | null
|
||||
installation_availability: Number | null
|
||||
installation_availability_etc: String | null
|
||||
memo: String | null
|
||||
contract_capacity: string | null
|
||||
retail_company: string | null
|
||||
supplementary_facilities: number | null
|
||||
supplementary_facilities_etc: string | null
|
||||
installation_system: number | null
|
||||
installation_system_etc: string | null
|
||||
construction_year: number | null
|
||||
construction_year_etc: string | null
|
||||
roof_material: number | null
|
||||
roof_material_etc: string | null
|
||||
roof_shape: number | null
|
||||
roof_shape_etc: string | null
|
||||
roof_slope: string | null
|
||||
house_structure: number | null
|
||||
house_structure_etc: string | null
|
||||
rafter_material: number | null
|
||||
rafter_material_etc: string | null
|
||||
rafter_size: number | null
|
||||
rafter_size_etc: string | null
|
||||
rafter_pitch: number | null
|
||||
rafter_pitch_etc: string | null
|
||||
rafter_direction: number | null
|
||||
open_field_plate_kind: number | null
|
||||
open_field_plate_kind_etc: string | null
|
||||
open_field_plate_thickness: string | null
|
||||
leak_trace: boolean | null
|
||||
waterproof_material: number | null
|
||||
waterproof_material_etc: string | null
|
||||
insulation_presence: number | null
|
||||
insulation_presence_etc: string | null
|
||||
structure_order: number | null
|
||||
structure_order_etc: string | null
|
||||
installation_availability: number | null
|
||||
installation_availability_etc: string | null
|
||||
memo: string | null
|
||||
}
|
||||
|
||||
export const surveySalesApi = {
|
||||
create: async (data: SurveySalesBasicInfo): Promise<SurveySalesBasicInfo> => {
|
||||
const response = await axiosInstance.post<SurveySalesBasicInfo>('/api/survey-sales', data)
|
||||
return response.data
|
||||
create: async (data: SurveySalesBasicInfo): Promise<number> => {
|
||||
try {
|
||||
const response = await axiosInstance(null).post<SurveySalesBasicInfo>('/api/survey-sales', data)
|
||||
return response.data.id ?? 0
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return 0
|
||||
}
|
||||
},
|
||||
getList: async (): Promise<SurveySalesBasicInfo[]> => {
|
||||
const response = await axiosInstance.get<SurveySalesBasicInfo[]>('/api/survey-sales')
|
||||
return response.data
|
||||
getList: async (): Promise<SurveySalesBasicInfo[] | []> => {
|
||||
try {
|
||||
const response = await axiosInstance(null).get<SurveySalesBasicInfo[]>('/api/survey-sales')
|
||||
return response.data
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return []
|
||||
}
|
||||
},
|
||||
getDetail: async (id: number): Promise<SurveySalesBasicInfo | null> => {
|
||||
try {
|
||||
const response = await axiosInstance(null).get<SurveySalesBasicInfo>(`/api/survey-sales/${id}`)
|
||||
return response.data
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return null
|
||||
}
|
||||
},
|
||||
update: async (id: number, data: SurveySalesBasicInfo): Promise<SurveySalesBasicInfo | null> => {
|
||||
try {
|
||||
const response = await axiosInstance(null).put<SurveySalesBasicInfo>(`/api/survey-sales/${id}`, data)
|
||||
return response.data
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return null
|
||||
}
|
||||
},
|
||||
delete: async (id: number, isDetail: boolean = false): Promise<boolean> => {
|
||||
try {
|
||||
await axiosInstance(null).delete(`/api/survey-sales/${id}`, {
|
||||
params: {
|
||||
detail_id: isDetail ? id : undefined,
|
||||
},
|
||||
})
|
||||
return true
|
||||
} catch (error) {
|
||||
throw error
|
||||
}
|
||||
},
|
||||
createDetail: async (surveyId: number, data: SurveySalesDetailInfo): Promise<boolean> => {
|
||||
try {
|
||||
await axiosInstance(null).post<SurveySalesDetailInfo>(`/api/survey-sales/${surveyId}`, data)
|
||||
return true
|
||||
} catch (error) {
|
||||
throw error
|
||||
}
|
||||
},
|
||||
confirm: async (id: number): Promise<boolean> => {
|
||||
try {
|
||||
await axiosInstance(null).patch<SurveySalesBasicInfo>(`/api/survey-sales/${id}`)
|
||||
return true
|
||||
} catch (error) {
|
||||
throw error
|
||||
}
|
||||
},
|
||||
// update: async (data: SurveySalesBasicInfo): Promise<SurveySalesBasicInfo> => {
|
||||
// const response = await axiosInstance.put<SurveySalesBasicInfo>(`/api/survey-sales`, data)
|
||||
// return response.data
|
||||
// },
|
||||
}
|
||||
|
||||
@ -21,17 +21,17 @@ export interface LoginData {
|
||||
|
||||
export const userApi = {
|
||||
create: async (data: UserData): Promise<User> => {
|
||||
const response = await axiosInstance.post<User>('/api/user/create', data)
|
||||
const response = await axiosInstance(null).post<User>('/api/user/create', data)
|
||||
return response.data
|
||||
},
|
||||
|
||||
getList: async (): Promise<User[]> => {
|
||||
const response = await axiosInstance.get<User[]>('/api/user/list')
|
||||
const response = await axiosInstance(null).get<User[]>('/api/user/list')
|
||||
return response.data
|
||||
},
|
||||
|
||||
getUser: async (data: LoginData): Promise<User> => {
|
||||
const response = await axiosInstance.post<User>(`/api/user`, data)
|
||||
const response = await axiosInstance(null).post<User>(`/api/user`, data)
|
||||
return response.data
|
||||
},
|
||||
}
|
||||
|
||||
5
src/app/@floatBtn/default.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import FloatBtn from '@/components/ui/common/FloatBtn'
|
||||
|
||||
export default function page() {
|
||||
return <FloatBtn />
|
||||
}
|
||||
5
src/app/@footer/default.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import Footer from '@/components/ui/common/Footer'
|
||||
|
||||
export default function page() {
|
||||
return <Footer />
|
||||
}
|
||||
5
src/app/@header/default.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import Header from '@/components/ui/common/Header'
|
||||
|
||||
export default async function page() {
|
||||
return <Header />
|
||||
}
|
||||
21
src/app/api/auth/chg-pwd/route.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import { NextResponse } from 'next/server'
|
||||
import { axiosInstance } from '@/libs/axios'
|
||||
|
||||
export async function POST(req: Request) {
|
||||
const { loginId, email, pwd, chgPwd } = await req.json()
|
||||
console.log('🚀 ~ POST ~ loginId:', loginId)
|
||||
console.log('🚀 ~ POST ~ email:', email)
|
||||
console.log('🚀 ~ POST ~ pwd:', pwd)
|
||||
console.log('🚀 ~ POST ~ chgPwd:', chgPwd)
|
||||
|
||||
const result = await axiosInstance(`${process.env.NEXT_PUBLIC_QSP_API_URL}`).post(`/api/user/userPwdChg`, {
|
||||
loginId,
|
||||
chgType: 'C',
|
||||
email,
|
||||
pwd,
|
||||
chgPwd,
|
||||
})
|
||||
console.log('🚀 ~ result ~ result:', result)
|
||||
|
||||
return NextResponse.json({ code: 200, data: result.data })
|
||||
}
|
||||