35 lines
1.4 KiB
TypeScript
35 lines
1.4 KiB
TypeScript
// Metro module 12385 (f12386).
|
|
import * as _AccessibilityLabelOptimizationExperiment from "../../../a11y/native/AccessibilityLabelOptimizationExperiment";
|
|
import * as _StickersUtils from "../../../stickers/StickersUtils";
|
|
import { getMessageStickers, getStickerAssetUrl } from "../../../stickers/StickersUtils";
|
|
import { NativeLottieRenderMode } from "../../../stickers/native/NativeLottieView";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
export default function transformStickers({ message, animateStickersSetting, isUserInteracting }) {
|
|
const shouldSkipAccessibilityLabels = _AccessibilityLabelOptimizationExperiment.shouldSkipAccessibilityLabels();
|
|
return getMessageStickers(message).map((item) => {
|
|
const shouldAnimateSticker = _StickersUtils.shouldAnimateSticker(animateStickersSetting, isUserInteracting);
|
|
let id = item.id;
|
|
if (id == null) {
|
|
id = "";
|
|
}
|
|
let url = getStickerAssetUrl(item, {
|
|
isPreview: !shouldAnimateSticker
|
|
});
|
|
if (url == null) {
|
|
url = "";
|
|
}
|
|
return {
|
|
...item,
|
|
asset: id,
|
|
url,
|
|
width: 160,
|
|
height: 160,
|
|
renderMode: shouldAnimateSticker ? NativeLottieRenderMode.LOOP : NativeLottieRenderMode.STILL,
|
|
accessibilityLabel: shouldSkipAccessibilityLabels ? intl.string(t["fT+Yjp"]) : intl.formatToPlainString(t.rk6pOw, {
|
|
stickerName: item.name
|
|
}),
|
|
accessibilityHint: intl.string(t.GCEruV)
|
|
};
|
|
});
|
|
};
|