44 lines
1.9 KiB
TypeScript
44 lines
1.9 KiB
TypeScript
// Metro module 16712 (f16713).
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
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 { Text } from "../../../design/components/Text/native/Text";
|
|
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({
|
|
header: {
|
|
textAlign: "center"
|
|
}
|
|
});
|
|
export default function SafetyFlowTaskScreen(props) {
|
|
const { ImageComponent, title, subtitle, subtitleColor = "text-strong", action = null, onAction } = props;
|
|
let footer = props.footer;
|
|
const { children, submitting } = props;
|
|
let withLogout = props.withLogout;
|
|
if (withLogout === void 0) {
|
|
withLogout = true;
|
|
}
|
|
const styles = useStyles();
|
|
const r48 = [<ModalContent>
|
|
<Stack align="center" justify="center" spacing={8}>
|
|
{ImageComponent != null && ImageComponent}
|
|
<Text accessibilityRole="header" variant="heading-xl/bold" color="mobile-text-heading-primary" style={styles.header}>{title}</Text>
|
|
{subtitle != null && <Text variant="text-md/medium" color={subtitleColor} style={styles.header}>{subtitle}</Text>}
|
|
</Stack>
|
|
{children}
|
|
</ModalContent>, ,];
|
|
if (footer === void 0) {
|
|
if (withLogout) {
|
|
withLogout = <LogOutDisclaimer />;
|
|
}
|
|
footer = <ModalFooter>
|
|
{withLogout}
|
|
{action != null && <ModalActionButton variant="primary" text={action} onPress={onAction} loading={submitting} />}
|
|
</ModalFooter>;
|
|
}
|
|
r48[1] = footer;
|
|
return <ModalScreen>{r48}</ModalScreen>;
|
|
};
|