fix: [PWT-169] 사전 등록 > 기기 체크 없이 스토브 앱 다운로드 버튼 노출되는 현상 문의
This commit is contained in:
@@ -42,7 +42,6 @@ const currentStep = ref<1 | 2>(1)
|
||||
const isSubmitting = ref(false)
|
||||
const isCheckedMarketing = ref(false)
|
||||
const isExpandedMarketing = ref(false)
|
||||
const isValidated = ref(false) // 검증 완료 여부 (중복 검증 방지)
|
||||
|
||||
const canSubmit = computed(() => isCheckedMarketing.value)
|
||||
const errorMessages = computed<Record<number, string>>(() => ({
|
||||
@@ -168,7 +167,6 @@ const handleOpenPreregist = async (): Promise<void> => {
|
||||
})
|
||||
}
|
||||
|
||||
isValidated.value = true // 검증 완료 플래그
|
||||
isModalOpen.value = true
|
||||
currentStep.value = 1
|
||||
}
|
||||
@@ -186,11 +184,8 @@ const handleSubmit = async (): Promise<void> => {
|
||||
return
|
||||
}
|
||||
|
||||
// 이미 검증을 통과한 경우 재검증 스킵
|
||||
if (!isValidated.value) {
|
||||
const isValid = await checkValidation()
|
||||
if (!isValid) return
|
||||
}
|
||||
const isValid = await checkValidation()
|
||||
if (!isValid) return
|
||||
|
||||
isSubmitting.value = true
|
||||
try {
|
||||
@@ -199,7 +194,7 @@ const handleSubmit = async (): Promise<void> => {
|
||||
event_code: props.preregistCode,
|
||||
lang_code: locale.value,
|
||||
terms_type: 3,
|
||||
device_type: device.isMobile ? 'mobile' : 'pc',
|
||||
device_type: device.isDesktop ? 'pc' : 'mobile',
|
||||
country_code: countryCode.value || 'KR',
|
||||
necessary_consent1: 'Y',
|
||||
necessary_consent2: 'Y',
|
||||
@@ -234,7 +229,6 @@ const handleCloseModal = (): void => {
|
||||
isCheckedMarketing.value = false
|
||||
isExpandedMarketing.value = false
|
||||
isSubmitting.value = false
|
||||
isValidated.value = false // 검증 플래그도 초기화
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
@@ -385,6 +379,7 @@ defineExpose({
|
||||
</p>
|
||||
<div class="flex items-center gap-3">
|
||||
<div
|
||||
v-if="device.isDesktop"
|
||||
class="flex size-[108px] p-4 shrink-0 items-center justify-center rounded-lg bg-white/[0.04] backdrop-blur-[15px] md:size-[124px] md:p-4.5"
|
||||
>
|
||||
<AtomsImg
|
||||
@@ -396,6 +391,7 @@ defineExpose({
|
||||
</div>
|
||||
<div class="flex flex-1 flex-col gap-3">
|
||||
<a
|
||||
v-if="device.isDesktop ? true : device.isAndroid"
|
||||
href="https://play.google.com/store/search?q=stove&c=apps"
|
||||
target="_blank"
|
||||
class="flex h-12 w-full items-center justify-center gap-1.5 rounded-lg bg-white/[0.04] px-8 pl-8 pr-10 text-sm font-medium leading-5 tracking-[-0.42px] text-white no-underline backdrop-blur-[15px] transition-colors duration-200 hover:bg-white/[0.08] md:h-14 md:gap-2 md:text-base md:leading-6 md:tracking-[-0.48px]"
|
||||
@@ -404,6 +400,7 @@ defineExpose({
|
||||
<span>Google Play</span>
|
||||
</a>
|
||||
<a
|
||||
v-if="device.isDesktop ? true : device.isApple"
|
||||
href="https://apps.apple.com/app/stove-app-stove-app/id1342134971"
|
||||
target="_blank"
|
||||
class="flex h-12 w-full items-center justify-center gap-1.5 rounded-lg bg-white/[0.04] px-8 pl-8 pr-10 text-sm font-medium leading-5 tracking-[-0.42px] text-white no-underline backdrop-blur-[15px] transition-colors duration-200 hover:bg-white/[0.08] md:h-14 md:gap-2 md:text-base md:leading-6 md:tracking-[-0.48px]"
|
||||
|
||||
Reference in New Issue
Block a user