diff --git a/.github/workflows/build_about.yml b/.github/workflows/build_about.yml
index 28d1718..56a4c9b 100644
--- a/.github/workflows/build_about.yml
+++ b/.github/workflows/build_about.yml
@@ -11,6 +11,8 @@ on:
paths:
- about/**
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
diff --git a/.github/workflows/build_filepicker.yml b/.github/workflows/build_filepicker.yml
index afca31e..ae5f693 100644
--- a/.github/workflows/build_filepicker.yml
+++ b/.github/workflows/build_filepicker.yml
@@ -11,6 +11,8 @@ on:
paths:
- filepicker/**
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
diff --git a/.github/workflows/build_folderstree.yml b/.github/workflows/build_folderstree.yml
index 0a267d2..b68a0f4 100644
--- a/.github/workflows/build_folderstree.yml
+++ b/.github/workflows/build_folderstree.yml
@@ -11,6 +11,8 @@ on:
paths:
- folderstree/**
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
diff --git a/.github/workflows/build_sample.yml b/.github/workflows/build_sample.yml
index d4551dc..cee6ba6 100644
--- a/.github/workflows/build_sample.yml
+++ b/.github/workflows/build_sample.yml
@@ -11,6 +11,8 @@ on:
paths:
- sample/**
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
diff --git a/.github/workflows/build_scorewidget.yml b/.github/workflows/build_scorewidget.yml
index bdbc05f..563f2a7 100644
--- a/.github/workflows/build_scorewidget.yml
+++ b/.github/workflows/build_scorewidget.yml
@@ -10,6 +10,8 @@ on:
paths:
- scorewidget/**
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
diff --git a/.github/workflows/build_tagselector.yml b/.github/workflows/build_tagselector.yml
index c1aba88..b4da755 100644
--- a/.github/workflows/build_tagselector.yml
+++ b/.github/workflows/build_tagselector.yml
@@ -10,6 +10,8 @@ on:
paths:
- tagselector/**
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
diff --git a/.github/workflows/build_utils.yml b/.github/workflows/build_utils.yml
index 5b477bb..a76e660 100644
--- a/.github/workflows/build_utils.yml
+++ b/.github/workflows/build_utils.yml
@@ -10,6 +10,9 @@ on:
paths:
- utils/**
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
jobs:
build:
diff --git a/.github/workflows/release_about.yml b/.github/workflows/release_about.yml
index 2e4963e..37a3fea 100644
--- a/.github/workflows/release_about.yml
+++ b/.github/workflows/release_about.yml
@@ -5,6 +5,9 @@ on:
tags:
- 'about*'
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
jobs:
release:
runs-on: ubuntu-latest
@@ -23,6 +26,4 @@ jobs:
- name: Publish about to Github
uses: gradle/gradle-build-action@v2
with:
- arguments: about:publish
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ arguments: about:publish
\ No newline at end of file
diff --git a/.github/workflows/release_filepicker.yml b/.github/workflows/release_filepicker.yml
index 80140e6..92fddaa 100644
--- a/.github/workflows/release_filepicker.yml
+++ b/.github/workflows/release_filepicker.yml
@@ -5,6 +5,9 @@ on:
tags:
- 'filepicker*'
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
jobs:
release:
runs-on: ubuntu-latest
@@ -23,6 +26,4 @@ jobs:
- name: Publish filepicker to Github
uses: gradle/gradle-build-action@v2
with:
- arguments: filepicker:publish
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ arguments: filepicker:publish
\ No newline at end of file
diff --git a/.github/workflows/release_folderstree.yml b/.github/workflows/release_folderstree.yml
index 19138b9..0ed0657 100644
--- a/.github/workflows/release_folderstree.yml
+++ b/.github/workflows/release_folderstree.yml
@@ -5,6 +5,9 @@ on:
tags:
- 'folderstree*'
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
jobs:
release:
runs-on: ubuntu-latest
@@ -23,6 +26,4 @@ jobs:
- name: Publish components to Github
uses: gradle/gradle-build-action@v2
with:
- arguments: folderstree:publish
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ arguments: folderstree:publish
\ No newline at end of file
diff --git a/.github/workflows/release_scorewidget.yml b/.github/workflows/release_scorewidget.yml
index aaae9a9..9489dba 100644
--- a/.github/workflows/release_scorewidget.yml
+++ b/.github/workflows/release_scorewidget.yml
@@ -5,6 +5,9 @@ on:
tags:
- 'scorewidget*'
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
jobs:
release:
runs-on: ubuntu-latest
@@ -23,6 +26,4 @@ jobs:
- name: Publish components to Github
uses: gradle/gradle-build-action@v2
with:
- arguments: scorewidget:publish
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ arguments: scorewidget:publish
\ No newline at end of file
diff --git a/.github/workflows/release_tagselector.yml b/.github/workflows/release_tagselector.yml
index bf90705..3bd5500 100644
--- a/.github/workflows/release_tagselector.yml
+++ b/.github/workflows/release_tagselector.yml
@@ -5,6 +5,9 @@ on:
tags:
- 'tagselector*'
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
jobs:
release:
runs-on: ubuntu-latest
@@ -24,5 +27,3 @@ jobs:
uses: gradle/gradle-build-action@v2
with:
arguments: tagselector:publish
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/release_utils.yml b/.github/workflows/release_utils.yml
index 41435c3..fa4fe7d 100644
--- a/.github/workflows/release_utils.yml
+++ b/.github/workflows/release_utils.yml
@@ -5,6 +5,9 @@ on:
tags:
- 'utils*'
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
jobs:
release:
runs-on: ubuntu-latest
@@ -23,6 +26,4 @@ jobs:
- name: Publish components to Github
uses: gradle/gradle-build-action@v2
with:
- arguments: utils:publish
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ arguments: utils:publish
\ No newline at end of file
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 73d5a1a..c4090e4 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
@@ -1,12 +1,19 @@
+@file:OptIn(ExperimentalLayoutApi::class)
+
package dev.arkbuilders.components.about.presentation
import androidx.annotation.DrawableRes
import androidx.compose.foundation.BorderStroke
+import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.ExperimentalLayoutApi
+import androidx.compose.foundation.layout.FlowRow
import androidx.compose.foundation.layout.PaddingValues
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
@@ -97,7 +104,7 @@ fun ArkAbout(
)
Text(
modifier = Modifier.padding(top = 12.dp),
- text = "ARK Builders · Copyright ©2024",
+ text = stringResource(R.string.about_ark_builders_copyright),
color = ArkColor.TextTertiary
)
Row(
@@ -164,7 +171,10 @@ fun ArkAbout(
text = stringResource(R.string.about_we_greatly_appreciate_every_bit_of_support),
color = ArkColor.TextTertiary
)
- Row(modifier = Modifier.padding(top = 12.dp)) {
+ FlowRow(
+ modifier = Modifier.padding(top = 12.dp),
+ horizontalArrangement = Arrangement.spacedBy(12.dp),
+ ) {
DonateBtn(
modifier = Modifier,
icon = painterResource(R.drawable.btc),
@@ -173,14 +183,17 @@ fun ArkAbout(
btcDialogVisible = true
}
DonateBtn(
- modifier = Modifier.padding(start = 12.dp),
+ modifier = Modifier,
icon = painterResource(R.drawable.eth),
text = stringResource(R.string.about_donate_using_eth)
) {
ethDialogVisible = true
}
}
- Row(modifier = Modifier.padding(top = 12.dp)) {
+ FlowRow(
+ modifier = Modifier.padding(top = 12.dp),
+ horizontalArrangement = Arrangement.spacedBy(12.dp),
+ ) {
DonateBtn(
modifier = Modifier,
icon = painterResource(R.drawable.ic_about_patreon),
@@ -189,7 +202,7 @@ fun ArkAbout(
ctx.openLink(ctx.getString(R.string.about_ark_patreon_url))
}
DonateBtn(
- modifier = Modifier.padding(start = 12.dp),
+ modifier = Modifier,
icon = painterResource(R.drawable.ic_about_coffee),
text = stringResource(R.string.about_buy_as_a_coffee)
) {
@@ -201,7 +214,10 @@ fun ArkAbout(
thickness = 1.dp,
color = ArkColor.BorderSecondary
)
- Row(modifier = Modifier.padding(top = 12.dp, bottom = 50.dp)) {
+ FlowRow(
+ modifier = Modifier.padding(top = 12.dp, bottom = 50.dp),
+ horizontalArrangement = Arrangement.spacedBy(12.dp),
+ ) {
OutlinedButton(
modifier = Modifier,
onClick = { ctx.openLink(ctx.getString(R.string.ark_contribute_url)) },
@@ -221,7 +237,7 @@ fun ArkAbout(
)
}
OutlinedButton(
- modifier = Modifier.padding(start = 12.dp),
+ modifier = Modifier,
onClick = { },
border = BorderStroke(
width = 1.dp,
diff --git a/about/src/main/res/values-ru/strings.xml b/about/src/main/res/values-ru/strings.xml
new file mode 100644
index 0000000..2d82395
--- /dev/null
+++ b/about/src/main/res/values-ru/strings.xml
@@ -0,0 +1,23 @@
+
+
+ О приложении
+ Политика конфиденциальности
+ Версия %1$s
+ Копировать
+ Упс! Что-то пошло не так
+ Скачать QR-код
+ Адрес кошелька скопирован!
+ "Отправьте нам ID транзакции по электронной почте "
+ " чтобы получить премиум-поддержку. Мы сделаем всё возможное, чтобы помочь вам с любыми проблемами, с которыми вы столкнётесь при использовании нашего программного обеспечения."
+ Пожертвовать Ethereum
+ Пожертвовать Bitcoin
+ Открыть GitHub Issues
+ Посмотреть открытые премии
+ Купить нам кофе
+ Подписаться на Patreon
+ Перевести ETH
+ Перевести 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 289883c..8913d83 100644
--- a/about/src/main/res/values/strings.xml
+++ b/about/src/main/res/values/strings.xml
@@ -5,18 +5,19 @@
Version %1$s
Copy
Oops! Something went wrong
+ © 2025 ARK Builders
Download QR Image
Wallet copied!
- support@ark-builders.dev
+ support@ark-builders.dev
"Send us the transaction id by email "
" to receive premium support. We’ll make our best to help you with any issue you encounter while using our Software."
- bc1qx8n9r4uwpgrhgnamt2uew53lmrxd8tuevp7lv5
- 0x9765C5aC38175BFbd2dC7a840b63e50762B80a1b
+ bc1qx8n9r4uwpgrhgnamt2uew53lmrxd8tuevp7lv5
+ 0x9765C5aC38175BFbd2dC7a840b63e50762B80a1b
Donate using Ethereum
Donate using Bitcoin
https://www.ark-builders.dev/
https://t.me/ark_builders
- https://www.ark-builders.dev/contribute/?tab=goodFirstIssue
+ https://www.ark-builders.dev/contribute/?category=good+first+issue
https://buymeacoffee.com/arkbuilders
https://www.patreon.com/ARKBuilders
https://discord.gg/tPUJTxud
@@ -31,4 +32,4 @@
Website
Telegram
Discord
-
\ No newline at end of file
+
diff --git a/settings.gradle.kts b/settings.gradle.kts
index b7b6b93..955230b 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,4 +1,5 @@
import java.net.URI
+import java.util.Properties
pluginManagement {
repositories {
@@ -16,11 +17,21 @@ dependencyResolutionManagement {
url = URI("https://jitpack.io")
}
maven {
+ // Important note:
+ // To authenticate with GitHub Packages, you need to generate a fine-grained personal access token
+ // The token needs access only to [Public repositories]
+ // Add it as gpr.token=$token in local.properties file in the root of the project
+ // For more details, refer to the documentation:
+ // https://github.com/settings/personal-access-tokens/new
+ // https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry#authenticating-with-a-personal-access-token
+
+ val localProps = getLocalProps()
+
name = "GitHubPackages"
url = URI("https://maven.pkg.github.com/ARK-Builders/arklib-android")
credentials {
username = "token"
- password = "\u0037\u0066\u0066\u0036\u0030\u0039\u0033\u0066\u0032\u0037\u0033\u0036\u0033\u0037\u0064\u0036\u0037\u0066\u0038\u0030\u0034\u0039\u0062\u0030\u0039\u0038\u0039\u0038\u0066\u0034\u0066\u0034\u0031\u0064\u0062\u0033\u0064\u0033\u0038\u0065"
+ password = localProps.getProperty("gpr.token") ?: System.getenv("GITHUB_TOKEN")
}
}
}
@@ -32,6 +43,19 @@ dependencyResolutionManagement {
}
}
+fun getLocalProps(): Properties {
+ val props = Properties()
+ val localPropsFile = File(rootDir, "local.properties")
+
+ if (localPropsFile.exists()) {
+ localPropsFile.inputStream().use { stream ->
+ props.load(stream)
+ }
+ }
+
+ return props
+}
+
rootProject.name = "Ark Components"
include(":scorewidget")
include(":tagselector")