Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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,
Expand All @@ -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)
Expand Down Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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),
Expand Down
13 changes: 13 additions & 0 deletions about/src/main/res/drawable/ic_about_bluesky.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<group>
<clip-path
android:pathData="M1,2h18v15.9h-18z"/>
<path
android:pathData="M5.072,3.321C7.066,4.819 9.212,7.855 10,9.485C10.788,7.856 12.933,4.819 14.928,3.321C16.368,2.241 18.7,1.405 18.7,4.065C18.7,4.596 18.395,8.529 18.217,9.167C17.596,11.387 15.332,11.953 13.319,11.61C16.838,12.209 17.733,14.193 15.8,16.177C12.128,19.944 10.523,15.231 10.111,14.024C10.036,13.802 10,13.699 10,13.787C9.999,13.699 9.964,13.802 9.889,14.024C9.477,15.231 7.872,19.945 4.2,16.177C2.266,14.193 3.162,12.209 6.681,11.61C4.667,11.953 2.404,11.387 1.783,9.167C1.604,8.529 1.3,4.596 1.3,4.065C1.3,1.405 3.632,2.241 5.071,3.321H5.072Z"
android:fillColor="#98A2B3"/>
</group>
</vector>
14 changes: 14 additions & 0 deletions about/src/main/res/drawable/ic_about_github.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<group>
<clip-path
android:pathData="M0,0h20v20h-20z"/>
<path
android:pathData="M10,0C4.477,0 0,4.484 0,10.017C0,14.442 2.865,18.197 6.839,19.521C7.339,19.613 7.521,19.304 7.521,19.038C7.521,18.801 7.513,18.17 7.508,17.335C4.726,17.94 4.139,15.992 4.139,15.992C3.685,14.834 3.029,14.526 3.029,14.526C2.121,13.906 3.098,13.918 3.098,13.918C4.101,13.988 4.629,14.95 4.629,14.95C5.521,16.48 6.97,16.038 7.539,15.782C7.631,15.135 7.889,14.694 8.175,14.444C5.955,14.191 3.62,13.331 3.62,9.493C3.62,8.4 4.01,7.505 4.649,6.805C4.546,6.552 4.203,5.533 4.747,4.155C4.747,4.155 5.587,3.885 7.497,5.181C8.313,4.959 9.154,4.845 10,4.844C10.85,4.848 11.705,4.959 12.504,5.181C14.413,3.885 15.251,4.154 15.251,4.154C15.797,5.533 15.453,6.552 15.351,6.805C15.991,7.505 16.379,8.4 16.379,9.493C16.379,13.341 14.04,14.188 11.813,14.436C12.172,14.745 12.491,15.356 12.491,16.291C12.491,17.629 12.479,18.71 12.479,19.038C12.479,19.306 12.659,19.618 13.167,19.52C15.158,18.852 16.889,17.575 18.115,15.87C19.342,14.165 20.001,12.117 20,10.017C20,4.484 15.522,0 10,0Z"
android:fillColor="#98A2B3"
android:fillType="evenOdd"/>
</group>
</vector>
19 changes: 19 additions & 0 deletions about/src/main/res/drawable/ic_about_instagram.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<group>
<clip-path
android:pathData="M0,0h20v20h-20z"/>
<path
android:pathData="M10,1.801C12.672,1.801 12.988,1.813 14.039,1.859C15.016,1.902 15.543,2.066 15.894,2.203C16.359,2.383 16.695,2.602 17.043,2.949C17.395,3.301 17.609,3.633 17.789,4.098C17.926,4.449 18.09,4.98 18.133,5.953C18.18,7.008 18.191,7.324 18.191,9.992C18.191,12.664 18.18,12.981 18.133,14.031C18.09,15.008 17.926,15.535 17.789,15.887C17.609,16.352 17.391,16.688 17.043,17.035C16.691,17.387 16.359,17.602 15.894,17.781C15.543,17.918 15.012,18.082 14.039,18.125C12.984,18.172 12.668,18.184 10,18.184C7.328,18.184 7.012,18.172 5.961,18.125C4.984,18.082 4.457,17.918 4.105,17.781C3.641,17.602 3.305,17.383 2.957,17.035C2.605,16.684 2.391,16.352 2.211,15.887C2.074,15.535 1.91,15.004 1.867,14.031C1.82,12.977 1.809,12.66 1.809,9.992C1.809,7.32 1.82,7.004 1.867,5.953C1.91,4.977 2.074,4.449 2.211,4.098C2.391,3.633 2.609,3.297 2.957,2.949C3.309,2.598 3.641,2.383 4.105,2.203C4.457,2.066 4.988,1.902 5.961,1.859C7.012,1.813 7.328,1.801 10,1.801ZM10,0C7.285,0 6.945,0.012 5.879,0.059C4.816,0.105 4.086,0.277 3.453,0.523C2.793,0.781 2.234,1.121 1.68,1.68C1.121,2.234 0.781,2.793 0.523,3.449C0.277,4.086 0.105,4.813 0.059,5.875C0.012,6.945 0,7.285 0,10C0,12.715 0.012,13.055 0.059,14.121C0.105,15.184 0.277,15.914 0.523,16.547C0.781,17.207 1.121,17.766 1.68,18.32C2.234,18.875 2.793,19.219 3.449,19.473C4.086,19.719 4.813,19.891 5.875,19.938C6.941,19.984 7.281,19.996 9.996,19.996C12.711,19.996 13.051,19.984 14.117,19.938C15.18,19.891 15.91,19.719 16.543,19.473C17.199,19.219 17.758,18.875 18.313,18.32C18.867,17.766 19.211,17.207 19.465,16.551C19.711,15.914 19.883,15.188 19.93,14.125C19.977,13.059 19.988,12.719 19.988,10.004C19.988,7.289 19.977,6.949 19.93,5.883C19.883,4.82 19.711,4.09 19.465,3.457C19.219,2.793 18.879,2.234 18.32,1.68C17.766,1.125 17.207,0.781 16.551,0.527C15.914,0.281 15.188,0.109 14.125,0.063C13.055,0.012 12.715,0 10,0Z"
android:fillColor="#98A2B3"/>
<path
android:pathData="M10,4.863C7.164,4.863 4.863,7.164 4.863,10C4.863,12.836 7.164,15.137 10,15.137C12.836,15.137 15.137,12.836 15.137,10C15.137,7.164 12.836,4.863 10,4.863ZM10,13.332C8.16,13.332 6.668,11.84 6.668,10C6.668,8.16 8.16,6.668 10,6.668C11.84,6.668 13.332,8.16 13.332,10C13.332,11.84 11.84,13.332 10,13.332Z"
android:fillColor="#98A2B3"/>
<path
android:pathData="M16.539,4.66C16.539,5.324 16,5.859 15.34,5.859C14.676,5.859 14.141,5.32 14.141,4.66C14.141,3.996 14.68,3.461 15.34,3.461C16,3.461 16.539,4 16.539,4.66Z"
android:fillColor="#98A2B3"/>
</group>
</vector>
12 changes: 12 additions & 0 deletions about/src/main/res/drawable/ic_about_medium.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M6.308,14.647C7.539,14.647 8.72,14.158 9.591,13.288C10.461,12.417 10.95,11.236 10.95,10.005C10.95,8.774 10.461,7.593 9.591,6.723C8.72,5.852 7.539,5.363 6.308,5.363C5.077,5.363 3.896,5.852 3.026,6.723C2.155,7.593 1.666,8.774 1.666,10.005C1.666,11.236 2.155,12.417 3.026,13.288C3.896,14.158 5.077,14.647 6.308,14.647ZM13.761,14.287C15.021,14.287 16.043,12.37 16.043,10.005C16.043,7.64 15.021,5.724 13.761,5.724C12.501,5.724 11.48,7.641 11.48,10.005C11.48,12.37 12.501,14.287 13.761,14.287ZM17.435,13.837C17.926,13.837 18.324,12.121 18.324,10.005C18.324,7.889 17.926,6.173 17.435,6.173C16.943,6.173 16.545,7.889 16.545,10.005C16.545,12.122 16.943,13.837 17.435,13.837Z"
android:fillColor="#000000"/>
<path
android:pathData="M6.308,14.647C7.539,14.647 8.72,14.158 9.591,13.288C10.461,12.417 10.95,11.236 10.95,10.005C10.95,8.774 10.461,7.593 9.591,6.723C8.72,5.852 7.539,5.363 6.308,5.363C5.077,5.363 3.896,5.852 3.026,6.723C2.155,7.593 1.666,8.774 1.666,10.005C1.666,11.236 2.155,12.417 3.026,13.288C3.896,14.158 5.077,14.647 6.308,14.647ZM13.761,14.287C15.021,14.287 16.043,12.37 16.043,10.005C16.043,7.64 15.021,5.724 13.761,5.724C12.501,5.724 11.48,7.641 11.48,10.005C11.48,12.37 12.501,14.287 13.761,14.287ZM17.435,13.837C17.926,13.837 18.324,12.121 18.324,10.005C18.324,7.889 17.926,6.173 17.435,6.173C16.943,6.173 16.545,7.889 16.545,10.005C16.545,12.122 16.943,13.837 17.435,13.837Z"
android:fillColor="#98A2B3"/>
</vector>
14 changes: 14 additions & 0 deletions about/src/main/res/drawable/ic_about_x.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<group>
<clip-path
android:pathData="M0,0h20v20h-20z"/>
<path
android:pathData="M13.288,19.167L8.663,12.576L2.874,19.167H0.425L7.577,11.027L0.425,0.834H6.713L11.072,7.047L16.533,0.834H18.982L12.162,8.598L19.576,19.167H13.288ZM16.015,17.309H14.366L3.932,2.692H5.581L9.76,8.545L10.483,9.561L16.015,17.309Z"
android:fillColor="#98A2B3"
android:fillType="evenOdd"/>
</group>
</vector>
2 changes: 1 addition & 1 deletion about/src/main/res/values-ru/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@
<string name="about_donate_using_btc">Перевести BTC</string>
<string name="about_we_greatly_appreciate_every_bit_of_support">Мы очень ценим любую вашу поддержку!</string>
<string name="about_support_us">Вы можете поддержать нас</string>
<string name="website">Сайт</string>
<string name="ark_website">Сайт</string>
</resources>
16 changes: 13 additions & 3 deletions about/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@
<string name="about_ark_buy_coffee_url" translatable="false">https://buymeacoffee.com/arkbuilders</string>
<string name="about_ark_patreon_url" translatable="false">https://www.patreon.com/ARKBuilders</string>
<string name="ark_discord_url" translatable="false">https://discord.gg/tPUJTxud</string>
<string name="ark_bluesky_url" translatable="false">https://bsky.app/profile/ark-builders.dev</string>
<string name="ark_instagram_url" translatable="false">https://www.instagram.com/ark.builders.dev/</string>
<string name="ark_x_url" translatable="false">https://x.com/ARKBuilders_DEV</string>
<string name="ark_github_url" translatable="false">https://github.com/ARK-Builders</string>
<string name="ark_medium_url" translatable="false">https://ark-builders.medium.com/</string>
<string name="about_discover_issues_to_work_on">Discover issues to work on</string>
<string name="about_see_open_bounties">See open bounties</string>
<string name="about_buy_as_a_coffee">Buy us a coffee</string>
Expand All @@ -29,7 +34,12 @@
<string name="about_donate_using_btc">Donate using BTC</string>
<string name="about_we_greatly_appreciate_every_bit_of_support">We greatly appreciate every bit of support!</string>
<string name="about_support_us">Support us</string>
<string name="website">Website</string>
<string name="telegram" translatable="false">Telegram</string>
<string name="discord" translatable="false">Discord</string>
<string name="ark_website">Website</string>
<string name="ark_telegram" translatable="false">Telegram</string>
<string name="ark_discord" translatable="false">Discord</string>
<string name="ark_bluesky" translatable="false">Bluesky</string>
<string name="ark_instagram" translatable="false">Instagram</string>
<string name="ark_x" translatable="false">X</string>
<string name="ark_github" translatable="false">Github</string>
<string name="ark_medium" translatable="false">Medium</string>
</resources>