- menu link 추가

- modal 위치수정
- logout
This commit is contained in:
minsik 2024-09-12 16:21:03 +09:00
parent 810b8b3b64
commit 98680aecf9
9 changed files with 23 additions and 19 deletions

View File

@ -1,9 +1,8 @@
import { getSession } from '@/lib/authActions'
// import { getCurrentLocale } from '@/locales/server' // import { getCurrentLocale } from '@/locales/server'
import MainPage from '@/components/Main' import MainPage from '@/components/Main'
export default async function page() { export default async function page() {
const session = await getSession() // const session = await getSession()
// const currentLocale = getCurrentLocale() // const currentLocale = getCurrentLocale()

View File

@ -1,15 +1,19 @@
'use client' 'use client'
import { useState } from 'react' import { useEffect, useState } from 'react'
import Draggable from 'react-draggable' import Draggable from 'react-draggable'
export default function WithDraggable({ isShow, children }) { export default function WithDraggable({ isShow, children, pos }) {
const [position, setPosition] = useState({ x: 0, y: 0 }) const [position, setPosition] = useState({ x: 0, y: 0 })
const handleOnDrag = (data) => { const handleOnDrag = (data) => {
setPosition({ x: data.x, y: data.y }) setPosition({ x: data.x, y: data.y })
} }
useEffect(() => {
setPosition({ ...pos })
}, [])
return ( return (
<> <>
{isShow && ( {isShow && (

View File

@ -33,7 +33,7 @@ export default function MenuDepth01(props) {
<ul className="canvas-depth2-list"> <ul className="canvas-depth2-list">
{menus.map((menu) => { {menus.map((menu) => {
return ( return (
<li className={`canvas-depth2-item ${menu.id === activeMenu ? 'active' : ''}`}> <li key={menu.id} className={`canvas-depth2-item ${menu.id === activeMenu ? 'active' : ''}`}>
<button onClick={() => onClickMenu(menu.id)}>{menu.name}</button> <button onClick={() => onClickMenu(menu.id)}>{menu.name}</button>
</li> </li>
) )

View File

@ -12,7 +12,7 @@ export default function OuterLineWall(props) {
setShowOutlineModal(false) setShowOutlineModal(false)
} }
return ( return (
<WithDraggable isShow={true}> <WithDraggable isShow={true} pos={{ x: 50, y: -1000 + 50 }}>
<div className={`modal-pop-wrap ssm `}> <div className={`modal-pop-wrap ssm `}>
<div className="modal-head"> <div className="modal-head">
<h1 className="title">{getMessage('modal.cover.outline.drawing')}</h1> <h1 className="title">{getMessage('modal.cover.outline.drawing')}</h1>

View File

@ -12,7 +12,7 @@ export default function SettingModal01(props) {
const { getMessage } = useMessage() const { getMessage } = useMessage()
return ( return (
<WithDraggable isShow={true}> <WithDraggable isShow={true} pos={{ x: window.innerWidth - 450 - 50, y: -1000 + 50 }}>
<div className={`modal-pop-wrap sm`}> <div className={`modal-pop-wrap sm`}>
<div className="modal-head"> <div className="modal-head">
<h1 className="title">{getMessage('modal.canvas.setting')}</h1> <h1 className="title">{getMessage('modal.canvas.setting')}</h1>

View File

@ -3,7 +3,6 @@ import Link from 'next/link'
import { usePathname } from 'next/navigation' import { usePathname } from 'next/navigation'
import { useMessage } from '@/hooks/useMessage' import { useMessage } from '@/hooks/useMessage'
import QSelectBox from '@/components/common/select/QSelectBox' import QSelectBox from '@/components/common/select/QSelectBox'
import { getSession } from '@/lib/authActions'
export const ToggleonMouse = (e, act, target) => { export const ToggleonMouse = (e, act, target) => {
const listWrap = e.target.closest(target) const listWrap = e.target.closest(target)
@ -29,6 +28,9 @@ export default function Header(props) {
return null return null
} }
const SelectOption = [{ name: 'オンライン保証シ' }, { name: 'ステム' }] const SelectOption = [{ name: 'オンライン保証シ' }, { name: 'ステム' }]
const onLogout = () => {
// logout()
}
return ( return (
<header> <header>
@ -44,7 +46,7 @@ export default function Header(props) {
onMouseEnter={(e) => ToggleonMouse(e, 'add', 'nav > ul')} onMouseEnter={(e) => ToggleonMouse(e, 'add', 'nav > ul')}
onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'nav > ul')} onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'nav > ul')}
> >
<Link href={'#'}>{getMessage('header.menus.home')}</Link> <Link href={'/'}>{getMessage('header.menus.home')}</Link>
</li> </li>
<li <li
className="nav-item" className="nav-item"
@ -65,7 +67,7 @@ export default function Header(props) {
onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')} onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')}
onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')} onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')}
> >
<Link href={'#'}>{getMessage('header.menus.management.plan')}</Link> <Link href={'/floor-plan'}>{getMessage('header.menus.management.plan')}</Link>
</li> </li>
</ul> </ul>
</li> </li>
@ -81,21 +83,21 @@ export default function Header(props) {
onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')} onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')}
onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')} onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')}
> >
<Link href={'#'}>{getMessage('header.menus.community.notice')}</Link> <Link href={'/community/notice'}>{getMessage('header.menus.community.notice')}</Link>
</li> </li>
<li <li
className="nav-depth2-item" className="nav-depth2-item"
onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')} onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')}
onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')} onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')}
> >
<Link href={'#'}>{getMessage('header.menus.community.faq')}</Link> <Link href={'/community/faq'}>{getMessage('header.menus.community.faq')}</Link>
</li> </li>
<li <li
className="nav-depth2-item" className="nav-depth2-item"
onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')} onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')}
onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')} onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')}
> >
<Link href={'#'}>{getMessage('header.menus.community.archive')}</Link> <Link href={'/community/archive'}>{getMessage('header.menus.community.archive')}</Link>
</li> </li>
</ul> </ul>
</li> </li>
@ -107,7 +109,9 @@ export default function Header(props) {
<button className="profile">{loginedUserNm}</button> <button className="profile">{loginedUserNm}</button>
</div> </div>
<div className="sign-out-box"> <div className="sign-out-box">
<button className="sign-out">{getMessage('header.logout')}</button> <button className="sign-out" onClick={onLogout}>
{getMessage('header.logout')}
</button>
</div> </div>
<div className="select-box"> <div className="select-box">
<QSelectBox title={'Q.ORDER'} option={SelectOption} /> <QSelectBox title={'Q.ORDER'} option={SelectOption} />

View File

@ -4,9 +4,7 @@ import { cookies } from 'next/headers'
import { redirect } from 'next/navigation' import { redirect } from 'next/navigation'
import { getIronSession } from 'iron-session' import { getIronSession } from 'iron-session'
import { sessionOptions } from './session'
import { getUserByIdAndPassword } from './user'
import { defaultSession, sessionOptions } from './session'
export async function logout() { export async function logout() {
const session = await getSession() const session = await getSession()

View File

@ -17,6 +17,7 @@
"plan.menu.placement.surface.initial.setting": "배치면 초기 설정", "plan.menu.placement.surface.initial.setting": "배치면 초기 설정",
"plan.menu.root.cover": "지붕덮개", "plan.menu.root.cover": "지붕덮개",
"plan.menu.root.cover.outline.drawing": "외벽선 그리기", "plan.menu.root.cover.outline.drawing": "외벽선 그리기",
"plan.menu.root.cover.auxiliary.line.drawing": "보조선 그리기",
"modal.cover.outline.drawing": "외벽선 작성", "modal.cover.outline.drawing": "외벽선 작성",
"modal.cover.outline": "외벽선", "modal.cover.outline": "외벽선",
"modal.cover.outline.right.angle": "직각", "modal.cover.outline.right.angle": "직각",

View File

@ -22,8 +22,6 @@
.modal-pop-wrap { .modal-pop-wrap {
position: fixed; position: fixed;
top: 200px;
right: 100px;
width: 100%; width: 100%;
min-width: 380px; min-width: 380px;
max-width: fit-content; max-width: fit-content;