Skip to content

Instantly share code, notes, and snippets.

View 1jGabriel's full-sized avatar
🏠
Working from home

João Gabriel 1jGabriel

🏠
Working from home
View GitHub Profile
@DevicesPreview
@Composable
fun WelcomeCoraPartnershipScreenPreview() {
WelcomeCoraPartnershipScreen()
}
@Preview(showSystemUi = true, device = Devices.PHONE)
@Preview(showSystemUi = true, device = Devices.NEXUS_7_2013)
@Preview(showSystemUi = true, device = Devices.NEXUS_5)
@Preview(showSystemUi = true, device = Devices.FOLDABLE)
annotation class DevicesPreview
@Preview
@Composable
fun WelcomeCoraPartnershipScreenPreview() {
WelcomeCoraPartnershipScreen()
}
// Código ilustrativo da tela inicial do fluxo de Parceria Cora
@Composable
fun WelcomeCoraPartnershipScreen()
Box(modifier = Modifier.fillMaxSize()) {
Column(
Modifier
.verticalScroll(rememberScrollState())
.align(Alignment.TopStart)
) {
WelcomeCoraPartnershipHeader()
@1jGabriel
1jGabriel / build.gradle
Created February 22, 2023 19:24
Jetpack Compose Preview
debugImplementation "androidx.compose.ui:ui-tooling:1.3.0"
implementation "androidx.compose.ui:ui-tooling-preview:1.3.0"
// Se o projeto foi criado como um projeto compose, essas dependencias são adicionadas automaticamente
@1jGabriel
1jGabriel / AnimateAlignAsState.kt
Created February 3, 2023 04:17
Animate alignment as state
@Composable
private fun animateAlignmentAsState(
targetAlignment: Alignment,
finishedListener: (Float) -> Unit
): State<Alignment> {
val biased = targetAlignment as BiasAlignment
val horizontal by animateFloatAsState(
biased.horizontalBias,
finishedListener = finishedListener
)
@1jGabriel
1jGabriel / TestandoFlows.kt
Created April 22, 2022 05:18
Testando Flows =)
class TestandoSharedFlow(val useCase: TestandoSharedFlowUseCase) : ViewModel() {
private val states = MutableSharedFlow<Int>(
onBufferOverflow = BufferOverflow.DROP_LATEST,
extraBufferCapacity = 1
)
fun observeStates() = states.asSharedFlow()
@1jGabriel
1jGabriel / CharacterItem.kt
Last active January 23, 2021 17:57
Character Item
@Composable
fun CharacterItem(character: CharacterUi) {
Row(
modifier = Modifier
.padding(start = 16.dp, top = 16.dp, end = 16.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
) {
CharacterImage(
@1jGabriel
1jGabriel / PersonageList.kt
Last active January 23, 2021 18:06
PersonageListComposable
@Composable
fun CharacterList(characters: Flow<PagingData<CharacterUi>>) {
val lazyCharacters: LazyPagingItems<CharacterUi> = characters.collectAsLazyPagingItems()
LazyColumn {
items(lazyPagingItems = lazyCharacters) { character ->
character?.let {
CharacterItem(character = character)
class PersonageViewModel(
private val repository: PersonageRepository
) : ViewModel() {
fun getCharacters(): Flow<PagingData<CharacterUi>> {
return repository.getPersonages().cachedIn(viewModelScope)
}
}