v0.1.49 - 인증 재전송 버튼 노출 조건 조정

This commit is contained in:
2026-04-24 11:51:30 +09:00
parent 0013f03bb3
commit 39a731138b
5 changed files with 38 additions and 18 deletions

View File

@@ -644,6 +644,17 @@ const authSessionInfo = computed(() => ({
? '이메일 인증 완료'
: '이메일 인증 필요',
}))
const showVerificationResend = computed(() => {
if (authMode.value !== 'login') {
return false
}
if (!authForm.email.includes('@')) {
return false
}
return authMessage.value.includes('이메일 인증')
})
const filteredGoals = computed(() => {
const query = goalQuery.value.trim().toLowerCase()
return goals.value.filter((goal) => {
@@ -3277,6 +3288,7 @@ onBeforeUnmount(() => {
:form="authForm"
:busy="authBusy"
:message="authMessage"
:show-resend-verification="showVerificationResend"
@close="closeAuthDialog"
@submit="submitAuthForm"
@resend-verification="resendVerificationEmail"

View File

@@ -20,6 +20,10 @@ const props = defineProps({
type: String,
default: '',
},
showResendVerification: {
type: Boolean,
default: false,
},
})
const emit = defineEmits([
@@ -186,12 +190,25 @@ function getSubmitLabel(mode, busy) {
<span class="text-xs font-bold tracking-[0.08em] text-stone-700">로그인 상태 유지</span>
</label>
<p
<div
v-if="message"
class="rounded-2xl border border-stone-300 bg-white/80 px-4 py-3 text-sm font-semibold leading-6 text-stone-700"
class="rounded-2xl border border-stone-300 bg-white/80 px-4 py-3"
>
{{ message }}
</p>
<div class="flex items-start justify-between gap-4">
<p class="min-w-0 text-sm font-semibold leading-6 text-stone-700">
{{ message }}
</p>
<button
v-if="showResendVerification"
type="button"
class="shrink-0 rounded-full border border-stone-300 px-3 py-2 text-[10px] font-bold tracking-[0.14em] text-stone-600 transition hover:border-stone-500 hover:text-stone-900"
:disabled="busy"
@click="emit('resend-verification')"
>
재전송
</button>
</div>
</div>
<button
type="submit"
@@ -211,16 +228,6 @@ function getSubmitLabel(mode, busy) {
비밀번호를 잊으셨나요?
</button>
<button
v-if="mode === 'login'"
type="button"
class="mt-3 w-full text-center text-xs font-bold tracking-[0.14em] text-stone-500 underline underline-offset-4 transition hover:text-stone-900"
:disabled="busy"
@click="emit('resend-verification')"
>
이메일 인증 메일 다시 보내기
</button>
<div class="mt-5 flex items-center justify-center gap-2 border-t border-stone-300/70 pt-4">
<p class="text-sm font-semibold text-stone-600">
{{ mode === 'signup' ? '이미 계정이 있나요?' : '계정 화면으로 돌아갈까요?' }}