diff --git a/public/static/images/canvas/eaves_icon09.svg b/public/static/images/canvas/eaves_icon09.svg new file mode 100644 index 0000000..fe4512b --- /dev/null +++ b/public/static/images/canvas/eaves_icon09.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/static/images/canvas/module_tab_arr.svg b/public/static/images/canvas/module_tab_arr.svg new file mode 100644 index 0000000..f1da9ab --- /dev/null +++ b/public/static/images/canvas/module_tab_arr.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/static/images/canvas/module_tab_arr_white.svg b/public/static/images/canvas/module_tab_arr_white.svg new file mode 100644 index 0000000..49ac443 --- /dev/null +++ b/public/static/images/canvas/module_tab_arr_white.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/app/canvas/page.jsx b/src/app/canvas/page.jsx index ae760e9..b0af2ae 100644 --- a/src/app/canvas/page.jsx +++ b/src/app/canvas/page.jsx @@ -38,6 +38,7 @@ import { useState } from 'react' import { useRecoilValue } from 'recoil' import Penal03 from '@/components/canvas/penal/Penal03' import Penal04 from '@/components/canvas/penal/Penal04' +import RoofModuleOption from '@/components/canvas/modal/roofmoduleoption/RoofModuleOption' export default function CanvasPage() { const modalOption = useRecoilValue(modalState); @@ -52,10 +53,10 @@ export default function CanvasPage() { {/* 패널 배치 집계 */} - - - - + {/* */} + {/* */} + {/* */} + {/* */} {/* 배치면 초기 설정 */} {/* */} @@ -84,7 +85,7 @@ export default function CanvasPage() { {/* */} {/* 처마∙케라바 변경 */} - {/* */} + {/* 동선이동∙형 올림 내림 */} {/* */} @@ -125,6 +126,9 @@ export default function CanvasPage() { {/* 면 흐름 설정 */} {/* */} + + {/* 지붕모듈선택 */} + diff --git a/src/components/canvas/modal/displaychange/DisplayChange.jsx b/src/components/canvas/modal/displaychange/DisplayChange.jsx index 5032c36..59f6214 100644 --- a/src/components/canvas/modal/displaychange/DisplayChange.jsx +++ b/src/components/canvas/modal/displaychange/DisplayChange.jsx @@ -25,12 +25,18 @@ export default function DisplayChange(){ -
- 変更の長さ -
- +
+
+ 変更の長さ +
+ +
+
+ + +
diff --git a/src/components/canvas/modal/eaves_keraba/EavesKerabaTab02.jsx b/src/components/canvas/modal/eaves_keraba/EavesKerabaTab02.jsx index ce68a25..314fe64 100644 --- a/src/components/canvas/modal/eaves_keraba/EavesKerabaTab02.jsx +++ b/src/components/canvas/modal/eaves_keraba/EavesKerabaTab02.jsx @@ -36,7 +36,7 @@ export default function EavesKerabaTab02(){
- react + react
diff --git a/src/components/canvas/modal/roofmoduleoption/RoofModuleOption.jsx b/src/components/canvas/modal/roofmoduleoption/RoofModuleOption.jsx new file mode 100644 index 0000000..a507fc5 --- /dev/null +++ b/src/components/canvas/modal/roofmoduleoption/RoofModuleOption.jsx @@ -0,0 +1,31 @@ +import WithDraggable from "@/components/common/draggable/withDraggable"; +import RoofModuleOptionTab01 from "./RoofModuleOptionTab01"; +import { useState } from "react"; +import RoofModuleOptionTab02 from "./RoofModuleOptionTab02"; +import RoofModuleOptionTab03 from "./RoofModuleOptionTab03"; + +export default function RoofModuleOption(){ + const [tabNum, setTabNum] = useState(1); + return( + +
+
+

基本設定

+ +
+
+
+
防衛設定
+ +
モジュール設定
+ +
モジュールの配置
+
+ {tabNum === 1 && } + {tabNum === 2 && } + {tabNum === 3 && } +
+
+
+ ) +} \ No newline at end of file diff --git a/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab01.jsx b/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab01.jsx new file mode 100644 index 0000000..760cb06 --- /dev/null +++ b/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab01.jsx @@ -0,0 +1,64 @@ +import { useState } from "react"; + +export default function RoofModuleOptionTab01({setTabNum}){ + const [compasDeg, setCompasDeg] = useState(0); + return( + <> +
+
方位設定
+
+
※シミュレーション計算用方位を指定します。南の方位を設定してください。
+
+
+
+
setCompasDeg(180)}>180°
+
setCompasDeg(195)}>
+
setCompasDeg(210)}>
+
setCompasDeg(225)}>
+
setCompasDeg(240)}>
+
setCompasDeg(255)}>
+
setCompasDeg(270)}>270°
+
setCompasDeg(285)}>
+
setCompasDeg(300)}>
+
setCompasDeg(315)}>
+
setCompasDeg(330)}>
+
setCompasDeg(345)}>
+
setCompasDeg(0)}>
+
setCompasDeg(15)}>
+
setCompasDeg(30)}>
+
setCompasDeg(45)}>
+
setCompasDeg(60)}>
+
setCompasDeg(75)}>
+
setCompasDeg(90)}>90°
+
setCompasDeg(105)}>
+
setCompasDeg(120)}>
+
setCompasDeg(135)}>
+
setCompasDeg(150)}>
+
setCompasDeg(165)}>
+
+
+
+
+
+
+
+
+ + +
+
+
+ +
+ ° +
+
+
+
+
+ + +
+ + ) +} \ No newline at end of file diff --git a/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab02.jsx b/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab02.jsx new file mode 100644 index 0000000..26f8b45 --- /dev/null +++ b/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab02.jsx @@ -0,0 +1,54 @@ +import Qselect from "@/components/common/select/Qselect"; + +const SelectOption01 = [ + {name: '0',}, {name: '0'}, {name: '0'}, {name: '0'} +] + +export default function RoofModuleOptionTab02({setTabNum}){ + + return( + <> +
+
+
+
+ モジュールの選択 +
+ +
+
+
+ + + + + + + + + + + + + + + + + + +
モジュール高さ (mm)幅 (mm)出力 (W)
+
+
+
+
+
+
+
+
+ + + +
+ + ) +} \ No newline at end of file diff --git a/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab03.jsx b/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab03.jsx new file mode 100644 index 0000000..94dfa40 --- /dev/null +++ b/src/components/canvas/modal/roofmoduleoption/RoofModuleOptionTab03.jsx @@ -0,0 +1,14 @@ + +export default function RoofModuleOptionTab03({setTabNum}){ + + return( + <> + +
+ + + +
+ + ) +} \ No newline at end of file diff --git a/src/styles/_modal.scss b/src/styles/_modal.scss index 2021ae2..6372461 100644 --- a/src/styles/_modal.scss +++ b/src/styles/_modal.scss @@ -55,6 +55,9 @@ $alert-color: #101010; &.l-2{ width: 640px; } + &.lx-2{ + width: 740px; + } &.lx{ width: 770px; } @@ -1139,3 +1142,100 @@ $alert-color: #101010; } } } + + +// 지붕모듈선택 +.roof-module-tab{ + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 14px; + .module-tab-bx{ + flex: 1; + height: 34px; + line-height: 31px; + border: 1px solid #484848; + border-radius: 2px; + background-color: transparent; + font-size: 12px; + color: #AAA; + text-align: center; + cursor: default; + transition: all .15s ease-in-out; + &.act{ + background-color: #1083E3; + border: 1px solid #1083E3; + color: #fff; + font-weight: 500; + } + } + .tab-arr{ + display: block; + width: 9px; + height: 14px; + background-repeat: no-repeat; + background-position: center; + background-size: cover; + background-image: url(../../public/static/images/canvas/module_tab_arr.svg); + transition: all .15s ease-in-out; + &.act{ + background-image: url(../../public/static/images/canvas/module_tab_arr_white.svg); + } + } +} + +.roof-module-compas{ + margin-bottom: 24px; + .compas-box-inner{ + width: 280px; + height: 253px; + .circle{ + top: 86%; + &:nth-child(1), + &:nth-child(7), + &:nth-child(13), + &:nth-child(19){ + &::before{ + content: ''; + position: absolute; + top: 20px; + left: 50%; + transform: translateX(-50%); + width: 1px; + height: 6px; + background-color: #8B8B8B; + } + } + i{ + top: 32px; + } + &.act{ + i{color: #8B8B8B;} + } + } + } +} +.center-wrap{ + display: flex; + flex-direction: column; + align-items: center; + gap: 20px; +} + +.module-table-flex-wrap{ + display: flex; + gap: 10px; +} +.module-table-box{ + flex: 1; + background-color: #3D3D3D; + border-radius: 2px; + .module-table-inneer{ + padding: 10px; + .outline-form{ + span{ + width: auto; + } + } + } +} \ No newline at end of file diff --git a/src/styles/_table.scss b/src/styles/_table.scss index d3c207a..db0de20 100644 --- a/src/styles/_table.scss +++ b/src/styles/_table.scss @@ -174,4 +174,11 @@ table{ } } } +} + +.roof-module-table{ + table{ + table-layout: fixed; + border-collapse: collapse; + } } \ No newline at end of file