diff --git a/.env.development b/.env.development
index 943a5d6b..4c2c816c 100644
--- a/.env.development
+++ b/.env.development
@@ -1,6 +1,7 @@
NEXT_PUBLIC_TEST="테스트변수입니다. development"
NEXT_PUBLIC_API_SERVER_PATH="http://1.248.227.176:38080"
+# NEXT_PUBLIC_API_SERVER_PATH="http://localhost:8080"
DATABASE_URL="sqlserver://mssql.devgrr.kr:1433;database=qcast;user=qcast;password=Qwertqaz12345;trustServerCertificate=true"
diff --git a/package.json b/package.json
index b52c82d0..628550a1 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,7 @@
"react-responsive-modal": "^6.4.2",
"react-toastify": "^10.0.5",
"recoil": "^0.7.7",
- "uuid": "^9.0.1"
+ "uuid": "^10.0.0"
},
"devDependencies": {
"@turf/turf": "^7.0.0",
diff --git a/src/app/[locale]/roof2/page.jsx b/src/app/[locale]/roof2/page.jsx
index 8d707367..72881d11 100644
--- a/src/app/[locale]/roof2/page.jsx
+++ b/src/app/[locale]/roof2/page.jsx
@@ -3,7 +3,13 @@ import RoofSelect from '@/app/[locale]/roof2/RoofSelect'
import { initCheck } from '@/util/session-util'
export default async function Roof2Page() {
- await initCheck()
+ const session = await initCheck()
+ const roof2Props = {
+ name: session.name || '',
+ userId: session.userId || '',
+ email: session.email || '',
+ isLoggedIn: session.isLoggedIn,
+ }
return (
<>
@@ -13,7 +19,7 @@ export default async function Roof2Page() {
-
+
>
)
diff --git a/src/components/Headers.jsx b/src/components/Headers.jsx
index 07caed71..331e899c 100644
--- a/src/components/Headers.jsx
+++ b/src/components/Headers.jsx
@@ -10,6 +10,7 @@ export default function Headers() {
Intro
Playground
+ Canvas Settings
Roof
Roof2
diff --git a/src/components/Roof2.jsx b/src/components/Roof2.jsx
index 2a153f07..d24a2398 100644
--- a/src/components/Roof2.jsx
+++ b/src/components/Roof2.jsx
@@ -1,7 +1,8 @@
'use client'
import { useCanvas } from '@/hooks/useCanvas'
-import { useEffect, useState, useRef } from 'react'
+import { useEffect, useRef, useState } from 'react'
+import { v4 as uuidv4 } from 'uuid'
import { useMode } from '@/hooks/useMode'
import { Mode } from '@/common/common'
import { Button } from '@nextui-org/react'
@@ -26,7 +27,8 @@ import QContextMenu from './common/context-menu/QContextMenu'
import { modalContent, modalState } from '@/store/modalAtom'
import SettingsModal from './SettingsModal'
-export default function Roof2() {
+export default function Roof2(props) {
+ const { name, userId, email, isLoggedIn } = props
const { canvas, handleRedo, handleUndo, setCanvasBackgroundWithDots, saveImage, addCanvas } = useCanvas('canvas')
const canvasRef = useRef(null)
@@ -65,6 +67,7 @@ export default function Roof2() {
const [thumbnails, setThumbnails] = useState([])
const thumbnailProps = {
thumbnails,
+ canvas,
}
const {
@@ -90,6 +93,23 @@ export default function Roof2() {
// const [canvasState, setCanvasState] = useRecoilState(canvasAtom)
+ useEffect(() => {
+ get({ url: `/api/canvas-management/canvas-statuses/by-object/test123240822001` }).then((res) => {
+ const arrangeData = res.map((item) => {
+ console.log(item.canvasStatus.replace(/##/g, '"').replace(/\\/g, ''))
+ const test = item.canvasStatus.replace(/##/g, '"').replace(/\\/g, '')
+ const test2 = test.substring(1, test.length - 1)
+ return {
+ id: item.id,
+ userId: item.userId,
+ imageName: `/canvasState/${item.imageName}.png`,
+ canvasStatus: JSON.stringify(test2),
+ }
+ })
+ setThumbnails(arrangeData)
+ })
+ }, [])
+
useEffect(() => {
if (!canvas) {
return
@@ -531,6 +551,16 @@ export default function Roof2() {
setCompass(degree)
}
+ const changeLength = (e) => {
+ setScale(e)
+ const polygon = canvas?.getActiveObject()
+ if (polygon.type !== 'QPolygon') {
+ return
+ }
+
+ canvas?.renderAll()
+ }
+
return (
<>
{canvas && (
@@ -636,7 +666,7 @@ export default function Roof2() {
>
)}
-