Skip to content

Commit 48dc971

Browse files
authored
Merge pull request #175 from YAPP-Github/BOOK-304-feature/#173
feat: UX 개선을 위한 LoadingIndicator에 Delay 옵션 추가
2 parents 7099e42 + 657f67d commit 48dc971

File tree

23 files changed

+170
-350
lines changed

23 files changed

+170
-350
lines changed

core/ocr/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ dependencies {
2626
projects.core.common,
2727

2828
libs.logger,
29-
libs.androidx.camera.core,
30-
31-
libs.google.mlkit.text.recognition.korean,
3229
)
3330
}
3431

core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/analyzer/LiveTextAnalyzer.kt

Lines changed: 0 additions & 80 deletions
This file was deleted.

core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/analyzer/StillTextAnalyzer.kt

Lines changed: 0 additions & 75 deletions
This file was deleted.

core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/analyzer/TextAnalyzer.kt

Lines changed: 0 additions & 7 deletions
This file was deleted.

core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/di/OcrModule.kt

Lines changed: 0 additions & 20 deletions
This file was deleted.

core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/analyzer/CloudOcrRecognizer.kt renamed to core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/recognizer/CloudOcrRecognizer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ninecraft.booket.core.ocr.analyzer
1+
package com.ninecraft.booket.core.ocr.recognizer
22

33
import android.net.Uri
44
import android.util.Base64

core/ui/src/main/kotlin/com/ninecraft/booket/core/ui/component/ReedLoadingIndicator.kt

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,34 @@ import androidx.compose.foundation.layout.Box
44
import androidx.compose.foundation.layout.fillMaxSize
55
import androidx.compose.material3.CircularProgressIndicator
66
import androidx.compose.runtime.Composable
7+
import androidx.compose.runtime.getValue
8+
import androidx.compose.runtime.produceState
79
import androidx.compose.ui.Alignment
810
import androidx.compose.ui.Modifier
911
import com.ninecraft.booket.core.common.extensions.noRippleClickable
1012
import com.ninecraft.booket.core.designsystem.ComponentPreview
1113
import com.ninecraft.booket.core.designsystem.theme.ReedTheme
14+
import kotlinx.coroutines.delay
1215

1316
@Composable
1417
fun ReedLoadingIndicator(
1518
modifier: Modifier = Modifier,
19+
delayMillis: Long = 500L,
1620
) {
17-
Box(
18-
modifier = modifier
19-
.fillMaxSize()
20-
.noRippleClickable {},
21-
contentAlignment = Alignment.Center,
22-
) {
23-
CircularProgressIndicator(color = ReedTheme.colors.contentBrand)
21+
val showProgressBar by produceState(initialValue = false, key1 = delayMillis) {
22+
delay(delayMillis)
23+
value = true
24+
}
25+
26+
if (showProgressBar) {
27+
Box(
28+
modifier = modifier
29+
.fillMaxSize()
30+
.noRippleClickable {},
31+
contentAlignment = Alignment.Center,
32+
) {
33+
CircularProgressIndicator(color = ReedTheme.colors.contentBrand)
34+
}
2435
}
2536
}
2637

feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import com.ninecraft.booket.feature.screens.RecordDetailScreen
2222
import com.ninecraft.booket.feature.screens.RecordEditScreen
2323
import com.ninecraft.booket.feature.screens.RecordScreen
2424
import com.ninecraft.booket.feature.screens.arguments.RecordEditArgs
25-
import com.ninecraft.booket.feature.screens.extensions.delayedGoTo
2625
import com.orhanobut.logger.Logger
2726
import com.skydoves.compose.effects.RememberedEffect
2827
import com.slack.circuit.codegen.annotations.CircuitInject
@@ -304,15 +303,13 @@ class BookDetailPresenter @AssistedInject constructor(
304303

305304
is BookDetailUiEvent.OnShareRecordClick -> {
306305
isRecordMenuBottomSheetVisible = false
307-
scope.launch {
308-
navigator.delayedGoTo(
309-
RecordCardScreen(
310-
quote = selectedRecordInfo.quote,
311-
bookTitle = selectedRecordInfo.bookTitle,
312-
emotionTag = selectedRecordInfo.emotionTags[0],
313-
),
314-
)
315-
}
306+
navigator.goTo(
307+
RecordCardScreen(
308+
quote = selectedRecordInfo.quote,
309+
bookTitle = selectedRecordInfo.bookTitle,
310+
emotionTag = selectedRecordInfo.emotionTags[0],
311+
),
312+
)
316313
}
317314

318315
is BookDetailUiEvent.OnEditRecordClick -> {

feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,10 @@ internal fun BookDetailUi(
136136
},
137137
sheetState = recordMenuBottomSheetState,
138138
onShareRecordClick = {
139-
state.eventSink(BookDetailUiEvent.OnShareRecordClick)
139+
coroutineScope.launch {
140+
recordMenuBottomSheetState.hide()
141+
state.eventSink(BookDetailUiEvent.OnShareRecordClick)
142+
}
140143
},
141144
onEditRecordClick = {
142145
coroutineScope.launch {

feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/record/RecordDetailPresenter.kt

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import com.ninecraft.booket.feature.screens.RecordCardScreen
1414
import com.ninecraft.booket.feature.screens.RecordDetailScreen
1515
import com.ninecraft.booket.feature.screens.RecordEditScreen
1616
import com.ninecraft.booket.feature.screens.arguments.RecordEditArgs
17-
import com.ninecraft.booket.feature.screens.extensions.delayedGoTo
1817
import com.orhanobut.logger.Logger
1918
import com.skydoves.compose.effects.RememberedEffect
2019
import com.slack.circuit.codegen.annotations.CircuitInject
@@ -124,15 +123,13 @@ class RecordDetailPresenter @AssistedInject constructor(
124123

125124
is RecordDetailUiEvent.OnShareRecordClick -> {
126125
isRecordMenuBottomSheetVisible = false
127-
scope.launch {
128-
navigator.delayedGoTo(
129-
RecordCardScreen(
130-
quote = recordDetailInfo.quote,
131-
bookTitle = recordDetailInfo.bookTitle,
132-
emotionTag = recordDetailInfo.emotionTags[0],
133-
),
134-
)
135-
}
126+
navigator.goTo(
127+
RecordCardScreen(
128+
quote = recordDetailInfo.quote,
129+
bookTitle = recordDetailInfo.bookTitle,
130+
emotionTag = recordDetailInfo.emotionTags[0],
131+
),
132+
)
136133
}
137134

138135
is RecordDetailUiEvent.OnEditRecordClick -> {

0 commit comments

Comments
 (0)