All files / packages/app/features/settings settings-screen.tsx

100% Statements 4/4
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53                                      22x 266x     266x 266x                                                        
import React from "react";
 
import { useTranslation } from "react-i18next";
 
import { AppVersion } from "~app/components/app-version";
import { PageHeader } from "~app/components/page-header";
import { StoreDataContext } from "~app/contexts/store-data-context";
import { LIMIT_STORE_NAME } from "~app/utils/store/limit";
import { Divider } from "~components/divider";
import { Text } from "~components/text";
import { View } from "~components/view";
 
import { ColorModeSettings } from "./color-mode-settings";
import { LanguageSettings } from "./language-settings";
import { LimitOption } from "./limit-options";
import { ManualAcceptDebtsOption } from "./manual-accept-debts-option";
import { RefreshSettings } from "./refresh-settings";
import { ShowResolvedDebtsOption } from "./show-resolved-debts-option";
 
export const SettingsScreen = () => {
	const { t } = useTranslation("settings");
	const {
		[LIMIT_STORE_NAME]: [defaultLimit, onLimitChange],
	} = React.use(StoreDataContext);
	return (
		<>
			<PageHeader>{t("header")}</PageHeader>
			<LanguageSettings />
			<Divider />
			<ColorModeSettings />
			<Divider />
			<View className="flex-row gap-2">
				<Text>{t("showResolvedDebts.header")}</Text>
				<ShowResolvedDebtsOption />
			</View>
			<View className="flex-row gap-2">
				<Text>{t("manuallyAcceptDebts.header")}</Text>
				<ManualAcceptDebtsOption />
			</View>
			<View className="flex gap-2">
				<Text>{t("defaultLimit.header")}</Text>
				{/* oxlint-disable-next-line react/invariant */}
				<LimitOption limit={defaultLimit} onChange={onLimitChange} />
			</View>
			<Divider />
			<RefreshSettings />
			<View className="absolute right-0 bottom-0 translate-y-full py-2">
				<AppVersion textProps={{ className: "text-default text-sm" }} />
			</View>
		</>
	);
};