Merge branch 'dev' of https://git.hanasys.jp/qcast3/onsitesurvey into feature/suitable

This commit is contained in:
Daseul Kim 2025-05-13 09:33:10 +09:00
commit 0cdd7cdebd
6 changed files with 58 additions and 20 deletions

View File

@ -4,4 +4,7 @@
NEXT_PUBLIC_API_URL=http://localhost:3000
#qsp 로그인 api
NEXT_PUBLIC_QSP_API_URL=http://1.248.227.176:8120
NEXT_PUBLIC_QSP_API_URL=http://1.248.227.176:8120
#1:1문의 api
NEXT_PUBLIC_INQUIRY_API_URL=http://1.248.227.176:38080

View File

@ -2,4 +2,7 @@
NEXT_PUBLIC_API_URL=http://172.30.1.35:3000
#qsp 로그인 api
NEXT_PUBLIC_QSP_API_URL=http://1.248.227.176:8120
NEXT_PUBLIC_QSP_API_URL=http://1.248.227.176:8120
#1:1문의 api
NEXT_PUBLIC_INQUIRY_API_URL=http://1.248.227.176:38080

View File

@ -1,10 +1,19 @@
'use client'
import { usePopupController } from '@/store/popupController'
import React from 'react'
export default function DoubleBtnAlert() {
const { alertMsg, alert2BtnYes, alert2BtnNo } = usePopupController()
const { alertMsg, alert2BtnYes, alert2BtnNo, setAlert2 } = usePopupController()
const handleAlert2BtnYes = () => {
alert2BtnYes()
setAlert2(false)
}
const handleAlert2BtnNo = () => {
alert2BtnNo()
setAlert2(false)
}
return (
<div className="modal-popup alert">
@ -13,12 +22,12 @@ export default function DoubleBtnAlert() {
<div className="alert-tit">{alertMsg}</div>
<div className="alert-btn-wrap">
<div className="alert-btn-bx">
<button className="btn-frame red min" onClick={() => alert2BtnYes()}>
<button className="btn-frame red min" onClick={() => handleAlert2BtnYes()}>
</button>
</div>
<div className="alert-btn-bx">
<button className="btn-frame n-blue min" onClick={() => alert2BtnNo()}>
<button className="btn-frame n-blue min" onClick={() => handleAlert2BtnNo()}>
</button>
</div>

View File

@ -14,6 +14,7 @@ import { useTitle } from '@/hooks/useTitle'
import { axiosInstance } from '@/libs/axios'
import 'swiper/css'
import { confirmParamsSerialize } from '@/utils/window'
export default function Header() {
const router = useRouter()
@ -38,6 +39,22 @@ export default function Header() {
}
}
const handleYes = () => {
console.log('yes')
}
const handleNo = () => {
console.log('no')
}
const handleCofirm = () => {
window.neoConfirm(
'よろしいですか?',
() => console.log('yes'),
() => console.log('no'),
)
}
return (
<>
<div className="header-warp">
@ -45,7 +62,7 @@ export default function Header() {
<div className="header-inner">
{backBtn && (
<div className="back-button-wrap">
<button className="back-button" onClick={() => router.back()}></button>
<button className="back-button" onClick={handleCofirm}></button>
</div>
)}
<h2 className="logo">

View File

@ -7,6 +7,12 @@ import { usePathname } from 'next/navigation'
import { useEffect } from 'react'
import { useSessionStore } from '@/store/session'
declare global {
interface Window {
neoConfirm: (msg?: string, alertBtn2Yes?: Function, alertBtn2No?: Function) => boolean
}
}
interface EdgeProviderProps {
children: React.ReactNode
sessionData: string
@ -44,25 +50,18 @@ export default function EdgeProvider({ children, sessionData }: EdgeProviderProp
setAlert2(true)
}
//alert 함수 변경해서 바인딩
useEffect(() => {
//alert 함수 변경해서 바인딩
window.alert = function (msg, alertBtn = () => setAlert(false)) {
alertFunc(msg, alertBtn)
}
window.confirm = function (msg = '', alert2BtnYes = () => setAlert2(false), alert2BtnNo = () => setAlert2(false)) {
alertFunc2(
msg,
() => {
alert2BtnYes()
return true
},
() => {
alert2BtnNo()
return false
},
)
// confirm 함수 변경해서 바인딩
window.neoConfirm = function (msg: string | undefined, alertBtn2Yes?: Function, alertBtn2No?: Function) {
if (!msg) return false
alertFunc2(msg, alertBtn2Yes || (() => {}), alertBtn2No || (() => {}))
return false
}
// 서버 세션이 있으면 zuatand 세션 데이터 갱신
if (sessionData && sessionData !== '') {
setSession({
...session,

7
src/utils/window.ts Normal file
View File

@ -0,0 +1,7 @@
export const confirmParamsSerialize = ({ msg, yes, no }: { msg: string; yes: () => void; no: () => void }) => {
return JSON.stringify({ msg, yes, no })
}
export const confirmParamsDeserialize = (params: string) => {
return JSON.parse(params)
}