c5e4c2dad7
- 웹(브라우저)은 안내 페이지만, 실제 이용은 앱(Capacitor). 개발모드는 예외 - 회원가입: 약관동의, 관리자 제한 토글, 진입부터 차단, 허니팟 - 카드 알림: pending 건 계좌종류 '카드' 기본선택(현금 X), 확인실패 시 HTTP 상태 표시 - 네이티브 알림필터: '카드' 키워드 제거+광고성 표현 차단 - docs/release-2026-06-06.md 정리 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
68 lines
1.9 KiB
JavaScript
68 lines
1.9 KiB
JavaScript
import { defineStore } from 'pinia'
|
|
import { ref } from 'vue'
|
|
import { authApi } from '@/api/authApi'
|
|
|
|
// 전역 UI 상태 (로그인/회원가입 레이어 팝업 등)
|
|
export const useUiStore = defineStore('ui', () => {
|
|
const loginOpen = ref(false)
|
|
const signupOpen = ref(false)
|
|
const redirectPath = ref('')
|
|
|
|
// 회원가입 허용 여부(관리자 설정). 비로그인도 조회 가능한 공개 API.
|
|
const signupEnabled = ref(true)
|
|
async function loadSignupEnabled() {
|
|
try {
|
|
const res = await authApi.signupEnabled()
|
|
signupEnabled.value = !!res.enabled
|
|
} catch {
|
|
signupEnabled.value = true // 조회 실패 시 기본 허용(서버가 최종 검증)
|
|
}
|
|
}
|
|
|
|
// 모바일 사이드바 드로어
|
|
const sidebarOpen = ref(false)
|
|
function toggleSidebar() {
|
|
sidebarOpen.value = !sidebarOpen.value
|
|
}
|
|
function closeSidebar() {
|
|
sidebarOpen.value = false
|
|
}
|
|
|
|
// 비밀번호 변경 모달
|
|
const passwordOpen = ref(false)
|
|
function openPassword() {
|
|
passwordOpen.value = true
|
|
}
|
|
function closePassword() {
|
|
passwordOpen.value = false
|
|
}
|
|
|
|
// 로그인 팝업 (회원가입 팝업은 닫고 전환)
|
|
function openLogin(redirect = '') {
|
|
redirectPath.value = redirect || ''
|
|
signupOpen.value = false
|
|
loginOpen.value = true
|
|
}
|
|
function closeLogin() {
|
|
loginOpen.value = false
|
|
redirectPath.value = ''
|
|
}
|
|
|
|
// 회원가입 팝업 (로그인 팝업은 닫고 전환). 열 때 최신 허용 여부 갱신.
|
|
function openSignup() {
|
|
loginOpen.value = false
|
|
signupOpen.value = true
|
|
loadSignupEnabled()
|
|
}
|
|
function closeSignup() {
|
|
signupOpen.value = false
|
|
}
|
|
|
|
return {
|
|
loginOpen, signupOpen, redirectPath, openLogin, closeLogin, openSignup, closeSignup,
|
|
signupEnabled, loadSignupEnabled,
|
|
sidebarOpen, toggleSidebar, closeSidebar,
|
|
passwordOpen, openPassword, closePassword,
|
|
}
|
|
})
|