// Metro module 14358 (f14359). import { useState, useCallback } from "react"; import { Pressable, View } from "react-native"; import { FLYWHEEL_FONTS } from "../DisplayNameStylesConstants"; import { Fonts } from "../../../_bundle/Module505"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { useBottomSheetRef } from "../../../design/components/Sheet/native/useBottomSheetRef"; import { useVisibleFontOrder } from "../DisplayNameStylesFontOrder"; import { useDisplayNameStylesNewFonts } from "../hooks/useDisplayNameStylesNewItems"; import { DisplayNameFont } from "../../../_bundle/Module1888"; import * as _DisplayNameStylesUtils from "../DisplayNameStylesUtils"; import { triggerHapticFeedback, HapticFeedbackTypes } from "../../haptics/HapticUtils.native"; import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators"; import { BottomSheet } from "../../../design/components/Sheet/native/BottomSheet.native"; import { BottomSheetTitleHeader } from "../../../design/components/Sheet/native/BottomSheetTitleHeader.native"; import { intl, t } from "../../../intl/index.native"; import DisplayNameStyles_messages from "../intl/DisplayNameStyles.messages"; import { Button } from "../../../design/components/Button/native/Button.native"; import { Stack } from "../../../design/components/Stack/native/Stack.native"; import getDisplayNameStylesFontName from "../getDisplayNameStylesFontName"; import { DISPLAY_NAME_STYLES_FONT_FAMILY_MAP } from "./useDisplayNameStylesFont"; import { Text } from "../../../design/components/Text/native/Text"; import { CircleInformationIcon } from "../../../design/components/Icon/native/redesign/generated/CircleInformationIcon"; const useStyles = createStyles({ header: { paddingTop: 4 }, headerTrailing: { justifyContent: "center", alignItems: "center" }, container: { flex: 1 }, contentContainer: { padding: Module712.space.PX_8, alignItems: "center" }, gridContainer: { flexWrap: "wrap", maxWidth: 350 }, fontCard: { width: 79, height: 79, backgroundColor: Module712.colors.BACKGROUND_MOD_MUTED, borderRadius: Module712.radii.sm, borderWidth: 1, borderColor: Module712.colors.BACKGROUND_MOD_SUBTLE, justifyContent: "center", alignItems: "center" }, fontCardSelected: { borderColor: Module712.colors.CONTROL_BRAND_FOREGROUND }, fontText: { fontSize: 24, lineHeight: 34, textAlign: "center", textAlignVertical: "center" }, tileNewDot: { position: "absolute", top: Module712.space.PX_8, right: Module712.space.PX_8, width: Module712.space.PX_8, height: Module712.space.PX_8, borderRadius: Module712.space.PX_8 / 2, backgroundColor: Module712.colors.BADGE_BACKGROUND_BRAND, shadowColor: Module712.colors.BADGE_BACKGROUND_BRAND, shadowRadius: Module712.space.PX_4, shadowOpacity: 1, elevation: 4 }, betaCaption: { position: "absolute", bottom: Module712.space.PX_4, left: 0, right: 0, textAlign: "center" }, nonLatinDisclaimer: { flexDirection: "row", alignItems: "center", gap: Module712.space.PX_8, paddingHorizontal: Module712.space.PX_12, paddingVertical: Module712.space.PX_8, backgroundColor: Module712.colors.BACKGROUND_BASE_LOWEST, borderRadius: Module712.radii.sm, marginTop: Module712.space.PX_16 }, disclaimerText: { flex: 1 } }); export default function DisplayNameStylesFontPickerSheet(props) { const { selectedFontId, onSelectFont, displayName } = props; const styles = useStyles(); const bottomSheetRef = useBottomSheetRef().bottomSheetRef; const visibleFontOrder = useVisibleFontOrder(); const displayNameStylesNewFonts = useDisplayNameStylesNewFonts(visibleFontOrder); const { dotFontIds, dismissFontDot } = displayNameStylesNewFonts; const [state, setState] = useState(selectedFontId); let r11 = state !== DisplayNameFont.DEFAULT; const hasNonLatinLetters = _DisplayNameStylesUtils.hasNonLatinLetters(displayName); const r2 = state !== selectedFontId; let c21174_6 = r2; const callback = useCallback((a0) => { setState(a0); }, []); const callback2 = useCallback(() => { triggerHapticFeedback(HapticFeedbackTypes.IMPACT_MEDIUM); if (c21174_6) { onSelectFont(state); } ActionSheetActionCreators.hideActionSheet(); }, [r2, state, onSelectFont]); const props2 = { ref: bottomSheetRef, header: