Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -561,7 +561,7 @@ onMounted(async () => {
|
|||||||
type="button" class="receipt-btn"
|
type="button" class="receipt-btn"
|
||||||
:disabled="submitting || ocrRunning" @click="pickReceipt"
|
:disabled="submitting || ocrRunning" @click="pickReceipt"
|
||||||
>📷 영수증 스캔</button>
|
>📷 영수증 스캔</button>
|
||||||
<span v-if="ocrRunning" class="receipt-status">인식 중…</span>
|
<span v-if="ocrRunning" class="receipt-status">영수증 인식 중…</span>
|
||||||
<span v-else-if="ocrResult" class="receipt-status ok">
|
<span v-else-if="ocrResult" class="receipt-status ok">
|
||||||
<template v-if="ocrResult.amount">{{ won(ocrResult.amount) }}원</template>
|
<template v-if="ocrResult.amount">{{ won(ocrResult.amount) }}원</template>
|
||||||
<template v-if="ocrResult.date"> · {{ ocrResult.date }}</template>
|
<template v-if="ocrResult.date"> · {{ ocrResult.date }}</template>
|
||||||
@@ -570,6 +570,7 @@ onMounted(async () => {
|
|||||||
자동 입력됨
|
자동 입력됨
|
||||||
</span>
|
</span>
|
||||||
<span v-else class="receipt-hint">사진에서 금액·날짜·상호를 자동 입력</span>
|
<span v-else class="receipt-hint">사진에서 금액·날짜·상호를 자동 입력</span>
|
||||||
|
<div v-if="ocrRunning" class="receipt-progress"><div class="bar"></div></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label>거래일<input v-model="form.entryDate" type="date" :disabled="submitting" /></label>
|
<label>거래일<input v-model="form.entryDate" type="date" :disabled="submitting" /></label>
|
||||||
@@ -980,6 +981,25 @@ button.primary {
|
|||||||
.receipt-status.ok {
|
.receipt-status.ok {
|
||||||
color: hsla(160, 100%, 37%, 1);
|
color: hsla(160, 100%, 37%, 1);
|
||||||
}
|
}
|
||||||
|
/* 인식 중 무한 로딩 바 */
|
||||||
|
.receipt-progress {
|
||||||
|
flex-basis: 100%;
|
||||||
|
height: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
background: var(--color-background-mute);
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.receipt-progress .bar {
|
||||||
|
width: 40%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 2px;
|
||||||
|
background: hsla(160, 100%, 37%, 1);
|
||||||
|
animation: receipt-indeterminate 1.1s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
@keyframes receipt-indeterminate {
|
||||||
|
0% { margin-left: -40%; }
|
||||||
|
100% { margin-left: 100%; }
|
||||||
|
}
|
||||||
.entry-form label {
|
.entry-form label {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
Reference in New Issue
Block a user