diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt
index 65abc778..475c5f22 100644
--- a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt
+++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt
@@ -54,6 +54,12 @@ fun LobstersApp() {
}
Scaffold(
+ topBar = {
+ LobstersTopAppBar(
+ currentDestination,
+ viewModel::toggleSortOrder,
+ )
+ },
bottomBar = {
LobstersBottomNav(
currentDestination,
diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersTopAppBar.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersTopAppBar.kt
new file mode 100644
index 00000000..8bc2bacf
--- /dev/null
+++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersTopAppBar.kt
@@ -0,0 +1,44 @@
+package dev.msfjarvis.lobsters.ui.main
+
+import androidx.compose.animation.ExperimentalAnimationApi
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.Text
+import androidx.compose.material.TopAppBar
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import dev.msfjarvis.lobsters.R
+import dev.msfjarvis.lobsters.ui.navigation.Destination
+import dev.msfjarvis.lobsters.util.IconResource
+import kotlinx.coroutines.launch
+
+@OptIn(ExperimentalAnimationApi::class)
+@Composable
+fun LobstersTopAppBar(
+ currentDestination: Destination,
+ toggleSortingOrder: suspend () -> Unit,
+) {
+ val scope = rememberCoroutineScope()
+ TopAppBar(
+ title = {
+ Text(
+ text = stringResource(id = R.string.app_name),
+ modifier = Modifier.padding(vertical = 8.dp),
+ )
+ },
+ actions = {
+ if (currentDestination == Destination.Saved) {
+ IconResource(
+ resourceId = R.drawable.ic_sort_24px,
+ contentDescription = stringResource(id = R.string.change_sorting_order),
+ modifier = Modifier
+ .padding(horizontal = 8.dp, vertical = 8.dp)
+ .clickable { scope.launch { toggleSortingOrder() } },
+ )
+ }
+ }
+ )
+}
diff --git a/app/src/main/res/drawable/ic_sort_24px.xml b/app/src/main/res/drawable/ic_sort_24px.xml
new file mode 100644
index 00000000..b37f2638
--- /dev/null
+++ b/app/src/main/res/drawable/ic_sort_24px.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 75e20d9d..95271949 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -10,4 +10,5 @@
Remove from saved posts
Refresh posts
Open comments
+ Change sort order