Skip to content

Commit 27debc7

Browse files
authored
Add GitHub link to About page (#374)
1 parent 39cc8ab commit 27debc7

File tree

7 files changed

+28
-3
lines changed

7 files changed

+28
-3
lines changed

shared/di/src/commonMain/kotlin/fr/androidmakers/di/DomainModule.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import fr.androidmakers.domain.interactor.MergeBookmarksUseCase
1010
import fr.androidmakers.domain.interactor.OpenBlueskyAccountUseCase
1111
import fr.androidmakers.domain.interactor.OpenCocUseCase
1212
import fr.androidmakers.domain.interactor.OpenFaqUseCase
13+
import fr.androidmakers.domain.interactor.OpenGithubRepoUseCase
1314
import fr.androidmakers.domain.interactor.OpenPartnerLinkUseCase
1415
import fr.androidmakers.domain.interactor.OpenXAccountUseCase
1516
import fr.androidmakers.domain.interactor.OpenXHashtagUseCase
@@ -32,6 +33,7 @@ val domainModule = module {
3233
factoryOf(::OpenXHashtagUseCase)
3334
factoryOf(::OpenBlueskyAccountUseCase)
3435
factoryOf(::OpenXAccountUseCase)
36+
factoryOf(::OpenGithubRepoUseCase)
3537
factoryOf(::SetSessionBookmarkUseCase)
3638
factoryOf(::GetPartnersUseCase)
3739
factoryOf(::GetFavoriteSessionsUseCase)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
package fr.androidmakers.domain.interactor
3+
4+
import fr.androidmakers.domain.utils.Constants
5+
import fr.androidmakers.domain.utils.UrlOpener
6+
7+
class OpenGithubRepoUseCase() {
8+
operator fun invoke(urlOpener: UrlOpener) {
9+
urlOpener.openUrl(Constants.Urls.githubRepo)
10+
}
11+
}

shared/domain/src/commonMain/kotlin/fr/androidmakers/domain/utils/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ object Constants {
1010
const val xHashtagApp = "twitter://search?query=AMxDC25"
1111
const val xAccountWeb = "https://x.com/AndroidMakersFR"
1212
const val xAccountApp = "twitter://user?screen_name=AndroidMakersFR"
13+
const val githubRepo = "https://github.com/paug/AndroidMakersApp"
1314
}
1415
}

shared/ui/src/commonMain/composeResources/values-fr/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
<string name="faq">FAQ</string>
3737
<string name="code_of_conduct">Code de conduite</string>
38+
<string name="github_repo">Dépôt GitHub</string>
3839
<string name="social">Social</string>
3940

4041
<string name="beginner">Débutant</string>

shared/ui/src/commonMain/composeResources/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737

3838
<string name="faq">FAQ</string>
3939
<string name="code_of_conduct">Code of conduct</string>
40+
<string name="github_repo">GitHub repository</string>
4041
<string name="social">Social</string>
4142

4243
<string name="beginner">Beginner</string>

shared/ui/src/commonMain/kotlin/com/androidmakers/ui/about/AboutScreen.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import fr.paug.androidmakers.ui.Res
3333
import fr.paug.androidmakers.ui.about_android_makers
3434
import fr.paug.androidmakers.ui.code_of_conduct
3535
import fr.paug.androidmakers.ui.faq
36+
import fr.paug.androidmakers.ui.github_repo
3637
import fr.paug.androidmakers.ui.ic_network_bluesky
3738
import fr.paug.androidmakers.ui.ic_network_x
3839
import fr.paug.androidmakers.ui.ic_network_youtube
@@ -60,7 +61,8 @@ fun AboutScreen(
6061

6162
IntroCard(
6263
onFaqClick = { viewModel.openFaq(urlOpener) },
63-
onCocClick = { viewModel.openCoc(urlOpener) }
64+
onCocClick = { viewModel.openCoc(urlOpener) },
65+
onGithubRepoClick = { viewModel.openGithubRepo(urlOpener) }
6466
)
6567

6668
SocialCard(
@@ -85,7 +87,8 @@ fun AboutScreen(
8587
@Composable
8688
private fun IntroCard(
8789
onFaqClick: () -> Unit,
88-
onCocClick: () -> Unit
90+
onCocClick: () -> Unit,
91+
onGithubRepoClick: () -> Unit
8992
) {
9093
Column(Modifier.padding(vertical = 8.dp)) {
9194
Image(
@@ -112,6 +115,10 @@ private fun IntroCard(
112115
text = stringResource(Res.string.code_of_conduct),
113116
onClick = onCocClick
114117
)
118+
ClickableText(
119+
text = stringResource(Res.string.github_repo),
120+
onClick = onGithubRepoClick
121+
)
115122
}
116123
}
117124
}

shared/ui/src/commonMain/kotlin/com/androidmakers/ui/about/AboutViewModel.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModel
44
import fr.androidmakers.domain.interactor.OpenBlueskyAccountUseCase
55
import fr.androidmakers.domain.interactor.OpenCocUseCase
66
import fr.androidmakers.domain.interactor.OpenFaqUseCase
7+
import fr.androidmakers.domain.interactor.OpenGithubRepoUseCase
78
import fr.androidmakers.domain.interactor.OpenXAccountUseCase
89
import fr.androidmakers.domain.interactor.OpenXHashtagUseCase
910
import fr.androidmakers.domain.interactor.OpenYoutubeUseCase
@@ -14,5 +15,6 @@ class AboutViewModel(
1415
val openBlueSkyAccount: OpenBlueskyAccountUseCase,
1516
val openYoutube: OpenYoutubeUseCase,
1617
val openCoc: OpenCocUseCase,
17-
val openFaq: OpenFaqUseCase
18+
val openFaq: OpenFaqUseCase,
19+
val openGithubRepo: OpenGithubRepoUseCase
1820
): ViewModel()

0 commit comments

Comments
 (0)