mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 00:16:59 +00:00
fix(desktop): add loading indicator + relay diagnostics for inline search
- Show "Searching N relays..." with spinner while waiting for results - Show "No search relays configured" if searchRelays is empty - Observe isSearching, peopleResults, noteResults directly for state Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
e587bb946e
commit
e9756d41aa
@@ -1061,7 +1061,32 @@ private fun FeedTabsHeader(
|
||||
HorizontalDivider(color = MaterialTheme.colorScheme.outlineVariant)
|
||||
|
||||
val hasQuery = searchText.text.isNotBlank()
|
||||
val isSearching by searchState.isSearching.collectAsState()
|
||||
val people by searchState.peopleResults.collectAsState()
|
||||
val notes by searchState.noteResults.collectAsState()
|
||||
val hasResults = people.isNotEmpty() || notes.isNotEmpty()
|
||||
|
||||
if (hasQuery) {
|
||||
if (isSearching && !hasResults) {
|
||||
// Loading state while waiting for relay results
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth().padding(16.dp),
|
||||
horizontalArrangement = Arrangement.Center,
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
androidx.compose.material3.CircularProgressIndicator(
|
||||
modifier = Modifier.size(16.dp),
|
||||
strokeWidth = 2.dp,
|
||||
)
|
||||
Spacer(Modifier.width(8.dp))
|
||||
Text(
|
||||
"Searching ${searchRelays.size} relays...",
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Show search results (reuses SearchResultsList)
|
||||
SearchResultsList(
|
||||
state = searchState,
|
||||
@@ -1077,6 +1102,15 @@ private fun FeedTabsHeader(
|
||||
modifier = Modifier.heightIn(max = 400.dp).fillMaxWidth(),
|
||||
)
|
||||
|
||||
if (!isSearching && !hasResults && searchRelays.isEmpty()) {
|
||||
Text(
|
||||
"No search relays configured",
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
modifier = Modifier.padding(16.dp),
|
||||
)
|
||||
}
|
||||
|
||||
// "Open full search" link
|
||||
HorizontalDivider(
|
||||
color = MaterialTheme.colorScheme.outlineVariant,
|
||||
|
||||
Reference in New Issue
Block a user