Merge branch 'dev' of https://git.hanasys.jp/qcast3/onsitesurvey into feature/survey
20
README.md
@ -17,3 +17,23 @@ generate 를 진행해야 로컬에 연결 파일들이 생성이되고 pull pus
|
|||||||
const cache = useQueryClient()
|
const cache = useQueryClient()
|
||||||
const data = cache.getQueryData(['user', 'info']) as UserState
|
const data = cache.getQueryData(['user', 'info']) as UserState
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# 팝업 컨트롤러 제어
|
||||||
|
|
||||||
|
### open
|
||||||
|
|
||||||
|
```
|
||||||
|
const popupController = usePopupController()
|
||||||
|
|
||||||
|
onClick={() => popupController.setMemberInfomationPopup(true)}
|
||||||
|
onClick={() => popupController.setZipCodePopup(true)}
|
||||||
|
```
|
||||||
|
|
||||||
|
### close
|
||||||
|
|
||||||
|
```
|
||||||
|
const popupController = usePopupController()
|
||||||
|
|
||||||
|
onClick={() => popupController.setMemberInfomationPopup(false)}
|
||||||
|
onClick={() => popupController.setZipCodePopup(false)}
|
||||||
|
```
|
||||||
|
|||||||
20
package-lock.json
generated
@ -19,6 +19,7 @@
|
|||||||
"react-dom": "^19.0.0",
|
"react-dom": "^19.0.0",
|
||||||
"react-to-pdf": "^2.0.0",
|
"react-to-pdf": "^2.0.0",
|
||||||
"sass": "^1.87.0",
|
"sass": "^1.87.0",
|
||||||
|
"swiper": "^11.2.6",
|
||||||
"zustand": "^5.0.3"
|
"zustand": "^5.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@ -3947,6 +3948,25 @@
|
|||||||
"node": ">=12.0.0"
|
"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": {
|
"node_modules/tailwindcss": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.17",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.17.tgz",
|
||||||
|
|||||||
@ -21,6 +21,7 @@
|
|||||||
"react-dom": "^19.0.0",
|
"react-dom": "^19.0.0",
|
||||||
"react-to-pdf": "^2.0.0",
|
"react-to-pdf": "^2.0.0",
|
||||||
"sass": "^1.87.0",
|
"sass": "^1.87.0",
|
||||||
|
"swiper": "^11.2.6",
|
||||||
"zustand": "^5.0.3"
|
"zustand": "^5.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
9
pnpm-lock.yaml
generated
@ -44,6 +44,9 @@ importers:
|
|||||||
sass:
|
sass:
|
||||||
specifier: ^1.87.0
|
specifier: ^1.87.0
|
||||||
version: 1.87.0
|
version: 1.87.0
|
||||||
|
swiper:
|
||||||
|
specifier: ^11.2.6
|
||||||
|
version: 11.2.6
|
||||||
zustand:
|
zustand:
|
||||||
specifier: ^5.0.3
|
specifier: ^5.0.3
|
||||||
version: 5.0.3(@types/react@19.0.12)(react@19.1.0)
|
version: 5.0.3(@types/react@19.0.12)(react@19.1.0)
|
||||||
@ -1312,6 +1315,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==}
|
resolution: {integrity: sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==}
|
||||||
engines: {node: '>=12.0.0'}
|
engines: {node: '>=12.0.0'}
|
||||||
|
|
||||||
|
swiper@11.2.6:
|
||||||
|
resolution: {integrity: sha512-8aXpYKtjy3DjcbzZfz+/OX/GhcU5h+looA6PbAzHMZT6ESSycSp9nAjPCenczgJyslV+rUGse64LMGpWE3PX9Q==}
|
||||||
|
engines: {node: '>= 4.7.0'}
|
||||||
|
|
||||||
tailwindcss@4.0.17:
|
tailwindcss@4.0.17:
|
||||||
resolution: {integrity: sha512-OErSiGzRa6rLiOvaipsDZvLMSpsBZ4ysB4f0VKGXUrjw2jfkJRd6kjRKV2+ZmTCNvwtvgdDam5D7w6WXsdLJZw==}
|
resolution: {integrity: sha512-OErSiGzRa6rLiOvaipsDZvLMSpsBZ4ysB4f0VKGXUrjw2jfkJRd6kjRKV2+ZmTCNvwtvgdDam5D7w6WXsdLJZw==}
|
||||||
|
|
||||||
@ -2542,6 +2549,8 @@ snapshots:
|
|||||||
svg-pathdata@6.0.3:
|
svg-pathdata@6.0.3:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
swiper@11.2.6: {}
|
||||||
|
|
||||||
tailwindcss@4.0.17: {}
|
tailwindcss@4.0.17: {}
|
||||||
|
|
||||||
tapable@2.2.1: {}
|
tapable@2.2.1: {}
|
||||||
|
|||||||
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 |
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 |
6
public/assets/images/layout/side_swiper_icon02.svg
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<svg width="23" height="22" viewBox="0 0 23 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M11 1C16.5228 1 21 5.25329 21 10.5C21 15.7467 16.5228 20 11 20C9.7958 20 8.64147 19.7974 7.57227 19.4268L7 20L4 20.5L4.96875 18.0762C2.55822 16.3416 1 13.5943 1 10.5C1 5.25329 5.47715 1 11 1Z" fill="white"/>
|
||||||
|
<path d="M21 10.5667C21 15.8499 16.5222 20.1334 11 20.1334C10.3507 20.1343 9.70324 20.0742 9.06542 19.9545C8.60633 19.8682 8.37678 19.8251 8.21653 19.8496C8.05627 19.8741 7.82918 19.9949 7.37499 20.2364C6.09014 20.9197 4.59195 21.161 3.15111 20.893C3.69874 20.2194 4.07275 19.4112 4.23778 18.5448C4.33778 18.0148 4.09 17.5 3.71889 17.1231C2.03333 15.4115 1 13.1051 1 10.5667C1 5.28357 5.47778 1 11 1C11.6849 1 12.3538 1.0659 13 1.19142" stroke="#7896BA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M22 4.5C22 6.433 20.433 8 18.5 8C16.567 8 15 6.433 15 4.5C15 2.567 16.567 1 18.5 1C20.433 1 22 2.567 22 4.5Z" fill="#F4F9FF" stroke="#7896BA" stroke-width="1.5"/>
|
||||||
|
<path d="M10.9955 11H11.0045M14.991 11H15M7 11H7.00897" stroke="#7896BA" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 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 |
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/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 |
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 function page() {
|
||||||
|
return <Header name={'調査物件一覧'} backBtn={true} />
|
||||||
|
}
|
||||||
@ -1,16 +0,0 @@
|
|||||||
import { NextResponse } from 'next/server'
|
|
||||||
|
|
||||||
export async function GET(request: Request) {
|
|
||||||
const { searchParams } = new URL(request.url)
|
|
||||||
const roofMaterial = searchParams.get('roof-material')
|
|
||||||
console.log('🚀 ~ GET ~ roof-material:', roofMaterial)
|
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
const suitables = await prisma.MS_SUITABLE.findMany({
|
|
||||||
where: {
|
|
||||||
roof_material: roofMaterial,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
return NextResponse.json(suitables)
|
|
||||||
}
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
import { NextResponse } from 'next/server'
|
|
||||||
import { prisma } from '@/libs/prisma'
|
|
||||||
|
|
||||||
export async function GET() {
|
|
||||||
// @ts-ignore
|
|
||||||
const suitables = await prisma.MS_SUITABLE.findMany()
|
|
||||||
return NextResponse.json(suitables)
|
|
||||||
}
|
|
||||||
@ -1,21 +1,36 @@
|
|||||||
import type { Metadata } from 'next'
|
import type { Metadata } from 'next'
|
||||||
import ReactQueryProviders from '@/providers/ReactQueryProvider'
|
import ReactQueryProviders from '@/providers/ReactQueryProvider'
|
||||||
|
import PopupController from '@/components/ui/PopupController'
|
||||||
|
import '@/styles/style.scss'
|
||||||
|
import { headers } from 'next/headers'
|
||||||
|
import type { ReactNode } from 'react'
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'Create Next App',
|
title: 'Create Next App',
|
||||||
description: 'Generated by create next app',
|
description: 'Generated by create next app',
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function RootLayout({
|
interface RootLayoutProps {
|
||||||
children,
|
children: ReactNode
|
||||||
}: Readonly<{
|
header: ReactNode
|
||||||
children: React.ReactNode
|
footer: ReactNode
|
||||||
}>) {
|
floatBtn: ReactNode
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function RootLayout({ children, header, footer, floatBtn }: RootLayoutProps): Promise<ReactNode> {
|
||||||
return (
|
return (
|
||||||
<html lang="en">
|
<ReactQueryProviders>
|
||||||
<body>
|
<html lang="en">
|
||||||
<ReactQueryProviders>{children}</ReactQueryProviders>
|
<body>
|
||||||
</body>
|
<div className="wrap">
|
||||||
</html>
|
{header}
|
||||||
|
{children}
|
||||||
|
{footer}
|
||||||
|
{floatBtn}
|
||||||
|
</div>
|
||||||
|
<PopupController />
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</ReactQueryProviders>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
14
src/app/login/page.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import Login from '@/components/Login'
|
||||||
|
|
||||||
|
export default function page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="container">
|
||||||
|
<div className="login-contents">
|
||||||
|
<h1 className="login-logo">Hanasys 現地調査</h1>
|
||||||
|
<Login />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@ -1,7 +1,11 @@
|
|||||||
|
import Main from '@/components/ui/Main'
|
||||||
|
|
||||||
export default async function Home() {
|
export default async function Home() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<h1>퍼블 작업 대기중</h1>
|
<div className="container">
|
||||||
|
<Main />
|
||||||
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
7
src/app/suitable/page.tsx
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export default function page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<h1>지붕재 적합성</h1>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
23
src/app/survey-sale/[id]/basic-info/page.tsx
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import BasicForm from '@/components/survey-sale/detail/BasicForm'
|
||||||
|
import Footer from '@/components/ui/common/Footer'
|
||||||
|
import Header from '@/components/ui/common/Header'
|
||||||
|
|
||||||
|
export default function page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="container">
|
||||||
|
<div className="sale-contents">
|
||||||
|
<div className="sale-detail-tab-relative">
|
||||||
|
<div className="sale-detail-tab-wrap">
|
||||||
|
<div className="sale-detail-tab-inner">
|
||||||
|
<button className="sale-detail-tab act">基本情報</button>
|
||||||
|
<button className="sale-detail-tab">電気 / 屋根情報</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<BasicForm />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
23
src/app/survey-sale/[id]/page.tsx
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import DataTable from '@/components/survey-sale/detail/DataTable'
|
||||||
|
import DetailForm from '@/components/survey-sale/detail/DetailForm'
|
||||||
|
|
||||||
|
export default function page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="container">
|
||||||
|
<div className="sale-contents">
|
||||||
|
<div className="sale-detail-tab-relative">
|
||||||
|
<div className="sale-detail-tab-wrap">
|
||||||
|
<div className="sale-detail-tab-inner">
|
||||||
|
<button className="sale-detail-tab act">基本情報</button>
|
||||||
|
<button className="sale-detail-tab">電気 / 屋根情報</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<DataTable />
|
||||||
|
<DetailForm />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
23
src/app/survey-sale/[id]/roof-info/page.tsx
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import RoofInfoForm from '@/components/survey-sale/detail/RoofInfoForm'
|
||||||
|
import Footer from '@/components/ui/common/Footer'
|
||||||
|
import Header from '@/components/ui/common/Header'
|
||||||
|
|
||||||
|
export default function page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="container">
|
||||||
|
<div className="sale-contents">
|
||||||
|
<div className="sale-detail-tab-relative">
|
||||||
|
<div className="sale-detail-tab-wrap">
|
||||||
|
<div className="sale-detail-tab-inner">
|
||||||
|
<button className="sale-detail-tab">基本情報</button>
|
||||||
|
<button className="sale-detail-tab act">電気 / 屋根情報</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<RoofInfoForm />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
15
src/app/survey-sale/page.tsx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import ListTable from '@/components/survey-sale/list/ListTable'
|
||||||
|
import SearchForm from '@/components/survey-sale/list/SearchForm'
|
||||||
|
|
||||||
|
export default function page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="container">
|
||||||
|
<div className="sale-contents">
|
||||||
|
<SearchForm />
|
||||||
|
<ListTable />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
48
src/components/Login.tsx
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
import { useState } from 'react'
|
||||||
|
|
||||||
|
export default function Login() {
|
||||||
|
const [pwShow, setPwShow] = useState(false) //비밀번호 보이기 숨기기
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="login-form-wrap">
|
||||||
|
<div className="login-form mb15">
|
||||||
|
<div className="login-input id">
|
||||||
|
<input type="text" className="login-frame" placeholder="Input Frame ID" />
|
||||||
|
<button className="login-icon">
|
||||||
|
<i className="del-icon"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="login-form">
|
||||||
|
<div className="login-input pw">
|
||||||
|
<input type={`${pwShow ? 'text' : 'password'}`} className="login-frame" placeholder="Input Frame PW" />
|
||||||
|
<button className={`login-icon ${pwShow ? 'act' : ''}`} onClick={() => setPwShow(!pwShow)}>
|
||||||
|
<i className="show-icon"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="login-check-warp">
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch01" />
|
||||||
|
<label htmlFor="ch01">ID Save</label>
|
||||||
|
</div>
|
||||||
|
<div className="toggle-form">
|
||||||
|
<label className="toggle-btn">
|
||||||
|
<input type="checkbox" />
|
||||||
|
<span className="slider"></span>
|
||||||
|
</label>
|
||||||
|
<div className="toggle-name">Q.PARTNERS</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="login-btn-wrap">
|
||||||
|
<button className="btn-frame icon login">
|
||||||
|
お問い合わせ <i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@ -1,30 +0,0 @@
|
|||||||
'use client'
|
|
||||||
|
|
||||||
import { suitableApi } from '@/api/suitable'
|
|
||||||
import { useQuery } from '@tanstack/react-query'
|
|
||||||
import { useRouter } from 'next/navigation'
|
|
||||||
|
|
||||||
export default function Suitable() {
|
|
||||||
const router = useRouter()
|
|
||||||
const { data, error, isPending } = useQuery({
|
|
||||||
queryKey: ['suitable-list'],
|
|
||||||
queryFn: suitableApi.getList,
|
|
||||||
})
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<h1 className="text-4xl font-bold">Suitable</h1>
|
|
||||||
<button
|
|
||||||
className="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"
|
|
||||||
onClick={() => {
|
|
||||||
router.push('/')
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
HOME
|
|
||||||
</button>
|
|
||||||
{error && <div>Error: {error.message}</div>}
|
|
||||||
{isPending && <div>Loading...</div>}
|
|
||||||
{data && data.map((item) => <div key={item.id}>{item.product_name}</div>)}
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
'use client'
|
|
||||||
|
|
||||||
import { Suitable, suitableApi } from '@/api/suitable'
|
|
||||||
import { useQuery, useQueryClient } from '@tanstack/react-query'
|
|
||||||
|
|
||||||
export default function SuitableDetails({ roofMaterial }: { roofMaterial: string }) {
|
|
||||||
console.log('🚀 ~ SuitableDetails ~ roofMaterial:', roofMaterial)
|
|
||||||
// const { data, error, isPending } = useQuery({
|
|
||||||
// queryKey: ['suitable-details'],
|
|
||||||
// queryFn: () => suitableApi.getDetails(roofMaterial),
|
|
||||||
// staleTime: 0,
|
|
||||||
// })
|
|
||||||
const cache = useQueryClient()
|
|
||||||
const listData = cache.getQueryData(['suitable-list']) as Suitable[]
|
|
||||||
const data = listData.filter((item) => item.roof_material === roofMaterial)
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<h1 className="text-4xl font-bold">Searched Roof Material: {roofMaterial}</h1>
|
|
||||||
{data && data.map((item) => <div key={item.id}>{item.product_name}</div>)}
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
'use client'
|
|
||||||
|
|
||||||
import { useState } from 'react'
|
|
||||||
import { useRouter } from 'next/navigation'
|
|
||||||
|
|
||||||
export default function SuitableSearch() {
|
|
||||||
const router = useRouter()
|
|
||||||
const [selectedValue, setSelectedValue] = useState('')
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<select onChange={(e) => setSelectedValue(e.target.value)}>
|
|
||||||
<option value="">선택 고고</option>
|
|
||||||
<option value="瓦">瓦</option>
|
|
||||||
<option value="スレート">スレート</option>
|
|
||||||
<option value="アスファルトシングル">アスファルトシングル</option>
|
|
||||||
</select>
|
|
||||||
<button onClick={() => router.push(`/suitable/${selectedValue}`)}>검색</button>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@ -1,127 +0,0 @@
|
|||||||
'use client'
|
|
||||||
|
|
||||||
import { surveySalesApi, SurveySalesBasicInfo, SurveySalesDetailInfo } from '@/api/surveySales'
|
|
||||||
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
|
||||||
import { useState } from 'react'
|
|
||||||
|
|
||||||
export default function SurveySales() {
|
|
||||||
const [isSearch, setIsSearch] = useState(false)
|
|
||||||
|
|
||||||
const queryClient = useQueryClient()
|
|
||||||
|
|
||||||
const {
|
|
||||||
mutate: createSurveySales,
|
|
||||||
isPending,
|
|
||||||
error,
|
|
||||||
} = useMutation({
|
|
||||||
mutationFn: surveySalesApi.create,
|
|
||||||
onSuccess: () => {
|
|
||||||
queryClient.invalidateQueries({ queryKey: ['survey-sales', 'list'] })
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const handleSurveySales = () => {
|
|
||||||
const data: SurveySalesBasicInfo = {
|
|
||||||
representative: 'keyy1315',
|
|
||||||
store: 'HWJ(T01)',
|
|
||||||
construction_point: 'HWJ(T01)',
|
|
||||||
investigation_date: '2025-04-28',
|
|
||||||
building_name: 'Hanwha Japan Building',
|
|
||||||
customer_name: 'Hong Gil Dong',
|
|
||||||
post_code: '1050013',
|
|
||||||
address: 'Tokyo, Japan',
|
|
||||||
address_detail: '1-1-1',
|
|
||||||
submission_status: false,
|
|
||||||
}
|
|
||||||
|
|
||||||
createSurveySales(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
const { data, error: errorList } = useQuery({
|
|
||||||
queryKey: ['survey-sales', 'list'],
|
|
||||||
queryFn: surveySalesApi.getList,
|
|
||||||
enabled: isSearch,
|
|
||||||
})
|
|
||||||
|
|
||||||
// const { mutate: updateSurveySales } = useMutation({
|
|
||||||
// mutationFn: surveySalesApi.update,
|
|
||||||
// onSuccess: () => {
|
|
||||||
// queryClient.invalidateQueries({ queryKey: ['survey-sales', 'list'] })
|
|
||||||
// },
|
|
||||||
// })
|
|
||||||
|
|
||||||
const handleUpdateSurveySales = () => {
|
|
||||||
const detailData: SurveySalesDetailInfo = {
|
|
||||||
contract_capacity: '1100',
|
|
||||||
retail_company: 'test company',
|
|
||||||
supplementary_facilities: 1,
|
|
||||||
supplementary_facilities_etc: '',
|
|
||||||
installation_system: 3,
|
|
||||||
installation_system_etc: '',
|
|
||||||
construction_year: 4,
|
|
||||||
construction_year_etc: '',
|
|
||||||
roof_material: 1,
|
|
||||||
roof_material_etc: '',
|
|
||||||
roof_shape: 2,
|
|
||||||
roof_shape_etc: '',
|
|
||||||
roof_slope: '4.5',
|
|
||||||
house_structure: 1,
|
|
||||||
house_structure_etc: '',
|
|
||||||
rafter_material: 5,
|
|
||||||
rafter_material_etc: 'test message',
|
|
||||||
rafter_size: 3,
|
|
||||||
rafter_size_etc: '',
|
|
||||||
rafter_pitch: 2,
|
|
||||||
rafter_pitch_etc: '',
|
|
||||||
rafter_direction: 3,
|
|
||||||
open_field_plate_kind: 3,
|
|
||||||
open_field_plate_kind_etc: '',
|
|
||||||
open_field_plate_thickness: '',
|
|
||||||
leak_trace: false,
|
|
||||||
waterproof_material: 2,
|
|
||||||
waterproof_material_etc: '',
|
|
||||||
insulation_presence: 3,
|
|
||||||
insulation_presence_etc: '',
|
|
||||||
structure_order: 2,
|
|
||||||
structure_order_etc: '',
|
|
||||||
installation_availability: 1,
|
|
||||||
installation_availability_etc: '',
|
|
||||||
memo: 'test memo',
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!data) return
|
|
||||||
|
|
||||||
const surveySalesData: SurveySalesBasicInfo = {
|
|
||||||
...data[0],
|
|
||||||
detail_info: { ...detailData },
|
|
||||||
}
|
|
||||||
|
|
||||||
// updateSurveySales(surveySalesData)
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<div className="flex items-center justify-center">
|
|
||||||
<div className="flex gap-2">
|
|
||||||
<button className="bg-blue-500 text-white px-4 py-2 rounded-md" onClick={handleSurveySales}>
|
|
||||||
신규 등록
|
|
||||||
</button>
|
|
||||||
<button className="bg-blue-500 text-white px-4 py-2 rounded-md" onClick={() => setIsSearch(true)}>
|
|
||||||
조회
|
|
||||||
</button>
|
|
||||||
<button className="bg-blue-500 text-white px-4 py-2 rounded-md" onClick={handleUpdateSurveySales}>
|
|
||||||
수정 (detail info add)
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/* <div className="bg-orange-100 border-l-4 border-orange-500 text-orange-700 p-4 m-4" role="alert">
|
|
||||||
<p className="font-bold">Be Warned</p>
|
|
||||||
<p>기본 데이터 세팅 되어있습니다.</p>
|
|
||||||
</div> */}
|
|
||||||
<div>
|
|
||||||
{errorList && <div>Error: {errorList.message}</div>}
|
|
||||||
{data && data.map((item) => <div key={item.id}>{JSON.stringify(item)}</div>)}
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
58
src/components/popup/MemberInformationPopup.tsx
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
import { usePopupController } from '@/store/popupController'
|
||||||
|
|
||||||
|
export default function MemberInformationPopup() {
|
||||||
|
const popupController = usePopupController()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="modal-popup">
|
||||||
|
<div className="modal-dialog">
|
||||||
|
<div className="modal-content">
|
||||||
|
<div className="modal-header">
|
||||||
|
<div className="modal-header-inner">
|
||||||
|
<div className="modal-name-wrap">
|
||||||
|
<div className="modal-img">
|
||||||
|
<img src="/assets/images/layout/modal_header_icon.svg" alt="" />
|
||||||
|
</div>
|
||||||
|
<div className="modal-name">会員情報</div>
|
||||||
|
</div>
|
||||||
|
<button className="modal-close" onClick={() => popupController.setMemberInfomationPopup(false)}></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="modal-body">
|
||||||
|
<div className="member-infor-form-wrap">
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">名前</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'Hong gi'} disabled />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">ユーザーID </div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'KG123'} disabled />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">メールアドレス</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'Kim@interplug.co.kr'} disabled />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">電話番号</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'02123456'} disabled />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">販売店名</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'Interplug'} disabled />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">建設ID</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'Interplug2'} disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
パスワードリセット<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
90
src/components/popup/ZipCodePopup.tsx
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
import { usePopupController } from '@/store/popupController'
|
||||||
|
import { useState } from 'react'
|
||||||
|
|
||||||
|
export default function ZipCodePopup() {
|
||||||
|
const [searchValue, setSearchValue] = useState('') //search 데이터 유무
|
||||||
|
|
||||||
|
//search 데이터 value 추가
|
||||||
|
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
|
setSearchValue(e.target.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
const popupController = usePopupController()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="modal-popup">
|
||||||
|
<div className="modal-dialog">
|
||||||
|
<div className="modal-content">
|
||||||
|
<div className="modal-header">
|
||||||
|
<div className="modal-header-inner">
|
||||||
|
<div className="modal-name-wrap">
|
||||||
|
<div className="modal-img">
|
||||||
|
<img src="/assets/images/layout/modal_header_icon02.svg" alt="" />
|
||||||
|
</div>
|
||||||
|
<div className="modal-name">住所検索</div>
|
||||||
|
</div>
|
||||||
|
<button className="modal-close" onClick={() => popupController.setZipCodePopup({ zipCodePopup: false })}></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="modal-body">
|
||||||
|
<div className="zip-code-search-wrap">
|
||||||
|
<div className="zip-code-search-input">
|
||||||
|
<div className="search-input">
|
||||||
|
<input type="text" className="search-frame" value={searchValue} onChange={handleChange} placeholder="Search" />
|
||||||
|
{/*input에 데이터 있으면 삭제버튼 보임 */}
|
||||||
|
{searchValue && <button className="del-icon" onClick={() => setSearchValue('')}></button>}
|
||||||
|
<button className="search-icon"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="zip-code-table-wrap">
|
||||||
|
<div className="zip-code-table-tit">名前</div>
|
||||||
|
<table className="zip-code-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>都道府県</th>
|
||||||
|
<th>市区町村</th>
|
||||||
|
<th>市区町村以下</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>東京都</td>
|
||||||
|
<td>浜松</td>
|
||||||
|
<td>浜松町</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>東京都</td>
|
||||||
|
<td>浜松</td>
|
||||||
|
<td>浜松町</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>東京都</td>
|
||||||
|
<td>浜松</td>
|
||||||
|
<td>浜松町</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<div className="btn-flex-wrap">
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame red icon">
|
||||||
|
住所の適用<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
閉じる<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
89
src/components/survey-sale/detail/BasicForm.tsx
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
export default function BasicForm() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="sale-frame">
|
||||||
|
<div className="data-form-wrap">
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">担当者名</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'HG'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">販売店</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'HWJ(T01)'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">施工店</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'施工点名表示'} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="sale-frame">
|
||||||
|
<div className="data-form-wrap">
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">現地調査日</div>
|
||||||
|
<div className="date-input">
|
||||||
|
<button className="date-btn">
|
||||||
|
<i className="date-icon"></i>
|
||||||
|
</button>
|
||||||
|
<input type="text" className="date-frame" defaultValue={'2025.04.16'} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">建物名</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'ギルドン'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">建物名</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'HWJ Building'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">建物名</div>
|
||||||
|
<div className="form-flex">
|
||||||
|
<div className="form-bx">
|
||||||
|
<input type="text" className="input-frame" defaultValue={'1050013'} disabled />
|
||||||
|
</div>
|
||||||
|
<div className="form-bx">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">東京都</option>
|
||||||
|
<option value="">東京都</option>
|
||||||
|
<option value="">東京都</option>
|
||||||
|
<option value="">東京都</option>
|
||||||
|
<option value="">東京都</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="form-btn">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
郵便番号<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">市区町村名, 以後の住所</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'浜松 浜松町'} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="btn-flex-wrap">
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
一時保存<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame red icon">
|
||||||
|
保存<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
リスト<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
42
src/components/survey-sale/detail/DataTable.tsx
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
export default function DataTable() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="sale-frame">
|
||||||
|
<table className="sale-data-table">
|
||||||
|
<colgroup>
|
||||||
|
<col style={{ width: '80px' }} />
|
||||||
|
<col />
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>登録番号</th>
|
||||||
|
<td>0000000020</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>登録日</th>
|
||||||
|
<td>2025.04.11</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>更新日時</th>
|
||||||
|
<td>2025.04.11 15:06:29</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>提出可否</th>
|
||||||
|
<td>2025.04.12 10:00:00 (INTERPLUG –販売店)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>ダウンロード</th>
|
||||||
|
<td>
|
||||||
|
<button className="data-down">
|
||||||
|
HWJ現地調査票確認<i className="down-icon"></i>
|
||||||
|
</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
63
src/components/survey-sale/detail/DetailForm.tsx
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
export default function DetailForm() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="sale-frame">
|
||||||
|
<div className="data-form-wrap">
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">担当者名</div>
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={'HG'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">販売店</div>
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={'HWJ(T01)'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">施工店</div>
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={'施工点名表示'} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="sale-frame">
|
||||||
|
<div className="data-form-wrap">
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">現地調査日</div>
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={'2025/04/05'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">建物名</div>
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={'ハンファジャパンビル'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">顧客名</div>
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={'Hong gi'} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="btn-flex-wrap">
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
リスト<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame red icon">
|
||||||
|
提出<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
修正<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
削除<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
361
src/components/survey-sale/detail/RoofInfoForm.tsx
Normal file
@ -0,0 +1,361 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
export default function RoofInfoForm() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="sale-frame">
|
||||||
|
<div className="sale-roof-title">電気関係</div>
|
||||||
|
<div className="data-form-wrap">
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">電気契約容量</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<input type="text" className="input-frame" defaultValue={'10'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">kVA</option>
|
||||||
|
<option value="">kVA</option>
|
||||||
|
<option value="">kVA</option>
|
||||||
|
<option value="">kVA</option>
|
||||||
|
<option value="">kVA</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">電気小売会社</div>
|
||||||
|
<input type="text" className="input-frame" defaultValue={'HWJ Electric'} />
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">
|
||||||
|
電気袋設備<span>※複数選択可能</span>
|
||||||
|
</div>
|
||||||
|
<div className="data-check-wrap">
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch01" />
|
||||||
|
<label htmlFor="ch01">エコキュート</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch02" />
|
||||||
|
<label htmlFor="ch02">エネパーム</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch03" />
|
||||||
|
<label htmlFor="ch03">蓄電池システム</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch04" />
|
||||||
|
<label htmlFor="ch04">太陽光発電</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch05" />
|
||||||
|
<label htmlFor="ch05">その他 (直接入力)</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={''} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">設置希望システム</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="sale-frame">
|
||||||
|
<div className="sale-roof-title">屋根関係</div>
|
||||||
|
<div className="data-form-wrap">
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">建築研修</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">新築</option>
|
||||||
|
<option value="">新築</option>
|
||||||
|
<option value="">新築</option>
|
||||||
|
<option value="">新築</option>
|
||||||
|
<option value="">新築</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input flex">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} disabled />
|
||||||
|
<span>年</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">
|
||||||
|
屋根材<span>※最大2個まで選択可能</span>
|
||||||
|
</div>
|
||||||
|
<div className="data-check-wrap">
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch01" />
|
||||||
|
<label htmlFor="ch01">スレート</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch02" />
|
||||||
|
<label htmlFor="ch02">アスファルトシングル</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch03" />
|
||||||
|
<label htmlFor="ch03">瓦</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch04" />
|
||||||
|
<label htmlFor="ch04">金属屋根</label>
|
||||||
|
</div>
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch05" />
|
||||||
|
<label htmlFor="ch05">その他 (直接入力)</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={''} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">建築研修</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
<option value="">太陽光発電</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">屋根の斜面</div>
|
||||||
|
<div className="data-input flex">
|
||||||
|
<input type="text" className="input-frame" defaultValue={'4'} />
|
||||||
|
<span>寸</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">住宅構造</div>
|
||||||
|
<div className="radio-form-box mb10">
|
||||||
|
<input type="radio" name="radio01" id="ra01" />
|
||||||
|
<label htmlFor="ra01">木製</label>
|
||||||
|
</div>
|
||||||
|
<div className="radio-form-box mb10">
|
||||||
|
<input type="radio" name="radio01" id="ra02" />
|
||||||
|
<label htmlFor="ra02">その他 (直接入力)</label>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={''} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">垂木材質</div>
|
||||||
|
<div className="data-check-wrap">
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio02" id="ra03" />
|
||||||
|
<label htmlFor="ra03">木製</label>
|
||||||
|
</div>
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio02" id="ra04" />
|
||||||
|
<label htmlFor="ra04">強制</label>
|
||||||
|
</div>
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio02" id="ra05" />
|
||||||
|
<label htmlFor="ra05">その他 (直接入力)</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={''} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">垂木サイズ</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">幅35mm以上×高さ48mm以上</option>
|
||||||
|
<option value="">幅35mm以上×高さ48mm以上</option>
|
||||||
|
<option value="">幅35mm以上×高さ48mm以上</option>
|
||||||
|
<option value="">幅35mm以上×高さ48mm以上</option>
|
||||||
|
<option value="">幅35mm以上×高さ48mm以上</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">垂木サイズ</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">455mm以下</option>
|
||||||
|
<option value="">455mm以下</option>
|
||||||
|
<option value="">455mm以下</option>
|
||||||
|
<option value="">455mm以下</option>
|
||||||
|
<option value="">455mm以下</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">垂木の方向</div>
|
||||||
|
<div className="data-check-wrap mb0">
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio03" id="ra06" />
|
||||||
|
<label htmlFor="ra06">垂直垂木</label>
|
||||||
|
</div>
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio03" id="ra07" />
|
||||||
|
<label htmlFor="ra07">水平垂木</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">路地板の種類</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">構造用合板</option>
|
||||||
|
<option value="">構造用合板</option>
|
||||||
|
<option value="">構造用合板</option>
|
||||||
|
<option value="">構造用合板</option>
|
||||||
|
<option value="">構造用合板</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">
|
||||||
|
路地板厚<span>※小幅板を選択した場合, 厚さ. 小幅板間の間隔寸法を記載</span>
|
||||||
|
</div>
|
||||||
|
<div className="data-input flex">
|
||||||
|
<input type="text" className="input-frame" defaultValue={'150'} />
|
||||||
|
<span>mm</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit ">垂木の方向</div>
|
||||||
|
<div className="data-check-wrap mb0">
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio04" id="ra08" />
|
||||||
|
<label htmlFor="ra08">あり</label>
|
||||||
|
</div>
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio04" id="ra09" />
|
||||||
|
<label htmlFor="ra09">なし</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">住宅構造</div>
|
||||||
|
<div className="radio-form-box mb10">
|
||||||
|
<input type="radio" name="radio05" id="ra10" />
|
||||||
|
<label htmlFor="ra10">アスファルト屋根940(22kg以上)</label>
|
||||||
|
</div>
|
||||||
|
<div className="radio-form-box mb10">
|
||||||
|
<input type="radio" name="radio05" id="ra11" />
|
||||||
|
<label htmlFor="ra11">その他 (直接入力)</label>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" disabled defaultValue={''} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">断熱材の有無</div>
|
||||||
|
<div className="radio-form-box mb10">
|
||||||
|
<input type="radio" name="radio06" id="ra12" />
|
||||||
|
<label htmlFor="ra12">あり</label>
|
||||||
|
</div>
|
||||||
|
<div className="data-input mb10">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} />
|
||||||
|
</div>
|
||||||
|
<div className="radio-form-box">
|
||||||
|
<input type="radio" name="radio06" id="ra13" />
|
||||||
|
<label htmlFor="ra13">なし</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit red-f">路地板の種類</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">材/防水材/屋根基礎/垂木</option>
|
||||||
|
<option value="">材/防水材/屋根基礎/垂木</option>
|
||||||
|
<option value="">材/防水材/屋根基礎/垂木</option>
|
||||||
|
<option value="">材/防水材/屋根基礎/垂木</option>
|
||||||
|
<option value="">材/防水材/屋根基礎/垂木</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" defaultValue={''} disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">屋根製品名 設置可否確認</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<input type="text" className="input-frame" defaultValue={'高島'} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="data-input-form-bx">
|
||||||
|
<div className="data-input-form-tit">メモ</div>
|
||||||
|
<div className="data-input mb5">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
<option value="">確認済み</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="data-input">
|
||||||
|
<textarea
|
||||||
|
className="textarea-form"
|
||||||
|
name=""
|
||||||
|
id=""
|
||||||
|
defaultValue={'漏れの兆候があるため、正確な点検が必要です.'}
|
||||||
|
placeholder="TextArea Filed"
|
||||||
|
></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="btn-flex-wrap">
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
一時保存<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame red icon">
|
||||||
|
保存<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="btn-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
リスト<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
33
src/components/survey-sale/list/ListTable.tsx
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
export default function ListTable() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="sale-frame">
|
||||||
|
<ul className="sale-list-wrap">
|
||||||
|
{Array.from({ length: 4 }).map((_, idx) => (
|
||||||
|
<li className="sale-list-item" key={idx}>
|
||||||
|
<div className="sale-item-bx">
|
||||||
|
<div className="sale-item-date-bx">
|
||||||
|
<div className="sale-item-num">0000000021</div>
|
||||||
|
<div className="sale-item-date">2025.04.22</div>
|
||||||
|
</div>
|
||||||
|
<div className="sale-item-tit">Hanwha Building</div>
|
||||||
|
<div className="sale-item-customer">Gil dong</div>
|
||||||
|
<div className="sale-item-update-bx">
|
||||||
|
<div className="sale-item-name">Hong Gildong</div>
|
||||||
|
<div className="sale-item-update">2025.04.22 10:00:21</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
<div className="sale-edit-btn">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
もっと見る<i className="btn-edit"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
43
src/components/survey-sale/list/SearchForm.tsx
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
export default function SearchForm() {
|
||||||
|
return (
|
||||||
|
<div className="sale-frame">
|
||||||
|
<div className="sale-form-bx">
|
||||||
|
<button className="btn-frame n-blue icon">
|
||||||
|
新規売買登録<i className="btn-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="sale-form-bx">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">全体</option>
|
||||||
|
<option value="">全体</option>
|
||||||
|
<option value="">全体</option>
|
||||||
|
<option value="">全体</option>
|
||||||
|
<option value="">全体</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="sale-form-bx">
|
||||||
|
<div className="search-input">
|
||||||
|
<input type="text" className="search-frame" placeholder="タイトルを入力してください. (2文字以上)" />
|
||||||
|
<button className="search-icon"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="sale-form-bx">
|
||||||
|
<div className="check-form-box">
|
||||||
|
<input type="checkbox" id="ch01" />
|
||||||
|
<label htmlFor="ch01">私が書いた物件</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="sale-form-bx">
|
||||||
|
<select className="select-form" name="" id="">
|
||||||
|
<option value="">最近の登録日</option>
|
||||||
|
<option value="">最近の登録日</option>
|
||||||
|
<option value="">最近の登録日</option>
|
||||||
|
<option value="">最近の登録日</option>
|
||||||
|
<option value="">最近の登録日</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
67
src/components/ui/Main.tsx
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
export default function Main() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="main-contens">
|
||||||
|
<div className="main-head-block">
|
||||||
|
<div className="head-block-tit">屋根材の照会</div>
|
||||||
|
<div className="head-block-text">ご使用の屋根材の適合性をご確認いただけます</div>
|
||||||
|
<div className="head-block-link-wrap">
|
||||||
|
<button className="head-block-link">
|
||||||
|
照会まさに移動<i className="block-arr"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="main-grid-wrap">
|
||||||
|
<div className="main-grid-bx bx01">
|
||||||
|
<div className="grid-bx-head">
|
||||||
|
<div className="main-bx-icon">
|
||||||
|
<img src="/assets/images/main/main_icon01.svg" alt="" />
|
||||||
|
</div>
|
||||||
|
<button className="main-bx-arr"></button>
|
||||||
|
</div>
|
||||||
|
<div className="grid-bx-body">
|
||||||
|
<div className="grid-bx-body-tit">調査物件一覧</div>
|
||||||
|
<div className="grid-bx-body-txt">作成物件確認</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="main-grid-bx bx02">
|
||||||
|
<div className="grid-bx-head">
|
||||||
|
<div className="main-bx-icon">
|
||||||
|
<img src="/assets/images/main/main_icon02.svg" alt="" />
|
||||||
|
</div>
|
||||||
|
<button className="main-bx-arr"></button>
|
||||||
|
</div>
|
||||||
|
<div className="grid-bx-body">
|
||||||
|
<div className="grid-bx-body-tit">調査物件登録</div>
|
||||||
|
<div className="grid-bx-body-txt">新規物件作成</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="main-grid-bx bx03">
|
||||||
|
<div className="grid-bx-head">
|
||||||
|
<div className="main-bx-icon">
|
||||||
|
<img src="/assets/images/main/main_icon03.svg" alt="" />
|
||||||
|
</div>
|
||||||
|
<button className="main-bx-arr"></button>
|
||||||
|
</div>
|
||||||
|
<div className="grid-bx-body">
|
||||||
|
<div className="grid-bx-body-tit">1:1お問い合わせ リスト</div>
|
||||||
|
<div className="grid-bx-body-txt">作成問い合わせの確認</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="main-grid-bx bx04">
|
||||||
|
<div className="grid-bx-head">
|
||||||
|
<div className="main-bx-icon">
|
||||||
|
<img src="/assets/images/main/main_icon04.svg" alt="" />
|
||||||
|
</div>
|
||||||
|
<button className="main-bx-arr"></button>
|
||||||
|
</div>
|
||||||
|
<div className="grid-bx-body">
|
||||||
|
<div className="grid-bx-body-tit">1:1問い合わせ登録</div>
|
||||||
|
<div className="grid-bx-body-txt">新規お問い合わせの 作成</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
16
src/components/ui/PopupController.tsx
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
import { usePopupController } from '@/store/popupController'
|
||||||
|
import MemberInfomationPopup from '../popup/MemberInformationPopup'
|
||||||
|
import ZipCodePopup from '../popup/ZipCodePopup'
|
||||||
|
|
||||||
|
export default function PopupController() {
|
||||||
|
const popupController = usePopupController()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{popupController.memberInfomationPopup && <MemberInfomationPopup />}
|
||||||
|
{popupController.zipCodePopup && <ZipCodePopup />}
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
13
src/components/ui/common/FloatBtn.tsx
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
import { usePathname } from 'next/navigation'
|
||||||
|
|
||||||
|
export default function FloatBtn() {
|
||||||
|
const pathname = usePathname()
|
||||||
|
|
||||||
|
if (pathname === '/login' || pathname === '/') {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
return <button className="top-btn"></button>
|
||||||
|
}
|
||||||