diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt index 64e55a9c..1d15b650 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt @@ -4,11 +4,16 @@ import android.os.Bundle import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.layout.padding +import androidx.compose.material.Scaffold +import androidx.compose.material.rememberScaffoldState +import androidx.compose.ui.Modifier import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.compose.collectAsLazyPagingItems import dagger.hilt.android.AndroidEntryPoint import dev.msfjarvis.claw.android.paging.LobstersPagingSource +import dev.msfjarvis.claw.android.ui.ClawAppBar import dev.msfjarvis.claw.android.ui.NetworkPosts import dev.msfjarvis.claw.api.LobstersApi import dev.msfjarvis.claw.common.theme.LobstersTheme @@ -18,18 +23,27 @@ import javax.inject.Inject @AndroidEntryPoint class MainActivity : AppCompatActivity() { @Inject lateinit var api: LobstersApi + @Inject lateinit var urlLauncher: UrlLauncher override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val pager = Pager(PagingConfig(20)) { LobstersPagingSource(api::getHottestPosts) } setContent { + val scaffoldState = rememberScaffoldState() LobstersTheme(darkTheme = isSystemInDarkTheme()) { val items = pager.flow.collectAsLazyPagingItems() - NetworkPosts( - items = items, - urlLauncher = urlLauncher, - ) + Scaffold( + scaffoldState = scaffoldState, + topBar = { ClawAppBar() }, + modifier = Modifier, + ) { padding -> + NetworkPosts( + items = items, + urlLauncher = urlLauncher, + modifier = Modifier.padding(padding), + ) + } } } } diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/TopAppBar.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/TopAppBar.kt new file mode 100644 index 00000000..5349e289 --- /dev/null +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/TopAppBar.kt @@ -0,0 +1,27 @@ +package dev.msfjarvis.claw.android.ui + +import androidx.compose.foundation.layout.padding +import androidx.compose.material.Text +import androidx.compose.material.TopAppBar +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import dev.msfjarvis.claw.android.R + +@Composable +fun ClawAppBar( + modifier: Modifier = Modifier, +) { + TopAppBar( + title = { + Text( + text = stringResource(R.string.app_name), + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(horizontal = 16.dp), + ) + }, + modifier = Modifier.then(modifier), + ) +}