mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 03:17:03 +05:30
Merge pull request #39 from msfjarvis/user-avatars
This commit is contained in:
commit
729f59ba96
4 changed files with 26 additions and 5 deletions
|
@ -84,6 +84,7 @@ dependencies {
|
||||||
implementation "androidx.ui:ui-tooling:$compose_version"
|
implementation "androidx.ui:ui-tooling:$compose_version"
|
||||||
implementation "com.google.android.material:material:$material_version"
|
implementation "com.google.android.material:material:$material_version"
|
||||||
implementation "com.google.dagger:hilt-android:$hilt_dagger_version"
|
implementation "com.google.dagger:hilt-android:$hilt_dagger_version"
|
||||||
|
implementation "dev.chrisbanes.accompanist:accompanist-coil:$accompanist_version"
|
||||||
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
|
||||||
implementation "saschpe.android:customtabs:$customtabs_version"
|
implementation "saschpe.android:customtabs:$customtabs_version"
|
||||||
androidTestImplementation "com.google.dagger:hilt-android-testing:$hilt_dagger_version"
|
androidTestImplementation "com.google.dagger:hilt-android-testing:$hilt_dagger_version"
|
||||||
|
|
|
@ -10,8 +10,9 @@ import dev.msfjarvis.lobsters.api.LobstersApi
|
||||||
@InstallIn(ActivityComponent::class)
|
@InstallIn(ActivityComponent::class)
|
||||||
@Module
|
@Module
|
||||||
object ApiModule {
|
object ApiModule {
|
||||||
|
const val LOBSTERS_URL = "https://lobste.rs"
|
||||||
@Provides
|
@Provides
|
||||||
fun provideLobstersApi(): LobstersApi {
|
fun provideLobstersApi(): LobstersApi {
|
||||||
return ApiClient.getClient("https://lobste.rs")
|
return ApiClient.getClient(LOBSTERS_URL)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,15 +9,21 @@ import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.layout.width
|
||||||
|
import androidx.compose.foundation.layout.wrapContentHeight
|
||||||
import androidx.compose.foundation.lazy.LazyColumnFor
|
import androidx.compose.foundation.lazy.LazyColumnFor
|
||||||
import androidx.compose.foundation.lazy.LazyItemScope
|
import androidx.compose.foundation.lazy.LazyItemScope
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.ui.tooling.preview.Preview
|
import androidx.ui.tooling.preview.Preview
|
||||||
|
import coil.transform.CircleCropTransformation
|
||||||
|
import dev.chrisbanes.accompanist.coil.CoilImage
|
||||||
|
import dev.msfjarvis.lobsters.di.ApiModule
|
||||||
import dev.msfjarvis.lobsters.model.LobstersPost
|
import dev.msfjarvis.lobsters.model.LobstersPost
|
||||||
import dev.msfjarvis.lobsters.model.Submitter
|
import dev.msfjarvis.lobsters.model.Submitter
|
||||||
|
|
||||||
|
@ -57,10 +63,22 @@ fun LazyItemScope.LobstersItem(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Text(
|
Row(
|
||||||
text = "submitted by ${post.submitterUser.username}",
|
modifier = Modifier.wrapContentHeight(),
|
||||||
modifier = Modifier.padding(bottom = 4.dp),
|
) {
|
||||||
)
|
CoilImage(
|
||||||
|
data = "${ApiModule.LOBSTERS_URL}/${post.submitterUser.avatarUrl}",
|
||||||
|
fadeIn = true,
|
||||||
|
requestBuilder = {
|
||||||
|
transformations(CircleCropTransformation())
|
||||||
|
},
|
||||||
|
modifier = Modifier.width(30.dp).padding(4.dp).align(Alignment.CenterVertically),
|
||||||
|
)
|
||||||
|
Text(
|
||||||
|
text = "submitted by ${post.submitterUser.username}",
|
||||||
|
modifier = Modifier.padding(bottom = 4.dp).align(Alignment.CenterVertically),
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
|
accompanist_version = "0.3.0"
|
||||||
activity_version = "1.2.0-beta01"
|
activity_version = "1.2.0-beta01"
|
||||||
agp_version = "4.2.0-alpha13"
|
agp_version = "4.2.0-alpha13"
|
||||||
appcompat_version = "1.3.0-alpha02"
|
appcompat_version = "1.3.0-alpha02"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue