|
|
|
@ -41,7 +41,6 @@ import androidx.compose.foundation.lazy.staggeredgrid.StaggeredGridCells
|
|
|
|
|
import androidx.compose.foundation.lazy.staggeredgrid.StaggeredGridItemSpan
|
|
|
|
|
import androidx.compose.foundation.lazy.staggeredgrid.rememberLazyStaggeredGridState
|
|
|
|
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
|
|
|
|
import androidx.compose.foundation.text.ClickableText
|
|
|
|
|
import androidx.compose.foundation.text.KeyboardActions
|
|
|
|
|
import androidx.compose.foundation.text.KeyboardOptions
|
|
|
|
|
import androidx.compose.material3.Icon
|
|
|
|
@ -66,6 +65,7 @@ import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
|
|
|
|
import androidx.compose.ui.platform.testTag
|
|
|
|
|
import androidx.compose.ui.res.stringResource
|
|
|
|
|
import androidx.compose.ui.text.AnnotatedString
|
|
|
|
|
import androidx.compose.ui.text.LinkAnnotation
|
|
|
|
|
import androidx.compose.ui.text.SpanStyle
|
|
|
|
|
import androidx.compose.ui.text.TextStyle
|
|
|
|
|
import androidx.compose.ui.text.buildAnnotatedString
|
|
|
|
@ -73,6 +73,7 @@ import androidx.compose.ui.text.font.FontWeight
|
|
|
|
|
import androidx.compose.ui.text.input.ImeAction
|
|
|
|
|
import androidx.compose.ui.text.style.TextAlign
|
|
|
|
|
import androidx.compose.ui.text.style.TextDecoration
|
|
|
|
|
import androidx.compose.ui.text.withLink
|
|
|
|
|
import androidx.compose.ui.text.withStyle
|
|
|
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
|
|
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
|
|
|
@ -227,23 +228,31 @@ fun EmptySearchResultBody(
|
|
|
|
|
textAlign = TextAlign.Center,
|
|
|
|
|
modifier = Modifier.padding(vertical = 24.dp),
|
|
|
|
|
)
|
|
|
|
|
val interests = stringResource(id = searchR.string.feature_search_interests)
|
|
|
|
|
val tryAnotherSearchString = buildAnnotatedString {
|
|
|
|
|
append(stringResource(id = searchR.string.feature_search_try_another_search))
|
|
|
|
|
append(" ")
|
|
|
|
|
withLink(
|
|
|
|
|
LinkAnnotation.Clickable(
|
|
|
|
|
tag = "",
|
|
|
|
|
linkInteractionListener = {
|
|
|
|
|
onInterestsClick()
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
) {
|
|
|
|
|
withStyle(
|
|
|
|
|
style = SpanStyle(
|
|
|
|
|
textDecoration = TextDecoration.Underline,
|
|
|
|
|
fontWeight = FontWeight.Bold,
|
|
|
|
|
),
|
|
|
|
|
) {
|
|
|
|
|
pushStringAnnotation(tag = interests, annotation = interests)
|
|
|
|
|
append(interests)
|
|
|
|
|
append(stringResource(id = searchR.string.feature_search_interests))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
append(" ")
|
|
|
|
|
append(stringResource(id = searchR.string.feature_search_to_browse_topics))
|
|
|
|
|
}
|
|
|
|
|
ClickableText(
|
|
|
|
|
Text(
|
|
|
|
|
text = tryAnotherSearchString,
|
|
|
|
|
style = MaterialTheme.typography.bodyLarge.merge(
|
|
|
|
|
TextStyle(
|
|
|
|
@ -252,13 +261,8 @@ fun EmptySearchResultBody(
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
modifier = Modifier
|
|
|
|
|
.padding(start = 36.dp, end = 36.dp, bottom = 24.dp)
|
|
|
|
|
.clickable {},
|
|
|
|
|
) { offset ->
|
|
|
|
|
tryAnotherSearchString.getStringAnnotations(start = offset, end = offset)
|
|
|
|
|
.firstOrNull()
|
|
|
|
|
?.let { onInterestsClick() }
|
|
|
|
|
}
|
|
|
|
|
.padding(start = 36.dp, end = 36.dp, bottom = 24.dp),
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|