v0.1.45 - 로그인 유지 옵션과 랜딩 문구 정리

This commit is contained in:
2026-04-23 13:42:53 +09:00
parent 1f2d9ddc54
commit e847ddd227
5 changed files with 57 additions and 17 deletions

View File

@@ -59,6 +59,7 @@ const authForm = reactive({
nickname: '',
email: '',
password: '',
rememberSession: false,
})
const goalForm = reactive({
title: '',
@@ -1062,6 +1063,7 @@ function resetAuthForm() {
authForm.nickname = ''
authForm.email = ''
authForm.password = ''
authForm.rememberSession = false
}
function resetGoalForm() {
@@ -1099,13 +1101,14 @@ function updateAuthField({ field, value }) {
authForm[field] = value
}
async function applyAuthSuccess(data) {
async function applyAuthSuccess(data, persist = false) {
authToken.value = data.token
currentUser.value = data.user
setSyncFeedback('cloud', '클라우드 동기화 연결됨')
persistAuthState({
token: data.token,
user: data.user,
persist,
})
await loadGoals()
await hydratePlannerRecordsFromApi()
@@ -1131,7 +1134,7 @@ async function submitAuthForm() {
password: authForm.password,
})
await applyAuthSuccess(result)
await applyAuthSuccess(result, authMode.value === 'login' && authForm.rememberSession)
} catch (error) {
authMessage.value = toUserFacingApiError(error, '인증 처리 중 문제가 발생했습니다.')
} finally {
@@ -1156,6 +1159,7 @@ async function restoreAuthSession() {
persistAuthState({
token: savedAuth.token,
user: result.user,
persist: savedAuth.persist,
})
await loadGoals()
await hydratePlannerRecordsFromApi()
@@ -2015,12 +2019,13 @@ onBeforeUnmount(() => {
>
<div class="mx-auto flex max-w-2xl flex-col gap-6 text-center">
<div>
<p class="text-[11px] font-bold uppercase tracking-[0.28em] text-stone-500">회원 전용 플래너</p>
<p class="text-[11px] font-bold uppercase tracking-[0.28em] text-stone-500">MEMBERS ONLY</p>
<h2 class="mt-3 text-3xl font-semibold tracking-[-0.05em] text-stone-900 sm:text-4xl">
10 Minute Planner
오늘을 흘려보내지 않는<br>
10분의 기록
</h2>
<p class="mx-auto mt-3 max-w-xl text-sm leading-7 text-stone-600 sm:text-base">
로그인하면 날짜별 플래너, 통계, 목표를 계정 기준으로 이어 사용할 있습니다.
, 집중 시간, 짧은 코멘트를 장의 이어리로 남기고 내일의 작업까지 이어가세요.
</p>
</div>