diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/core/ui/LinkIcon.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/core/ui/LinkIcon.kt
new file mode 100644
index 000000000..79e6f83fa
--- /dev/null
+++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/core/ui/LinkIcon.kt
@@ -0,0 +1,33 @@
+package app.omnivore.omnivore.core.ui
+
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.platform.LocalUriHandler
+import androidx.compose.ui.unit.dp
+
+@Composable
+fun LinkIcon(
+ label: String,
+ icon: ImageVector,
+ url: String,
+ modifier: Modifier = Modifier,
+) {
+ val uriHandler = LocalUriHandler.current
+ IconButton(
+ modifier = modifier.padding(4.dp),
+ onClick = { uriHandler.openUri(url) },
+ ) {
+ Icon(
+ imageVector = icon,
+ contentDescription = label,
+ modifier = Modifier.size(24.dp),
+ tint = MaterialTheme.colorScheme.onSurface
+ )
+ }
+}
diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/LogoHeader.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/LogoHeader.kt
index e32491e03..9fc95df41 100644
--- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/LogoHeader.kt
+++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/LogoHeader.kt
@@ -25,8 +25,8 @@ fun LogoHeader() {
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurface,
modifier = Modifier
- .padding(vertical = 56.dp)
- .size(64.dp),
+ .padding(vertical = 32.dp)
+ .size(128.dp),
)
HorizontalDivider()
diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/about/AboutScreen.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/about/AboutScreen.kt
index 9e0b1220c..984c62301 100644
--- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/about/AboutScreen.kt
+++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/settings/about/AboutScreen.kt
@@ -1,8 +1,13 @@
package app.omnivore.omnivore.feature.settings.about
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.ArrowBack
+import androidx.compose.material.icons.outlined.Public
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
@@ -12,11 +17,16 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.res.vectorResource
+import androidx.compose.ui.unit.dp
import androidx.navigation.NavHostController
import app.omnivore.omnivore.BuildConfig
import app.omnivore.omnivore.R
+import app.omnivore.omnivore.core.ui.LinkIcon
import app.omnivore.omnivore.feature.settings.LogoHeader
import app.omnivore.omnivore.feature.settings.RELEASE_URL
import app.omnivore.omnivore.feature.settings.SettingRow
@@ -95,6 +105,37 @@ internal fun AboutScreen(
navController.navigate(Routes.TermsAndConditions.route)
}
}
+
+ item {
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(vertical = 8.dp),
+ horizontalArrangement = Arrangement.Center,
+ ) {
+ LinkIcon(
+ label = stringResource(R.string.website),
+ icon = Icons.Outlined.Public,
+ url = "https://omnivore.app",
+ )
+ LinkIcon(
+ label = "Discord",
+ icon = ImageVector.vectorResource(R.drawable.ic_discord),
+ url = "https://discord.gg/h2z5rppzz9",
+ )
+ LinkIcon(
+ label = "X",
+ icon = ImageVector.vectorResource(R.drawable.ic_x),
+ url = "https://x.com/omnivoreapp",
+ )
+
+ LinkIcon(
+ label = "GitHub",
+ icon = ImageVector.vectorResource(R.drawable.ic_github),
+ url = "https://github.com/omnivore-app",
+ )
+ }
+ }
}
}
}
diff --git a/android/Omnivore/app/src/main/res/drawable/ic_discord.xml b/android/Omnivore/app/src/main/res/drawable/ic_discord.xml
new file mode 100644
index 000000000..bdec4191f
--- /dev/null
+++ b/android/Omnivore/app/src/main/res/drawable/ic_discord.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/android/Omnivore/app/src/main/res/drawable/ic_github.xml b/android/Omnivore/app/src/main/res/drawable/ic_github.xml
new file mode 100644
index 000000000..34241eaa3
--- /dev/null
+++ b/android/Omnivore/app/src/main/res/drawable/ic_github.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/android/Omnivore/app/src/main/res/drawable/ic_omnivore.xml b/android/Omnivore/app/src/main/res/drawable/ic_omnivore.xml
index 8608e8300..ecaad383b 100644
--- a/android/Omnivore/app/src/main/res/drawable/ic_omnivore.xml
+++ b/android/Omnivore/app/src/main/res/drawable/ic_omnivore.xml
@@ -1,7 +1,7 @@
+
+
diff --git a/android/Omnivore/app/src/main/res/values/strings.xml b/android/Omnivore/app/src/main/res/values/strings.xml
index d737b53fd..451b66fa4 100644
--- a/android/Omnivore/app/src/main/res/values/strings.xml
+++ b/android/Omnivore/app/src/main/res/values/strings.xml
@@ -216,6 +216,7 @@
About
Version
What\'s new
+ Website
Inbox