Files
discord-decomp/modules/safety_flows/native/OverviewScreen.tsx
T
2026-11-01 12:12:55 +02:00

72 lines
3.1 KiB
TypeScript

// Metro module 16707 (f16708).
import { useCallback } from "react";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import { useSafetyFlowTask } from "../SafetyFlowsTaskContext";
import { useNavigation } from "../../../design/components/Navigator/native/useNavigation.native";
import { getScreensForTaskType } from "./SafetyFlowsUtils";
import { ModalScreen } from "../../../design/components/Modal/native/ModalScreen.native";
import { ModalContent } from "../../../design/components/Modal/native/ModalContent.native";
import { Stack } from "../../../design/components/Stack/native/Stack.native";
import Module712 from "../../../_bundle/Module712";
import { Text } from "../../../design/components/Text/native/Text";
import { intl } from "../../../intl/index.native";
import SafetyFlows_messages from "../SafetyFlows.messages";
import { TableRowGroup } from "../../../design/components/TableRow/native/TableRowGroup.native";
import SafetyTipsRow from "../../self_mod/shared/native/SafetyTipsRow";
import { TASK_TYPE_TO_TITLE } from "../types";
import { ModalFooter } from "../../../design/components/Modal/native/ModalFooter.native";
import LogOutDisclaimer from "./LogOutDisclaimer";
import { ModalActionButton } from "../../../design/components/Modal/native/ModalActionButton.native";
const useStyles = createStyles({
content: {
margin: "auto",
overflow: "visible",
justifyContent: "center",
textAlign: "center",
alignItems: "center"
},
title: {
textAlign: "center",
textTransform: "uppercase",
lineHeight: 50
}
});
export default function OverviewScreen() {
const styles = useStyles();
const task = useSafetyFlowTask().task;
const navigation = useNavigation();
const callback = useCallback(() => {
const screensForTaskType = getScreensForTaskType(task.task_type);
if (screensForTaskType != null && screensForTaskType.length > 0 && screensForTaskType[0] != null) {
navigation.push(screensForTaskType[0]);
}
}, [task, navigation]);
const r59 = [<Text variant="display-lg" style={styles.title}>
{intl.string(SafetyFlows_messages.RRamMH)}
</Text>, <Text variant="text-md/medium" color="text-strong">
{intl.string(SafetyFlows_messages.I2Ctk1)}
</Text>, ,];
const flow_context = task.flow_context;
const r2 = flow_context == null;
let r84 = void 0;
if (!r2) {
const tasks = flow_context.tasks;
r84 = tasks == null ? void 0 : tasks.map((task, a1) => <SafetyTipsRow key={task.task_type} tip={TASK_TYPE_TO_TITLE[task.task_type]} index={a1 + 1} />);
}
r59[2] = <Stack spacing={Module712.space.PX_8}>
<TableRowGroup hasIcons>{r84}</TableRowGroup>
<Text variant="text-xs/medium" color="text-muted">
{intl.string(SafetyFlows_messages["0TnUrG"])}
</Text>
</Stack>;
return <ModalScreen>
<ModalContent>
<Stack spacing={Module712.space.PX_16} style={styles.content}>{r59}</Stack>
</ModalContent>
<ModalFooter>
<LogOutDisclaimer />
<ModalActionButton variant="primary" text={intl.string(SafetyFlows_messages.Ks6opt)} onPress={callback} />
</ModalFooter>
</ModalScreen>;
};