From 6ee48ffb9d628a04c487b73b222be76241ff3ec4 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Mon, 29 Dec 2025 10:23:36 +0200 Subject: feat(mobile): make the settings menu look more native (#2307) * feat(mobile): make the settings menu look more native * more fixes * review comments --- apps/mobile/app/dashboard/(tabs)/settings.tsx | 180 +++++++++++++------------- 1 file changed, 93 insertions(+), 87 deletions(-) (limited to 'apps/mobile/app/dashboard/(tabs)') diff --git a/apps/mobile/app/dashboard/(tabs)/settings.tsx b/apps/mobile/app/dashboard/(tabs)/settings.tsx index db19b6fe..106baec5 100644 --- a/apps/mobile/app/dashboard/(tabs)/settings.tsx +++ b/apps/mobile/app/dashboard/(tabs)/settings.tsx @@ -4,11 +4,11 @@ import { Slider } from "react-native-awesome-slider"; import { useSharedValue } from "react-native-reanimated"; import Constants from "expo-constants"; import { Link } from "expo-router"; +import { UserProfileHeader } from "@/components/settings/UserProfileHeader"; import { Button } from "@/components/ui/Button"; import ChevronRight from "@/components/ui/ChevronRight"; import CustomSafeAreaView from "@/components/ui/CustomSafeAreaView"; import { Divider } from "@/components/ui/Divider"; -import PageTitle from "@/components/ui/PageTitle"; import { Text } from "@/components/ui/Text"; import { useServerVersion } from "@/lib/hooks"; import { useSession } from "@/lib/session"; @@ -31,7 +31,7 @@ export default function Dashboard() { imageQuality.value = settings.imageQuality * 100; }, [settings]); - const { data, error, isLoading } = api.users.whoami.useQuery(); + const { data, error } = api.users.whoami.useQuery(); const { data: serverVersion, isLoading: isServerVersionLoading, @@ -44,103 +44,106 @@ export default function Dashboard() { return ( - + - - {isSettingsLoading ? "Loading ..." : settings.address} - - {isLoading ? "Loading ..." : data?.email} - - - App Settings - - - - - Theme - - - { - { light: "Light", dark: "Dark", system: "System" }[ - settings.theme - ] - } - - - - - - - - - - Default Bookmark View - - {isSettingsLoading ? ( - - ) : ( + + + + + Theme + - {settings.defaultBookmarkView === "reader" - ? "Reader" - : "Browser"} + { + { light: "Light", dark: "Dark", system: "System" }[ + settings.theme + ] + } - )} + + + + + + + + + + Default Bookmark View + + {isSettingsLoading ? ( + + ) : ( + + {settings.defaultBookmarkView === "reader" + ? "Reader" + : "Browser"} + + )} + + + + + + + + + + Reader Text Settings - - - - - - - - Reader Text Settings - - - - - - Show note preview in bookmark - - setSettings({ - ...settings, - showNotes: value, - }) - } - /> - - - Upload Settings - - - Image Quality - - - {Math.round(settings.imageQuality * 100)}% + + + + + + + Show notes in bookmark card - + setSettings({ ...settings, - imageQuality: Math.round(value) / 100, + showNotes: value, }) } - progress={imageQuality} - minimumValue={imageQualityMin} - maximumValue={imageQualityMax} /> - + + + + Upload Image Quality + + + {Math.round(settings.imageQuality * 100)}% + + + setSettings({ + ...settings, + imageQuality: Math.round(value) / 100, + }) + } + progress={imageQuality} + minimumValue={imageQualityMin} + maximumValue={imageQualityMax} + /> + + + + + {isSettingsLoading ? "Loading..." : settings.address} + App Version: {Constants.expoConfig?.version ?? "unknown"} -- cgit v1.2.3-70-g09d2