Skip to content

Commit 3028667

Browse files
Add loading indicator for auto-fetch title feature (#129)
* Initial plan * Add loading indicator for auto fetch title feature Co-authored-by: yogeshpaliyal <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: yogeshpaliyal <[email protected]>
1 parent 59d3227 commit 3028667

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

app/src/main/java/com/yogeshpaliyal/deepr/ui/screens/home/HomeBottomContent.kt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import androidx.compose.foundation.rememberScrollState
1717
import androidx.compose.foundation.shape.RoundedCornerShape
1818
import androidx.compose.foundation.verticalScroll
1919
import androidx.compose.material3.Button
20+
import androidx.compose.material3.CircularProgressIndicator
2021
import androidx.compose.material3.ExperimentalMaterial3Api
2122
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
2223
import androidx.compose.material3.Icon
@@ -77,6 +78,7 @@ fun HomeBottomContent(
7778
}
7879
var isError by remember { mutableStateOf(false) }
7980
var isNameError by remember { mutableStateOf(false) }
81+
var isFetchingMetadata by remember { mutableStateOf(false) }
8082
// Tags
8183
var newTagName by remember { mutableStateOf("") }
8284
val allTags by viewModel.allTags.collectAsState()
@@ -171,9 +173,11 @@ fun HomeBottomContent(
171173

172174
OutlinedButton(
173175
modifier = Modifier.fillMaxWidth(),
174-
enabled = deeprInfo.link.isNotBlank(),
176+
enabled = deeprInfo.link.isNotBlank() && !isFetchingMetadata,
175177
onClick = {
178+
isFetchingMetadata = true
176179
viewModel.fetchMetaData(deeprInfo.link) {
180+
isFetchingMetadata = false
177181
if (it != null) {
178182
deeprInfo = deeprInfo.copy(name = it.title ?: "")
179183
isNameError = false
@@ -188,6 +192,13 @@ fun HomeBottomContent(
188192
}
189193
},
190194
) {
195+
if (isFetchingMetadata) {
196+
CircularProgressIndicator(
197+
modifier = Modifier.size(20.dp),
198+
strokeWidth = 2.dp,
199+
)
200+
Spacer(modifier = Modifier.width(8.dp))
201+
}
191202
Text(stringResource(R.string.fetch_name_from_link))
192203
}
193204

0 commit comments

Comments
 (0)