diff --git a/about/src/main/java/dev/arkbuilders/components/about/presentation/ArkAbout.kt b/about/src/main/java/dev/arkbuilders/components/about/presentation/ArkAbout.kt index c4090e4..45a64a0 100644 --- a/about/src/main/java/dev/arkbuilders/components/about/presentation/ArkAbout.kt +++ b/about/src/main/java/dev/arkbuilders/components/about/presentation/ArkAbout.kt @@ -4,7 +4,9 @@ package dev.arkbuilders.components.about.presentation import androidx.annotation.DrawableRes import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.FlowRow @@ -13,7 +15,6 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll @@ -29,6 +30,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -84,12 +86,19 @@ fun ArkAbout( modifier = Modifier.padding(horizontal = 16.dp), horizontalAlignment = Alignment.CenterHorizontally, ) { - Icon( - modifier = Modifier.padding(top = 32.dp), - painter = painterResource(id = appLogoResId), - contentDescription = "", - tint = Color.Unspecified - ) + Box( + modifier = Modifier + .padding(top = 32.dp) + .fillMaxWidth(), + contentAlignment = Alignment.Center + ) { + Image( + modifier = Modifier.fillMaxWidth(0.25f), + painter = painterResource(id = appLogoResId), + contentDescription = appName, + contentScale = ContentScale.FillWidth, + ) + } Text( modifier = Modifier.padding(top = 20.dp), text = appName, @@ -107,29 +116,7 @@ fun ArkAbout( text = stringResource(R.string.about_ark_builders_copyright), color = ArkColor.TextTertiary ) - Row( - modifier = Modifier.padding(top = 8.dp), - verticalAlignment = Alignment.CenterVertically - ) { - SocialLink( - painterResource(R.drawable.ic_about_site), - text = stringResource(R.string.website) - ) { - ctx.openLink(ctx.getString(R.string.ark_website_url)) - } - SocialLink( - painterResource(R.drawable.ic_about_telegram), - text = stringResource(R.string.telegram) - ) { - ctx.openLink(ctx.getString(R.string.ark_tg_url)) - } - SocialLink( - painterResource(R.drawable.ic_about_discord), - text = stringResource(R.string.discord) - ) { - ctx.openLink(ctx.getString(R.string.ark_discord_url)) - } - } + SocialLinks(modifier = Modifier.padding(top = 8.dp)) OutlinedButton( modifier = Modifier .padding(top = 28.dp) @@ -261,6 +248,65 @@ fun ArkAbout( } } +@Composable +private fun SocialLinks(modifier: Modifier) { + val ctx = LocalContext.current + FlowRow( + modifier = modifier, + verticalArrangement = Arrangement.spacedBy(8.dp), + horizontalArrangement = Arrangement.Center, + ) { + SocialLink( + painterResource(R.drawable.ic_about_site), + text = stringResource(R.string.ark_website) + ) { + ctx.openLink(ctx.getString(R.string.ark_website_url)) + } + SocialLink( + painterResource(R.drawable.ic_about_telegram), + text = stringResource(R.string.ark_telegram) + ) { + ctx.openLink(ctx.getString(R.string.ark_tg_url)) + } + SocialLink( + painterResource(R.drawable.ic_about_discord), + text = stringResource(R.string.ark_discord) + ) { + ctx.openLink(ctx.getString(R.string.ark_discord_url)) + } + SocialLink( + painterResource(R.drawable.ic_about_bluesky), + text = stringResource(R.string.ark_bluesky) + ) { + ctx.openLink(ctx.getString(R.string.ark_bluesky_url)) + } + SocialLink( + painterResource(R.drawable.ic_about_instagram), + text = stringResource(R.string.ark_instagram) + ) { + ctx.openLink(ctx.getString(R.string.ark_instagram_url)) + } + SocialLink( + painterResource(R.drawable.ic_about_x), + text = stringResource(R.string.ark_x) + ) { + ctx.openLink(ctx.getString(R.string.ark_x_url)) + } + SocialLink( + painterResource(R.drawable.ic_about_github), + text = stringResource(R.string.ark_github) + ) { + ctx.openLink(ctx.getString(R.string.ark_github_url)) + } + SocialLink( + painterResource(R.drawable.ic_about_medium), + text = stringResource(R.string.ark_medium) + ) { + ctx.openLink(ctx.getString(R.string.ark_medium_url)) + } + } +} + @Preview(showBackground = true) @Composable private fun PreviewArkAbout() { diff --git a/about/src/main/java/dev/arkbuilders/components/about/presentation/ui/SocialLink.kt b/about/src/main/java/dev/arkbuilders/components/about/presentation/ui/SocialLink.kt index 1ec98e9..8225c83 100644 --- a/about/src/main/java/dev/arkbuilders/components/about/presentation/ui/SocialLink.kt +++ b/about/src/main/java/dev/arkbuilders/components/about/presentation/ui/SocialLink.kt @@ -1,15 +1,20 @@ package dev.arkbuilders.components.about.presentation.ui +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Icon +import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.res.painterResource @@ -20,14 +25,13 @@ import dev.arkbuilders.components.about.presentation.theme.ArkColor @Composable internal fun SocialLink(painter: Painter, text: String, onClick: () -> Unit) { - TextButton( - modifier = Modifier.defaultMinSize( - minWidth = 1.dp, - minHeight = 1.dp - ), - contentPadding = PaddingValues(horizontal = 4.dp, vertical = 4.dp), - onClick = { onClick() }, - shape = RoundedCornerShape(4.dp) + Row( + modifier = Modifier + .padding(horizontal = 2.dp) + .clip(RoundedCornerShape(4.dp)) + .clickable { onClick() } + .padding(horizontal = 3.dp, vertical = 4.dp), + verticalAlignment = Alignment.CenterVertically ) { Icon( modifier = Modifier.size(20.dp), diff --git a/about/src/main/res/drawable/ic_about_bluesky.xml b/about/src/main/res/drawable/ic_about_bluesky.xml new file mode 100644 index 0000000..a03b1f5 --- /dev/null +++ b/about/src/main/res/drawable/ic_about_bluesky.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/about/src/main/res/drawable/ic_about_github.xml b/about/src/main/res/drawable/ic_about_github.xml new file mode 100644 index 0000000..d0acae2 --- /dev/null +++ b/about/src/main/res/drawable/ic_about_github.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/about/src/main/res/drawable/ic_about_instagram.xml b/about/src/main/res/drawable/ic_about_instagram.xml new file mode 100644 index 0000000..afe0571 --- /dev/null +++ b/about/src/main/res/drawable/ic_about_instagram.xml @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/about/src/main/res/drawable/ic_about_medium.xml b/about/src/main/res/drawable/ic_about_medium.xml new file mode 100644 index 0000000..e13654b --- /dev/null +++ b/about/src/main/res/drawable/ic_about_medium.xml @@ -0,0 +1,12 @@ + + + + diff --git a/about/src/main/res/drawable/ic_about_x.xml b/about/src/main/res/drawable/ic_about_x.xml new file mode 100644 index 0000000..98371b7 --- /dev/null +++ b/about/src/main/res/drawable/ic_about_x.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/about/src/main/res/values-ru/strings.xml b/about/src/main/res/values-ru/strings.xml index 2d82395..f054979 100644 --- a/about/src/main/res/values-ru/strings.xml +++ b/about/src/main/res/values-ru/strings.xml @@ -19,5 +19,5 @@ Перевести BTC Мы очень ценим любую вашу поддержку! Вы можете поддержать нас - Сайт + Сайт \ No newline at end of file diff --git a/about/src/main/res/values/strings.xml b/about/src/main/res/values/strings.xml index 8913d83..a09c048 100644 --- a/about/src/main/res/values/strings.xml +++ b/about/src/main/res/values/strings.xml @@ -21,6 +21,11 @@ https://buymeacoffee.com/arkbuilders https://www.patreon.com/ARKBuilders https://discord.gg/tPUJTxud + https://bsky.app/profile/ark-builders.dev + https://www.instagram.com/ark.builders.dev/ + https://x.com/ARKBuilders_DEV + https://github.com/ARK-Builders + https://ark-builders.medium.com/ Discover issues to work on See open bounties Buy us a coffee @@ -29,7 +34,12 @@ Donate using BTC We greatly appreciate every bit of support! Support us - Website - Telegram - Discord + Website + Telegram + Discord + Bluesky + Instagram + X + Github + Medium