aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/app/dashboard/(tabs)
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-09-14 17:08:40 +0100
committerMohamedBassem <me@mbassem.com>2024-09-14 17:36:03 +0100
commit66fcf022695283268e80855365f10262ae6ec907 (patch)
tree07cc278b1476b9a868f6ecbf8cbfd9ea8ebf56f8 /apps/mobile/app/dashboard/(tabs)
parentb9c7857c5bb16d024fed6544eebf0ef6cd10390f (diff)
downloadkarakeep-66fcf022695283268e80855365f10262ae6ec907.tar.zst
feature(mobile): Add settings page for configuring the theme
Diffstat (limited to 'apps/mobile/app/dashboard/(tabs)')
-rw-r--r--apps/mobile/app/dashboard/(tabs)/settings.tsx33
1 files changed, 27 insertions, 6 deletions
diff --git a/apps/mobile/app/dashboard/(tabs)/settings.tsx b/apps/mobile/app/dashboard/(tabs)/settings.tsx
index 18d3d243..db118df8 100644
--- a/apps/mobile/app/dashboard/(tabs)/settings.tsx
+++ b/apps/mobile/app/dashboard/(tabs)/settings.tsx
@@ -1,7 +1,8 @@
import { useEffect } from "react";
-import { Text, View } from "react-native";
+import { Pressable, Text, View } from "react-native";
import { Slider } from "react-native-awesome-slider";
import { useSharedValue } from "react-native-reanimated";
+import { Link } from "expo-router";
import { Button } from "@/components/ui/Button";
import CustomSafeAreaView from "@/components/ui/CustomSafeAreaView";
import { Divider } from "@/components/ui/Divider";
@@ -9,6 +10,7 @@ import PageTitle from "@/components/ui/PageTitle";
import { useSession } from "@/lib/session";
import useAppSettings from "@/lib/settings";
import { api } from "@/lib/trpc";
+import { ChevronRight } from "lucide-react-native";
export default function Dashboard() {
const { logout } = useSession();
@@ -36,18 +38,35 @@ export default function Dashboard() {
<CustomSafeAreaView>
<PageTitle title="Settings" />
<View className="flex h-full w-full items-center gap-3 px-4 py-2">
- <View className="w-full rounded-lg bg-white px-4 py-2 dark:bg-accent">
+ <View className="flex w-full gap-3 rounded-lg bg-white px-4 py-2 dark:bg-accent">
<Text className="text-lg text-accent-foreground">
{isSettingsLoading ? "Loading ..." : settings.address}
</Text>
- </View>
- <View className="w-full rounded-lg bg-white px-4 py-2 dark:bg-accent">
+ <Divider orientation="horizontal" />
<Text className="text-lg text-accent-foreground">
{isLoading ? "Loading ..." : data?.email}
</Text>
</View>
- <Button className="w-full" label="Log Out" onPress={logout} />
- <Divider orientation="horizontal" />
+ <Text className="w-full p-1 text-2xl font-bold text-foreground">
+ App Settings
+ </Text>
+ <View className="flex w-full flex-row items-center justify-between gap-8 rounded-lg bg-white px-4 py-2 dark:bg-accent">
+ <Link asChild href="/dashboard/settings/theme" className="flex-1">
+ <Pressable className="flex flex-row justify-between">
+ <Text className="text-lg text-accent-foreground">Theme</Text>
+ <View className="flex flex-row items-center gap-2">
+ <Text className="text-lg text-muted-foreground">
+ {
+ { light: "Light", dark: "Dark", system: "System" }[
+ settings.theme
+ ]
+ }
+ </Text>
+ <ChevronRight color="rgb(0, 122, 255)" />
+ </View>
+ </Pressable>
+ </Link>
+ </View>
<Text className="w-full p-1 text-2xl font-bold text-foreground">
Upload Settings
</Text>
@@ -70,6 +89,8 @@ export default function Dashboard() {
/>
</View>
</View>
+ <Divider orientation="horizontal" />
+ <Button className="w-full" label="Log Out" onPress={logout} />
</View>
</CustomSafeAreaView>
);