1144 lines
54 KiB
TypeScript
1144 lines
54 KiB
TypeScript
// Module ID: 14177
|
|
// Function ID: 14178
|
|
// Name: CustomizeBadgesSheet
|
|
// Dependencies: [19, 17, 7605, 1372, 7637, 1074, 6572, 1374, 21, 4836, 576, 4801, 7360, 14178, 7358, 1115, 6387, 4787, 5919, 10652, 4832, 7363, 10659, 6383, 4566, 4837, 4840, 12658, 7359, 6073, 4541, 10653, 1613, 504, 4488, 6583, 6603, 6573, 8695, 8663, 7636, 1241, 7642, 4528, 1479, 10456, 14179, 5889, 6571, 6570, 6045, 2]
|
|
// Exports: default
|
|
|
|
// Module 14177 (CustomizeBadgesSheet)
|
|
import nativeDefault from "native" /* 576 */;
|
|
import intl7 from "intl" /* 1115 */;
|
|
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1241 */;
|
|
import PremiumConstants from "PremiumConstants" /* 1374 */;
|
|
import ToastActionCreatorsDefault from "ToastActionCreators" /* 4528 */;
|
|
import AccessibilityAnnouncer2 from "AccessibilityAnnouncer" /* 4541 */;
|
|
import ReanimatedRexport from "ReanimatedRexport" /* 4566 */;
|
|
import CircleInformationIcon2 from "CircleInformationIcon" /* 4787 */;
|
|
import HapticUtils from "HapticUtils" /* 4801 */;
|
|
import timing from "timing" /* 4837 */;
|
|
import timingPresets from "timingPresets" /* 4840 */;
|
|
import Card_Card from "Card/Card" /* 5919 */;
|
|
import EyeSlashIcon2 from "EyeSlashIcon" /* 6387 */;
|
|
import ActionSheetConstants from "ActionSheetConstants" /* 6572 */;
|
|
import ContextMenu2 from "ContextMenu" /* 7358 */;
|
|
import ContextMenuConstants from "ContextMenuConstants" /* 7360 */;
|
|
import UserProfileAnalyticsUtils from "UserProfileAnalyticsUtils" /* 7636 */;
|
|
import BadgeDirectoryActionCreators from "BadgeDirectoryActionCreators" /* 7642 */;
|
|
import PremiumFeaturesCards from "PremiumFeaturesCards" /* 8663 */;
|
|
import openPremiumModalDefault from "openPremiumModal" /* 8695 */;
|
|
import roundToNearestPixelDefault from "roundToNearestPixel" /* 10456 */;
|
|
import BadgeCatalogIconDefault from "BadgeCatalogIcon" /* 10652 */;
|
|
import BadgeUtils from "BadgeUtils" /* 10659 */;
|
|
import PendingBadgeSettings from "PendingBadgeSettings" /* 12658 */;
|
|
import BadgeGrid from "BadgeGrid" /* 14178 */;
|
|
import react from "react" /* 19 */;
|
|
import react_native from "react-native" /* 17 */;
|
|
import UserProfileSettingsStore from "UserProfileSettingsStore" /* 7605 */;
|
|
import UserStore from "UserStore" /* 1372 */;
|
|
import BadgeDirectoryStore from "BadgeDirectoryStore" /* 7637 */;
|
|
import Constants from "Constants" /* 1074 */;
|
|
import Fragment from "Fragment" /* 21 */;
|
|
import createStyles_mod from "createStyles" /* 4836 */;
|
|
import size_mod from "module_2" /* 2 */;
|
|
|
|
let BottomSheet, set, set2, set3;
|
|
|
|
let Platform;
|
|
let c10;
|
|
let c9;
|
|
let closure_12;
|
|
let closure_15;
|
|
let closure_16;
|
|
let closure_4;
|
|
let hasOwnProperty;
|
|
let obj10;
|
|
let obj11;
|
|
let obj2;
|
|
let obj3;
|
|
let obj4;
|
|
let obj5;
|
|
let obj6;
|
|
let obj7;
|
|
let obj8;
|
|
let size;
|
|
let unpackModuleId;
|
|
function HideBadgeMenu(arg0) {
|
|
let children;
|
|
let closure_129_0;
|
|
let closure_129_1;
|
|
let index;
|
|
let intl;
|
|
let items;
|
|
let str;
|
|
({ badge: closure_129_0, onHide: closure_129_1 } = arg0);
|
|
({ index, children } = arg0);
|
|
const obj = { items, align: str, disableGesture: true, triggerOnLongPress: true, children };
|
|
const obj2 = {
|
|
label: intl.string(intl7.t.xSWJPo),
|
|
trailingIndicator: EyeSlashIcon2.EyeSlashIcon,
|
|
action() {
|
|
return closure_1_1(closure_1_0);
|
|
}
|
|
};
|
|
const ContextMenu = ContextMenu2.ContextMenu;
|
|
intl = intl7.intl;
|
|
items = [obj2];
|
|
const result = index % BadgeGrid.BADGE_GRID_COLUMNS;
|
|
str = "right";
|
|
const tmp = closure_15;
|
|
if (0 !== result) {
|
|
let str2 = "above";
|
|
if (result === BadgeGrid.BADGE_GRID_COLUMNS - 1) {
|
|
str2 = "left";
|
|
}
|
|
str = str2;
|
|
}
|
|
return tmp(ContextMenu, obj);
|
|
}
|
|
function BadgeTileContent(arg0) {
|
|
let EyeSlashIcon;
|
|
let IconButton;
|
|
let alwaysVisible;
|
|
let badge;
|
|
let intl;
|
|
let items;
|
|
let obj6;
|
|
let obj7;
|
|
let onShowPress;
|
|
let showAccessibilityLabel;
|
|
({ badge, alwaysVisible, showAccessibilityLabel, onShowPress } = arg0);
|
|
const tmp = closure_21();
|
|
let flag = badge.hidden;
|
|
if (flag == null) {
|
|
flag = false;
|
|
}
|
|
let tmp2 = null;
|
|
if (alwaysVisible) {
|
|
const obj = { size: "sm", color: nativeDefault.colors.INTERACTIVE_ICON_DEFAULT };
|
|
const CircleInformationIcon = CircleInformationIcon2.CircleInformationIcon;
|
|
tmp2 = closure_15(CircleInformationIcon, obj);
|
|
}
|
|
const obj2 = { variant: "secondary", border: "none", radius: 16, style: tmp.card, children: null };
|
|
const Card = Card_Card.Card;
|
|
const obj3 = { badge, size: BadgeGrid.BADGE_TILE_ICON_SIZE, style: items };
|
|
items = [tmp.icon, flag && tmp.iconHidden];
|
|
const tmp12 = BadgeCatalogIconDefault;
|
|
const items1 = [closure_15(tmp12, obj3), , ];
|
|
let str = "text-default";
|
|
const Text = tmp8(4832).Text;
|
|
const tmp7 = authStore3;
|
|
if (flag) {
|
|
str = "text-muted";
|
|
}
|
|
const obj4 = { variant: "text-xs/medium", color: str, lineClamp: 1, style: tmp.name, "aria-hidden": true, children: badge.name };
|
|
items1[1] = closure_15(Text, obj4);
|
|
if (flag) {
|
|
if (null != onShowPress) {
|
|
let tmp10Result;
|
|
if (!alwaysVisible) {
|
|
const obj5 = { style: tmp.indicatorButton, children: closure_15(IconButton, obj6) };
|
|
obj6 = { size: "sm", variant: "secondary-overlay", icon: closure_15(EyeSlashIcon, obj7), accessibilityLabel: showAccessibilityLabel, accessibilityHint: intl.string(intl7.t.hHHpvU), onPress: onShowPress };
|
|
IconButton = tmp8(7363).IconButton;
|
|
obj7 = { size: "sm", color: nativeDefault.colors.CONTROL_OVERLAY_SECONDARY_TEXT_DEFAULT };
|
|
EyeSlashIcon = tmp8(6387).EyeSlashIcon;
|
|
const tmp13 = hasOwnProperty;
|
|
if (showAccessibilityLabel == null) {
|
|
showAccessibilityLabel = badge.name;
|
|
}
|
|
intl = tmp8(1115).intl;
|
|
tmp10Result = tmp10(tmp13, obj5);
|
|
}
|
|
items1[2] = tmp10Result;
|
|
obj2.children = items1;
|
|
return tmp7(Card, obj2);
|
|
}
|
|
}
|
|
let tmp10Result2 = null != tmp2;
|
|
if (tmp10Result2) {
|
|
const obj8 = { style: tmp.indicator, "aria-hidden": true, children: tmp2 };
|
|
tmp10Result2 = tmp10(hasOwnProperty, obj8);
|
|
}
|
|
tmp10Result = tmp10Result2;
|
|
}
|
|
({ Platform, Pressable: closure_4, View: hasOwnProperty } = react_native);
|
|
({ AnalyticEvents: c9, AnalyticsObjects: c10, AnalyticsPages: unpackModuleId, AnalyticsSections: closure_12 } = Constants);
|
|
let closure_13 = ActionSheetConstants.ACTION_SHEET_MINIMUM_BOTTOM_PADDING;
|
|
const PremiumUpsellTypes = PremiumConstants.PremiumUpsellTypes;
|
|
({ jsx: closure_15, jsxs: closure_16 } = Fragment);
|
|
let c17 = 80;
|
|
let c18 = 16.666666666666668;
|
|
let createStyles = createStyles_mod;
|
|
let obj = { gridInset: obj2, grid: obj3, upsell: obj4, upsellCard: obj5, upsellContent: obj6, upsellCta: obj7, upsellText: { textAlign: "center" }, message: obj8, messageText: { textAlign: "center" } };
|
|
obj2 = { paddingHorizontal: nativeDefault.space.PX_16, paddingBottom: nativeDefault.space.PX_16 };
|
|
createStyles = createStyles.createStyles;
|
|
obj3 = { position: "relative", width: "100%", marginTop: nativeDefault.space.PX_8 };
|
|
obj4 = { marginHorizontal: 0, marginTop: nativeDefault.space.PX_8, marginBottom: nativeDefault.space.PX_16 };
|
|
obj5 = { backgroundColor: nativeDefault.colors.BACKGROUND_SURFACE_HIGHEST };
|
|
obj6 = { paddingVertical: nativeDefault.space.PX_16, paddingHorizontal: nativeDefault.space.PX_16 };
|
|
obj7 = { marginTop: nativeDefault.space.PX_12, borderRadius: nativeDefault.radii.sm };
|
|
obj8 = { alignItems: "center", justifyContent: "center", paddingHorizontal: nativeDefault.space.PX_16, paddingVertical: nativeDefault.space.PX_32 };
|
|
let closure_19 = createStyles(obj);
|
|
createStyles = createStyles_mod;
|
|
let obj9 = { position: { position: "absolute" }, fill: { flex: 1 }, card: { flex: 1, alignItems: "center", padding: 0 }, icon: obj10, name: obj11, indicator: size, indicatorButton: { position: "absolute", top: 0, end: 0, width: 48, height: 48, alignItems: "center", justifyContent: "center" }, iconHidden: { opacity: 0.3 } };
|
|
obj10 = { marginTop: nativeDefault.space.PX_24 };
|
|
const createStyles2 = createStyles.createStyles;
|
|
obj11 = { position: "absolute", start: 0, end: 0, bottom: nativeDefault.space.PX_8, paddingHorizontal: nativeDefault.space.PX_4, textAlign: "center" };
|
|
size = { position: "absolute", top: nativeDefault.space.PX_8, end: nativeDefault.space.PX_8, width: 32, height: 32, alignItems: "flex-end", justifyContent: "flex-start" };
|
|
let closure_21 = createStyles2(obj9);
|
|
function getSlotOffset(arg0, arg1) {
|
|
let result;
|
|
let rounded;
|
|
const point = { x: result * (arg1 + BadgeGrid.BADGE_GRID_GAP), y: rounded * (arg1 + BadgeGrid.BADGE_GRID_GAP) };
|
|
result = arg0 % BadgeGrid.BADGE_GRID_COLUMNS;
|
|
rounded = Math.floor(arg0 / BadgeGrid.BADGE_GRID_COLUMNS);
|
|
return point;
|
|
}
|
|
let obj12 = { BADGE_GRID_COLUMNS: BadgeGrid.BADGE_GRID_COLUMNS, BADGE_GRID_GAP: BadgeGrid.BADGE_GRID_GAP };
|
|
getSlotOffset.__closure = obj12;
|
|
getSlotOffset.__workletHash = 8647997879684;
|
|
getSlotOffset.__initData = { code: "function getSlotOffset_CustomizeBadgesSheetTsx1(index,tileSize){const{BADGE_GRID_COLUMNS,BADGE_GRID_GAP}=this.__closure;const column=index%BADGE_GRID_COLUMNS;return{x:column*(tileSize+BADGE_GRID_GAP),y:Math.floor(index/BADGE_GRID_COLUMNS)*(tileSize+BADGE_GRID_GAP)};}" };
|
|
let closure_24 = react.memo((badge) => {
|
|
let alwaysVisible;
|
|
let formatToPlainString;
|
|
let hidden;
|
|
let obj2;
|
|
let obj3;
|
|
let t;
|
|
let tileSize;
|
|
badge = badge.badge;
|
|
const index = badge.index;
|
|
({ tileSize, alwaysVisible } = badge);
|
|
let onPress = badge.onPress;
|
|
const onHide = badge.onHide;
|
|
let onShowPress;
|
|
let items1;
|
|
if (typeof getSlotOffset === "function") {
|
|
let tmp2 = badge;
|
|
let result = index % badge(alwaysVisible[13]).BADGE_GRID_COLUMNS;
|
|
const tmp6 = globalThis;
|
|
const _Math = Math;
|
|
const result1 = result * (tileSize + badge(alwaysVisible[13]).BADGE_GRID_GAP);
|
|
const rounded = Math.floor(index / badge(alwaysVisible[13]).BADGE_GRID_COLUMNS);
|
|
const tmp9 = onPress;
|
|
const items = [badge, onPress];
|
|
const result2 = rounded * (tileSize + badge(alwaysVisible[13]).BADGE_GRID_GAP);
|
|
onShowPress = onPress.useCallback(() => {
|
|
onPress(badge);
|
|
}, items);
|
|
items1 = [tmp.position, ];
|
|
size = { left: result1, top: result2, width: tileSize, height: tileSize };
|
|
items1[1] = size;
|
|
if (badge.hidden) {
|
|
let obj = { style: items1, children: closure_15(BadgeTileContent, obj2) };
|
|
obj2 = { badge, alwaysVisible, showAccessibilityLabel: formatToPlainString(hidden ? t["dXg/Dl"] : t["21W3EN"], obj3), onShowPress };
|
|
let intl = tmp2(tmp3[15]).intl;
|
|
formatToPlainString = intl.formatToPlainString;
|
|
hidden = badge.hidden;
|
|
t = tmp2(tmp3[15]).t;
|
|
obj3 = { badgeName: badge.name, position: index + 1 };
|
|
return closure_15(items1, obj);
|
|
} else {
|
|
function renderTile(ref) {
|
|
let accessibilityActions;
|
|
let fn;
|
|
let formatToPlainString;
|
|
let hidden;
|
|
let obj2;
|
|
let prop;
|
|
let t;
|
|
let closure_0 = ref;
|
|
ref = undefined;
|
|
const tmp2 = React3;
|
|
if (ref != null) {
|
|
ref = ref.ref;
|
|
}
|
|
let obj = { ref, accessibilityLabel: formatToPlainString(hidden ? t["dXg/Dl"] : t["21W3EN"], obj2), accessibilityActions, onAccessibilityAction: prop, onPress, onLongPress: fn, delayLongPress: ContextMenuConstants.CONTEXT_MENU_LONG_PRESS_DURATION_MS, style: items1, children: tmp(BadgeTileContent, { badge, alwaysVisible }) };
|
|
const intl = intl7.intl;
|
|
formatToPlainString = intl.formatToPlainString;
|
|
hidden = badge.hidden;
|
|
t = intl7.t;
|
|
let stringResult;
|
|
obj2 = { badgeName: badge.name, position: index + 1 };
|
|
if (alwaysVisible) {
|
|
const intl2 = tmp6(1115).intl;
|
|
const string = intl2.string;
|
|
const tmp6Result = BadgeUtils;
|
|
stringResult = string(tmp6Result.getAlwaysVisibleCopy(tmp9));
|
|
}
|
|
const obj3 = { accessibilityRole: "button", accessibilityHint: stringResult };
|
|
const merged = Object.assign(obj3);
|
|
accessibilityActions = undefined;
|
|
if (ref != null) {
|
|
accessibilityActions = ref.accessibilityActions;
|
|
}
|
|
prop = undefined;
|
|
if (ref != null) {
|
|
prop = ref.onAccessibilityAction;
|
|
}
|
|
if (alwaysVisible) {
|
|
onPress = callback;
|
|
} else if (ref != null) {
|
|
onPress = ref.onPress;
|
|
}
|
|
fn = undefined;
|
|
if (null != ref) {
|
|
fn = (arg0) => {
|
|
const obj = badge(alwaysVisible[11]);
|
|
const result = obj.triggerHapticFeedback(badge(alwaysVisible[12]).CONTEXT_MENU_OPEN_HAPTIC);
|
|
onLongPress = onLongPress.onLongPress;
|
|
if (onLongPress != null) {
|
|
onLongPress(arg0);
|
|
}
|
|
};
|
|
}
|
|
return closure_15(tmp2, obj);
|
|
}
|
|
if (!alwaysVisible) {
|
|
let renderTileResult;
|
|
if (null != onHide) {
|
|
const obj4 = { badge, index, onHide, children: renderTile };
|
|
renderTileResult = closure_15(HideBadgeMenu, obj4);
|
|
}
|
|
return renderTileResult;
|
|
}
|
|
renderTileResult = renderTile(null);
|
|
}
|
|
} else {
|
|
throw new TypeError("Trying to call a non-function");
|
|
}
|
|
});
|
|
let closure_25 = { code: "function CustomizeBadgesSheetTsx2(){const{orderShared,badgeId,getSlotOffset,slotOffset,tileSize}=this.__closure;const slot=orderShared.get().indexOf(badgeId);return slot<0?null:getSlotOffset(slot+slotOffset,tileSize);}" };
|
|
const __initData = { code: "function CustomizeBadgesSheetTsx3(target,previousTarget){const{isThisTileDragging,positionX,withTiming,timingStandard,positionY}=this.__closure;if(target==null||isThisTileDragging.get()){return;}if(target.x!==(previousTarget===null||previousTarget===void 0?void 0:previousTarget.x)){positionX.set(withTiming(target.x,timingStandard));}if(target.y!==(previousTarget===null||previousTarget===void 0?void 0:previousTarget.y)){positionY.set(withTiming(target.y,timingStandard));}}" };
|
|
const __initData2 = { code: "function CustomizeBadgesSheetTsx4(){const{orderShared,tileSize,BADGE_GRID_GAP,clamp,positionX,BADGE_GRID_COLUMNS,positionY,slotOffset,moveBadgeInDisplayOrder,badgeId,runOnJS,triggerHapticFeedback,HapticFeedbackTypes}=this.__closure;const order=orderShared.get();const step=tileSize+BADGE_GRID_GAP;const column=clamp(Math.floor((positionX.get()+tileSize/2)/step),0,BADGE_GRID_COLUMNS-1);const row=Math.max(Math.floor((positionY.get()+tileSize/2)/step),0);const to=clamp(row*BADGE_GRID_COLUMNS+column-slotOffset,0,order.length-1);const next=moveBadgeInDisplayOrder(order,order.indexOf(badgeId),to);if(next!==order){orderShared.set(next);runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.DRAG_AND_DROP_MOVE);}}" };
|
|
const __initData3 = { code: "function CustomizeBadgesSheetTsx5(){const{scrollOffset}=this.__closure;return scrollOffset.get();}" };
|
|
const __initData4 = { code: "function CustomizeBadgesSheetTsx6(offset,previousOffset){const{isThisTileDragging,positionY,reslot}=this.__closure;if(previousOffset==null||!isThisTileDragging.get()){return;}positionY.set(positionY.get()+(offset-previousOffset));reslot();}" };
|
|
let closure_30 = { code: "function handleStart_CustomizeBadgesSheetTsx7(){const{isAnyDragActive,isThisTileDragging,runOnJS,hideContextMenu,dragOrigin,positionX,positionY,measure,scrollRef,dragViewport,scale,withTiming,DRAG_SCALE,timingStandard,triggerHapticFeedback,HapticFeedbackTypes}=this.__closure;if(isAnyDragActive.get()&&!isThisTileDragging.get()){return;}runOnJS(hideContextMenu)();isAnyDragActive.set(true);isThisTileDragging.set(true);dragOrigin.set({x:positionX.get(),y:positionY.get()});const viewport=measure(scrollRef);dragViewport.set(viewport==null?null:{pageY:viewport.pageY,height:viewport.height});scale.set(withTiming(DRAG_SCALE,timingStandard));runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.DRAG_AND_DROP_START);}" };
|
|
let closure_31 = { code: "function handleChange_CustomizeBadgesSheetTsx8(event){const{isThisTileDragging,positionX,positionY,reslot,dragViewport,AUTO_SCROLL_EDGE_SIZE,autoScrollSpeed,clamp}=this.__closure;if(!isThisTileDragging.get()){return;}positionX.set(positionX.get()+event.changeX);positionY.set(positionY.get()+event.changeY);reslot();const viewport=dragViewport.get();if(viewport==null){return;}const fromTop=event.absoluteY-viewport.pageY;const fromBottom=viewport.pageY+viewport.height-event.absoluteY;if(fromTop<AUTO_SCROLL_EDGE_SIZE){autoScrollSpeed.set(-1+clamp(fromTop,0,AUTO_SCROLL_EDGE_SIZE)/AUTO_SCROLL_EDGE_SIZE);}else if(fromBottom<AUTO_SCROLL_EDGE_SIZE){autoScrollSpeed.set(1-clamp(fromBottom,0,AUTO_SCROLL_EDGE_SIZE)/AUTO_SCROLL_EDGE_SIZE);}else{autoScrollSpeed.set(0);}}" };
|
|
let closure_32 = { code: "function handleFinalize_CustomizeBadgesSheetTsx9(){const{isThisTileDragging,autoScrollSpeed,dragViewport,orderShared,badgeId,getSlotOffset,slotOffset,tileSize,positionX,withTiming,timingStandard,positionY,scale,isAnyDragActive,runOnJS,triggerHapticFeedback,HapticFeedbackTypes,onCommitOrder}=this.__closure;if(!isThisTileDragging.get()){return;}autoScrollSpeed.set(0);dragViewport.set(null);const order=orderShared.get();const slot=order.indexOf(badgeId);if(slot>=0){const target=getSlotOffset(slot+slotOffset,tileSize);positionX.set(withTiming(target.x,timingStandard));positionY.set(withTiming(target.y,timingStandard));}scale.set(withTiming(1,timingStandard));isThisTileDragging.set(false);isAnyDragActive.set(false);runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.DRAG_AND_DROP_END);runOnJS(onCommitOrder)(order);}" };
|
|
let closure_33 = { code: "function CustomizeBadgesSheetTsx10(){const{handleFinalize}=this.__closure;handleFinalize();}" };
|
|
let closure_34 = { code: "function CustomizeBadgesSheetTsx11(event){const{handleChange}=this.__closure;handleChange(event);}" };
|
|
let closure_35 = { code: "function CustomizeBadgesSheetTsx12(){const{handleStart}=this.__closure;handleStart();}" };
|
|
const __initData5 = { code: "function CustomizeBadgesSheetTsx13(){const{isThisTileDragging,dragOrigin,positionX,positionY,scale}=this.__closure;const dragging=isThisTileDragging.get();const origin=dragOrigin.get();return{zIndex:dragging?10:0,left:dragging?origin.x:positionX.get(),top:dragging?origin.y:positionY.get(),transform:dragging?[{translateX:positionX.get()-origin.x},{translateY:positionY.get()-origin.y},{scale:scale.get()}]:[{scale:scale.get()}]};}" };
|
|
let closure_37 = react.memo((badge) => {
|
|
let intl;
|
|
let intl2;
|
|
let isFirst;
|
|
let isLast;
|
|
let onHide;
|
|
let result;
|
|
let rounded;
|
|
let tmp5;
|
|
badge = badge.badge;
|
|
let index = badge.index;
|
|
const tileSize = badge.tileSize;
|
|
const slotOffset = badge.slotOffset;
|
|
const alwaysVisible = badge.alwaysVisible;
|
|
const orderShared = badge.orderShared;
|
|
const isDragActive = badge.isDragActive;
|
|
const scrollRef = badge.scrollRef;
|
|
const scrollOffset = badge.scrollOffset;
|
|
const autoScrollSpeed = badge.autoScrollSpeed;
|
|
const onCommitOrder = badge.onCommitOrder;
|
|
let onPress = badge.onPress;
|
|
let sharedValue2;
|
|
let sharedValue3;
|
|
let sharedValue4;
|
|
let sharedValue5;
|
|
let reslot;
|
|
let closure_22;
|
|
let closure_23;
|
|
closure_24 = undefined;
|
|
let items3;
|
|
({ isFirst, isLast, onHide } = badge);
|
|
const position = reslot();
|
|
const badge_id = badge.badge_id;
|
|
let tmp = tileSize;
|
|
let closure_14 = index(tileSize[23])(() => {
|
|
onPress(badge);
|
|
});
|
|
let tmp2 = badge;
|
|
let obj = badge(tileSize[24]);
|
|
const sharedValue = obj.useSharedValue(false);
|
|
let obj2 = badge(tileSize[24]);
|
|
const sharedValue1 = obj2.useSharedValue(null);
|
|
if (typeof closure_22 === "function") {
|
|
let renderTileResult;
|
|
let point = { x: result * (tileSize + tmp2(tmp[13]).BADGE_GRID_GAP), y: rounded * (tileSize + tmp2(tmp[13]).BADGE_GRID_GAP) };
|
|
result = index % tmp2(tmp[13]).BADGE_GRID_COLUMNS;
|
|
let _Math = Math;
|
|
rounded = Math.floor(index / tmp2(tmp[13]).BADGE_GRID_COLUMNS);
|
|
let tmp2Result = tmp2(tmp[24]);
|
|
sharedValue2 = tmp2Result.useSharedValue(point.x);
|
|
const tmp2Result7 = tmp2(tmp[24]);
|
|
sharedValue3 = tmp2Result7.useSharedValue(point.y);
|
|
const tmp2Result8 = tmp2(tmp[24]);
|
|
sharedValue4 = tmp2Result8.useSharedValue(point);
|
|
let num = 1;
|
|
const tmp2Result9 = tmp2(tmp[24]);
|
|
sharedValue5 = tmp2Result9.useSharedValue(1);
|
|
let fn = function v() {
|
|
let result;
|
|
let rounded;
|
|
const value = orderShared.get();
|
|
index = value.indexOf(badge_id);
|
|
let tmp2 = null;
|
|
if (index >= 0) {
|
|
const sum = index + slotOffset;
|
|
if (typeof getSlotOffset === "function") {
|
|
const point = { x: result * (tileSize + BadgeGrid.BADGE_GRID_GAP), y: rounded * (tileSize + BadgeGrid.BADGE_GRID_GAP) };
|
|
result = sum % BadgeGrid.BADGE_GRID_COLUMNS;
|
|
const _Math = Math;
|
|
rounded = Math.floor(sum / BadgeGrid.BADGE_GRID_COLUMNS);
|
|
tmp2 = point;
|
|
} else {
|
|
throw new TypeError("Trying to call a non-function");
|
|
}
|
|
}
|
|
return tmp2;
|
|
};
|
|
let obj3 = { orderShared, badgeId: badge_id, getSlotOffset: tmp5, slotOffset, tileSize };
|
|
fn.__closure = obj3;
|
|
let num2 = 6182257637516;
|
|
fn.__workletHash = 6182257637516;
|
|
fn.__initData = items3;
|
|
const tmp2Result10 = tmp2(tmp[24]);
|
|
class C {
|
|
constructor(arg0, arg1) {
|
|
const value = null == arg0 || sharedValue.get();
|
|
if (!value) {
|
|
let x1;
|
|
const x = arg0.x;
|
|
if (arg1 != null) {
|
|
x1 = arg1.x;
|
|
}
|
|
if (x !== x1) {
|
|
set = sharedValue2.set;
|
|
const obj = timing;
|
|
const result = set(obj.withTiming(arg0.x, timingPresets.timingStandard));
|
|
}
|
|
let y1;
|
|
const y = arg0.y;
|
|
if (arg1 != null) {
|
|
y1 = arg1.y;
|
|
}
|
|
if (y !== y1) {
|
|
set2 = sharedValue3.set;
|
|
const obj2 = timing;
|
|
set2(obj2.withTiming(arg0.y, timingPresets.timingStandard));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
let obj4 = { isThisTileDragging: sharedValue, positionX: sharedValue2, withTiming: tmp2(tmp[25]).withTiming, timingStandard: tmp2(tmp[26]).timingStandard, positionY: sharedValue3 };
|
|
const useAnimatedReaction = tmp2Result10.useAnimatedReaction;
|
|
C.__closure = obj4;
|
|
C.__workletHash = 4011295272705;
|
|
let tmp15 = __initData;
|
|
C.__initData = __initData;
|
|
const animatedReaction = useAnimatedReaction(fn, C);
|
|
let fn2 = function $() {
|
|
const value = orderShared.get();
|
|
const sum = tileSize + BadgeGrid.BADGE_GRID_GAP;
|
|
const clamp = ReanimatedRexport.clamp;
|
|
ReanimatedRexport;
|
|
const rounded = Math.floor((sharedValue2.get() + tileSize / 2) / sum);
|
|
const clampResult = clamp(rounded, 0, BadgeGrid.BADGE_GRID_COLUMNS - 1);
|
|
const bound = Math.max(Math.floor((sharedValue3.get() + tileSize / 2) / sum), 0);
|
|
const obj2 = ReanimatedRexport;
|
|
const clampResult1 = obj2.clamp(bound * BadgeGrid.BADGE_GRID_COLUMNS + clampResult - slotOffset, 0, value.length - 1);
|
|
const obj3 = PendingBadgeSettings;
|
|
const result = obj3.moveBadgeInDisplayOrder(value, value.indexOf(badge_id), clampResult1);
|
|
const obj = orderShared;
|
|
if (result !== value) {
|
|
const result1 = obj.set(result);
|
|
const tmpResult = ReanimatedRexport;
|
|
const runOnJSResult = tmpResult.runOnJS(HapticUtils.triggerHapticFeedback);
|
|
runOnJSResult(HapticUtils.HapticFeedbackTypes.DRAG_AND_DROP_MOVE);
|
|
}
|
|
};
|
|
let obj5 = { orderShared, tileSize, BADGE_GRID_GAP: tmp2(tmp[13]).BADGE_GRID_GAP, clamp: tmp2(tmp[24]).clamp, positionX: sharedValue2, BADGE_GRID_COLUMNS: tmp2(tmp[13]).BADGE_GRID_COLUMNS, positionY: sharedValue3, slotOffset, moveBadgeInDisplayOrder: tmp2(tmp[27]).moveBadgeInDisplayOrder, badgeId: badge_id, runOnJS: tmp2(tmp[24]).runOnJS, triggerHapticFeedback: tmp2(tmp[11]).triggerHapticFeedback, HapticFeedbackTypes: tmp2(tmp[11]).HapticFeedbackTypes };
|
|
const useCallback = slotOffset.useCallback;
|
|
fn2.__closure = obj5;
|
|
fn2.__workletHash = 1083237242858;
|
|
fn2.__initData = __initData2;
|
|
let items = [badge_id, orderShared, slotOffset, tileSize, sharedValue2, sharedValue3];
|
|
reslot = useCallback(fn2, items);
|
|
function ee() {
|
|
return scrollOffset.get();
|
|
}
|
|
let obj6 = { scrollOffset };
|
|
ee.__closure = obj6;
|
|
ee.__workletHash = 10993823060256;
|
|
ee.__initData = __initData3;
|
|
const tmp2Result11 = tmp2(tmp[24]);
|
|
class Q {
|
|
constructor(arg0, arg1) {
|
|
const value = null != arg1 && sharedValue.get();
|
|
if (value) {
|
|
const result = sharedValue3.set(sharedValue3.get() + (arg0 - arg1));
|
|
callback();
|
|
}
|
|
}
|
|
}
|
|
const obj7 = { isThisTileDragging: sharedValue, positionY: sharedValue3, reslot };
|
|
Q.__closure = obj7;
|
|
Q.__workletHash = 9803143874483;
|
|
Q.__initData = __initData4;
|
|
const animatedReaction1 = tmp2Result11.useAnimatedReaction(ee, Q);
|
|
let items1 = [reslot, scrollRef, sharedValue1, autoScrollSpeed, badge_id, tileSize, slotOffset, orderShared, isDragActive, onCommitOrder, sharedValue, sharedValue5, sharedValue2, sharedValue3, sharedValue4];
|
|
closure_22 = slotOffset.useMemo(() => {
|
|
function handleStart() {
|
|
const obj = isDragActive;
|
|
if (!isDragActive.get()) {
|
|
const obj2 = badge(tileSize[24]);
|
|
obj2.runOnJS(badge(tileSize[28]).hideContextMenu)();
|
|
const result = obj.set(true);
|
|
const result1 = sharedValue.set(true);
|
|
const point = { x: sharedValue2.get(), y: sharedValue3.get() };
|
|
const result2 = set(point);
|
|
const obj4 = badge(tileSize[24]);
|
|
const measureResult = obj4.measure(scrollRef);
|
|
let tmp15 = null;
|
|
set2 = sharedValue1.set;
|
|
if (null != measureResult) {
|
|
const obj3 = { pageY: null, height: null };
|
|
({ pageY: obj5.pageY, height: obj5.height } = measureResult);
|
|
tmp15 = obj3;
|
|
}
|
|
set2(tmp15);
|
|
set3 = sharedValue5.set;
|
|
const tmp2Result = badge(tileSize[25]);
|
|
set3(tmp2Result.withTiming(1.05, badge(tileSize[26]).timingStandard));
|
|
const tmp2Result2 = badge(tileSize[24]);
|
|
const runOnJSResult = tmp2Result2.runOnJS(badge(tileSize[11]).triggerHapticFeedback);
|
|
runOnJSResult(badge(tileSize[11]).HapticFeedbackTypes.DRAG_AND_DROP_START);
|
|
}
|
|
}
|
|
let obj = { isAnyDragActive: isDragActive, isThisTileDragging: sharedValue, runOnJS: badge(tileSize[24]).runOnJS, hideContextMenu: badge(tileSize[28]).hideContextMenu, dragOrigin: sharedValue4, positionX: sharedValue2, positionY: sharedValue3, measure: badge(tileSize[24]).measure, scrollRef, dragViewport: sharedValue1, scale: sharedValue5, withTiming: badge(tileSize[25]).withTiming, DRAG_SCALE: 1.05, timingStandard: badge(tileSize[26]).timingStandard, triggerHapticFeedback: badge(tileSize[11]).triggerHapticFeedback, HapticFeedbackTypes: badge(tileSize[11]).HapticFeedbackTypes };
|
|
handleStart.__closure = obj;
|
|
handleStart.__workletHash = 11005478611755;
|
|
handleStart.__initData = __initData;
|
|
function handleChange(changeX) {
|
|
if (sharedValue.get()) {
|
|
const result = closure_1_17.set(closure_1_17.get() + changeX.changeX);
|
|
const result1 = sharedValue3.set(sharedValue3.get() + changeX.changeY);
|
|
reslot();
|
|
const value = sharedValue1.get();
|
|
if (null != value) {
|
|
const diff = changeX.absoluteY - value.pageY;
|
|
const diff1 = value.pageY + value.height - changeX.absoluteY;
|
|
if (diff < sharedValue2) {
|
|
set2 = autoScrollSpeed.set;
|
|
const obj2 = badge(tileSize[24]);
|
|
set2(obj2.clamp(diff, 0, sharedValue2) / sharedValue2 - 1);
|
|
} else if (diff1 < sharedValue2) {
|
|
set = autoScrollSpeed.set;
|
|
const obj = badge(tileSize[24]);
|
|
const result2 = set(1 - obj.clamp(diff1, 0, tmp23) / tmp23);
|
|
} else {
|
|
const result3 = autoScrollSpeed.set(0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
let obj2 = { isThisTileDragging: sharedValue, positionX: sharedValue2, positionY: sharedValue3, reslot, dragViewport: sharedValue1, AUTO_SCROLL_EDGE_SIZE: sharedValue2, autoScrollSpeed, clamp: badge(tileSize[24]).clamp };
|
|
handleChange.__closure = obj2;
|
|
handleChange.__workletHash = 6322461598588;
|
|
handleChange.__initData = __initData2;
|
|
function handleFinalize() {
|
|
const obj = sharedValue;
|
|
if (sharedValue.get()) {
|
|
const result = autoScrollSpeed.set(0);
|
|
const result1 = sharedValue1.set(null);
|
|
const value = orderShared.get();
|
|
index = value.indexOf(badge_id);
|
|
if (index >= 0) {
|
|
const sum = index + slotOffset;
|
|
if (typeof closure_22 === "function") {
|
|
const result2 = sum % badge(tileSize[13]).BADGE_GRID_COLUMNS;
|
|
const _Math = Math;
|
|
const result3 = result2 * (tmp58 + badge(tileSize[13]).BADGE_GRID_GAP);
|
|
const rounded = Math.floor(sum / badge(tileSize[13]).BADGE_GRID_COLUMNS);
|
|
const result4 = rounded * (tmp58 + badge(tileSize[13]).BADGE_GRID_GAP);
|
|
set = sharedValue2.set;
|
|
const obj2 = badge(tileSize[25]);
|
|
const result5 = set(obj2.withTiming(result3, badge(tileSize[26]).timingStandard));
|
|
set2 = sharedValue3.set;
|
|
const obj3 = badge(tileSize[25]);
|
|
set2(obj3.withTiming(result4, badge(tileSize[26]).timingStandard));
|
|
} else {
|
|
throw new TypeError("Trying to call a non-function");
|
|
}
|
|
}
|
|
set3 = sharedValue5.set;
|
|
const obj4 = badge(tileSize[25]);
|
|
set3(obj4.withTiming(1, badge(tileSize[26]).timingStandard));
|
|
const result6 = obj.set(false);
|
|
const result7 = isDragActive.set(false);
|
|
const obj5 = badge(tileSize[24]);
|
|
const runOnJSResult = obj5.runOnJS(badge(tileSize[11]).triggerHapticFeedback);
|
|
runOnJSResult(badge(tileSize[11]).HapticFeedbackTypes.DRAG_AND_DROP_END);
|
|
const obj6 = badge(tileSize[24]);
|
|
obj6.runOnJS(onCommitOrder)(value);
|
|
}
|
|
}
|
|
let obj3 = { isThisTileDragging: sharedValue, autoScrollSpeed, dragViewport: sharedValue1, orderShared, badgeId: badge_id, getSlotOffset, slotOffset, tileSize: handleFinalize, positionX: sharedValue2, withTiming: badge(tileSize[25]).withTiming, timingStandard: badge(tileSize[26]).timingStandard, positionY: sharedValue3, scale: sharedValue5, isAnyDragActive: isDragActive, runOnJS: badge(tileSize[24]).runOnJS, triggerHapticFeedback: badge(tileSize[11]).triggerHapticFeedback, HapticFeedbackTypes: badge(tileSize[11]).HapticFeedbackTypes, onCommitOrder };
|
|
handleFinalize.__closure = obj3;
|
|
handleFinalize.__workletHash = 3743829622400;
|
|
handleFinalize.__initData = __initData3;
|
|
const Gesture = badge(tileSize[29]).Gesture;
|
|
const fn = function s() {
|
|
handleStart();
|
|
};
|
|
fn.__closure = { handleStart };
|
|
fn.__workletHash = 1384005013956;
|
|
fn.__initData = __initData6;
|
|
const PanResult = Gesture.Pan();
|
|
const fn2 = function n(arg0) {
|
|
handleChange(arg0);
|
|
};
|
|
fn2.__closure = { handleChange };
|
|
fn2.__workletHash = 11082443717159;
|
|
fn2.__initData = __initData5;
|
|
const minDistanceResult = PanResult.minDistance(8);
|
|
const fn3 = function t() {
|
|
handleFinalize();
|
|
};
|
|
fn3.__closure = { handleFinalize };
|
|
fn3.__workletHash = 11034838477574;
|
|
fn3.__initData = __initData4;
|
|
const onStartResult = minDistanceResult.onStart(fn);
|
|
const onChangeResult = onStartResult.onChange(fn2);
|
|
return onChangeResult.onFinalize(fn3);
|
|
}, items1);
|
|
function ie() {
|
|
let items1;
|
|
let x;
|
|
let y;
|
|
const value = sharedValue.get();
|
|
const point = sharedValue4.get();
|
|
let num = 0;
|
|
if (value) {
|
|
num = 10;
|
|
}
|
|
const rect = { zIndex: num, left: x, top: y, transform: items1 };
|
|
if (value) {
|
|
x = point.x;
|
|
} else {
|
|
x = sharedValue2.get();
|
|
}
|
|
if (value) {
|
|
y = point.y;
|
|
} else {
|
|
y = sharedValue3.get();
|
|
}
|
|
if (value) {
|
|
const items = [{ translateX: sharedValue2.get() - point.x }, , ];
|
|
const obj = { translateX: sharedValue2.get() - point.x };
|
|
items[1] = { translateY: sharedValue3.get() - point.y };
|
|
const obj2 = { translateY: sharedValue3.get() - point.y };
|
|
items[2] = { scale: sharedValue5.get() };
|
|
items1 = items;
|
|
const obj3 = { scale: sharedValue5.get() };
|
|
} else {
|
|
items1 = [{ scale: sharedValue5.get() }];
|
|
const obj4 = { scale: sharedValue5.get() };
|
|
}
|
|
return rect;
|
|
}
|
|
const obj8 = { isThisTileDragging: sharedValue, dragOrigin: sharedValue4, positionX: sharedValue2, positionY: sharedValue3, scale: sharedValue5 };
|
|
ie.__closure = obj8;
|
|
ie.__workletHash = 3612359203254;
|
|
const tmp23 = __initData5;
|
|
ie.__initData = __initData5;
|
|
const tmp2Result12 = tmp2(tmp[24]);
|
|
closure_23 = tmp2Result12.useAnimatedStyle(ie);
|
|
const items2 = [badge_id, orderShared, onCommitOrder, slotOffset];
|
|
closure_24 = slotOffset.useCallback((nativeEvent) => {
|
|
const actionName = nativeEvent.nativeEvent.actionName;
|
|
if ("moveup" === actionName) {
|
|
const value = orderShared.get();
|
|
index = value.indexOf(badge_id);
|
|
let num2 = 1;
|
|
const clamp = ReanimatedRexport.clamp;
|
|
ReanimatedRexport;
|
|
const obj = orderShared;
|
|
if ("moveup" === actionName) {
|
|
num2 = -1;
|
|
}
|
|
const clampResult = clamp(index + num2, 0, value.length - 1);
|
|
const tmp4Result = PendingBadgeSettings;
|
|
const result = tmp4Result.moveBadgeInDisplayOrder(value, index, clampResult);
|
|
if (result !== value) {
|
|
const result1 = obj.set(result);
|
|
onCommitOrder(result);
|
|
const AccessibilityAnnouncer = tmp4(4541).AccessibilityAnnouncer;
|
|
const announce = AccessibilityAnnouncer.announce;
|
|
const intl = tmp4(1115).intl;
|
|
const obj2 = { from: index + slotOffset + 1, to: clampResult + slotOffset + 1 };
|
|
announce(intl.formatToPlainString(intl7.t.qPHr0x, obj2));
|
|
}
|
|
}
|
|
}, items2);
|
|
items3 = [];
|
|
if (!isFirst) {
|
|
const push = items3.push;
|
|
const obj9 = { name: "moveup", label: intl.string(tmp2(tmp[15]).t.eR2XSh) };
|
|
intl = tmp2(tmp[15]).intl;
|
|
push(obj9);
|
|
}
|
|
if (!isLast) {
|
|
const push2 = items3.push;
|
|
const obj10 = { name: "movedown", label: intl2.string(tmp2(tmp[15]).t.wWi0DL) };
|
|
intl2 = tmp2(tmp[15]).intl;
|
|
push2(obj10);
|
|
}
|
|
function renderTile(ref) {
|
|
let View;
|
|
let fn;
|
|
let formatToPlainString;
|
|
let hidden;
|
|
let items;
|
|
let items1;
|
|
let obj2;
|
|
let obj3;
|
|
let obj4;
|
|
let t;
|
|
let tmp5;
|
|
badge = ref;
|
|
const tmp = sharedValue;
|
|
let obj = { gesture, children: tmp(View, obj2) };
|
|
const GestureDetector = badge(tileSize[29]).GestureDetector;
|
|
obj2 = { style: items, children: tmp(tmp5, obj3) };
|
|
items = [position.position, , ];
|
|
size = { width: tileSize, height: tileSize };
|
|
items[1] = size;
|
|
items[2] = closure_23;
|
|
ref = undefined;
|
|
View = index(tileSize[24]).View;
|
|
const tmp4 = position;
|
|
tmp5 = alwaysVisible;
|
|
if (ref != null) {
|
|
ref = ref.ref;
|
|
}
|
|
obj3 = {
|
|
ref,
|
|
accessible: true,
|
|
accessibilityLabel: formatToPlainString(hidden ? t["dXg/Dl"] : t["21W3EN"], obj4),
|
|
accessibilityActions: items1,
|
|
onAccessibilityAction(nativeEvent) {
|
|
const actionName = nativeEvent.nativeEvent.actionName;
|
|
if ("moveup" !== actionName) {
|
|
if ("movedown" !== actionName) {
|
|
if (ref != null) {
|
|
const onAccessibilityAction = tmp.onAccessibilityAction;
|
|
if (onAccessibilityAction != null) {
|
|
const result = onAccessibilityAction(nativeEvent);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
closure_24(nativeEvent);
|
|
},
|
|
onPress,
|
|
onLongPress: fn,
|
|
delayLongPress: badge(tileSize[12]).CONTEXT_MENU_LONG_PRESS_DURATION_MS,
|
|
style: tmp4.fill,
|
|
children: tmp(closure_23, { badge, alwaysVisible })
|
|
};
|
|
const intl = tmp2(tmp3[15]).intl;
|
|
formatToPlainString = intl.formatToPlainString;
|
|
hidden = badge.hidden;
|
|
t = tmp2(tmp3[15]).t;
|
|
let stringResult;
|
|
obj4 = { badgeName: badge.name, position: index + 1 };
|
|
if (alwaysVisible) {
|
|
const intl2 = tmp2(tmp3[15]).intl;
|
|
const string = intl2.string;
|
|
const tmp2Result = badge(tileSize[22]);
|
|
stringResult = string(tmp2Result.getAlwaysVisibleCopy(tmp10));
|
|
}
|
|
const obj5 = { accessibilityRole: "button", accessibilityHint: stringResult };
|
|
const merged = Object.assign(obj5);
|
|
let accessibilityActions;
|
|
if (ref != null) {
|
|
accessibilityActions = ref.accessibilityActions;
|
|
}
|
|
if (accessibilityActions == null) {
|
|
accessibilityActions = [];
|
|
}
|
|
items1 = [...items3];
|
|
if (alwaysVisible) {
|
|
onPress = closure_14;
|
|
} else if (ref != null) {
|
|
onPress = ref.onPress;
|
|
}
|
|
fn = undefined;
|
|
if (null != ref) {
|
|
fn = (arg0) => {
|
|
const obj = HapticUtils;
|
|
const result = obj.triggerHapticFeedback(ContextMenuConstants.CONTEXT_MENU_OPEN_HAPTIC);
|
|
const onLongPress = ref.onLongPress;
|
|
if (onLongPress != null) {
|
|
onLongPress(arg0);
|
|
}
|
|
};
|
|
}
|
|
return tmp(GestureDetector, obj);
|
|
}
|
|
if (alwaysVisible) {
|
|
renderTileResult = renderTile(null);
|
|
} else {
|
|
const obj11 = { badge, index, onHide, children: renderTile };
|
|
renderTileResult = sharedValue(sharedValue5, obj11);
|
|
}
|
|
return renderTileResult;
|
|
} else {
|
|
throw new TypeError("Trying to call a non-function");
|
|
}
|
|
});
|
|
const __initData6 = { code: "function CustomizeBadgesSheetTsx14({timeSincePreviousFrame:timeSincePreviousFrame}){const{autoScrollSpeed,autoScrollElapsed,MS_PER_FRAME_60FPS,AUTO_SCROLL_PIXELS_PER_SECOND,scrollTo,scrollRef,roundToNearestPixel,scrollOffset}=this.__closure;const speed=autoScrollSpeed.get();if(speed===0||timeSincePreviousFrame==null||timeSincePreviousFrame<=0){return;}autoScrollElapsed.set(autoScrollElapsed.get()+timeSincePreviousFrame);const elapsed=autoScrollElapsed.get();if(elapsed<MS_PER_FRAME_60FPS){return;}autoScrollElapsed.set(0);const delta=speed*AUTO_SCROLL_PIXELS_PER_SECOND*elapsed/1000;scrollTo(scrollRef,0,Math.max(roundToNearestPixel(scrollOffset.get()+delta),0),false);}" };
|
|
const __initData7 = { code: "function CustomizeBadgesSheetTsx15(){const{autoScrollSpeed}=this.__closure;return autoScrollSpeed.get()!==0;}" };
|
|
const __initData8 = { code: "function CustomizeBadgesSheetTsx16(isScrolling,wasScrolling){const{autoScrollElapsed,runOnJS,setAutoScrollerActive}=this.__closure;if(wasScrolling==null||isScrolling===wasScrolling){return;}autoScrollElapsed.set(0);runOnJS(setAutoScrollerActive)(isScrolling);}" };
|
|
size = size_mod;
|
|
let result = size.fileFinishedImporting("modules/badges/native/CustomizeBadgesSheet.tsx");
|
|
|
|
export default function CustomizeBadgesSheet(analyticsLocations) {
|
|
let BottomSheetTitleHeader;
|
|
let Text;
|
|
let Text2;
|
|
let intl;
|
|
let intl2;
|
|
let intl3;
|
|
let intl4;
|
|
let intl5;
|
|
let items16;
|
|
let items17;
|
|
let items18;
|
|
let obj13;
|
|
let obj16;
|
|
let obj17;
|
|
let obj9;
|
|
let onPress;
|
|
let string;
|
|
let t;
|
|
let tmp35Result;
|
|
let analyticsLocations1 = analyticsLocations.analyticsLocations;
|
|
let stateFromStores;
|
|
let stateFromStores1;
|
|
analyticsLocations = undefined;
|
|
let context;
|
|
let stateFromStoresArray;
|
|
let hasCatalog;
|
|
let pendingBadgeDisplayOrder;
|
|
let pendingBadgeHiddenBadges;
|
|
let memo;
|
|
set = undefined;
|
|
let fixedBadges;
|
|
let reorderableBadges;
|
|
let hiddenBadges;
|
|
let memo2;
|
|
let sharedValue;
|
|
let onCommitOrder;
|
|
let sharedValue1;
|
|
MS_PER_FRAME_60FPS = undefined;
|
|
let onHide;
|
|
let badgeTileSize;
|
|
let animatedRef;
|
|
let scrollViewOffset;
|
|
let sharedValue2;
|
|
let sharedValue3;
|
|
let frameCallback;
|
|
let callback1;
|
|
let tmp = onHide();
|
|
let tmp2 = stateFromStores;
|
|
let obj = stateFromStores(stateFromStores1[31]);
|
|
const tenureBadgeHideable = obj.useConfig({ location: "CustomizeBadgesSheet" }).tenureBadgeHideable;
|
|
const sum = Math.max(stateFromStores(stateFromStores1[32])().bottom, hiddenBadges) + 4;
|
|
let obj2 = tenureBadgeHideable(stateFromStores1[33]);
|
|
const items = [pendingBadgeDisplayOrder];
|
|
stateFromStores = obj2.useStateFromStores(items, () => {
|
|
const currentUser = pendingBadgeDisplayOrder.getCurrentUser();
|
|
let id;
|
|
if (currentUser != null) {
|
|
id = currentUser.id;
|
|
}
|
|
return id;
|
|
});
|
|
let obj3 = tenureBadgeHideable(stateFromStores1[33]);
|
|
const items1 = [pendingBadgeDisplayOrder];
|
|
stateFromStores1 = obj3.useStateFromStores(items1, () => {
|
|
const obj = stateFromStores(stateFromStores1[34]);
|
|
return obj.canUsePremiumProfileCustomization(pendingBadgeDisplayOrder.getCurrentUser());
|
|
});
|
|
const tmp8 = stateFromStores(stateFromStores1[35]);
|
|
if (analyticsLocations1 == null) {
|
|
analyticsLocations1 = [];
|
|
}
|
|
analyticsLocations = tmp8(analyticsLocations1, tmp2(tmp3[36]).BADGES_REORDER_ACTION_SHEET).analyticsLocations;
|
|
let obj4 = analyticsLocations;
|
|
context = analyticsLocations.useContext(tmp2(tmp3[37]));
|
|
const items2 = [context, analyticsLocations];
|
|
const callback = analyticsLocations.useCallback(() => {
|
|
let obj3;
|
|
const obj = context;
|
|
if (context != null) {
|
|
obj.close();
|
|
}
|
|
const obj2 = { analyticsLocation: obj3, analyticsLocations, premiumFeatureCardOrder: PremiumFeaturesCards.PremiumFeatureCardOrder.TIER_2_LEADING };
|
|
obj3 = { page: unpackModuleId.USER_SETTINGS, section: reorderableBadges.USER_PROFILE, object: set.BUTTON_CTA };
|
|
const tmp2 = openPremiumModalDefault;
|
|
tmp2(obj2);
|
|
}, items2);
|
|
const items3 = [pendingBadgeHiddenBadges];
|
|
const items4 = [stateFromStores];
|
|
const tmp5Result = tenureBadgeHideable(stateFromStores1[33]);
|
|
stateFromStoresArray = tmp5Result.useStateFromStoresArray(items3, () => BadgeDirectoryStore.getBadges(stateFromStores), items4);
|
|
const items5 = [pendingBadgeHiddenBadges];
|
|
const items6 = [stateFromStores];
|
|
const tmp5Result12 = tenureBadgeHideable(stateFromStores1[33]);
|
|
const stateFromStoresObject = tmp5Result12.useStateFromStoresObject(items5, () => {
|
|
const hasCatalogForResult = null != stateFromStores && BadgeDirectoryStore.hasCatalogFor(tmp);
|
|
const obj = { hasCatalog: hasCatalogForResult, hasCatalogError: BadgeDirectoryStore.hasCatalogFetchErrorFor(stateFromStores) };
|
|
return obj;
|
|
}, items6);
|
|
hasCatalog = stateFromStoresObject.hasCatalog;
|
|
const hasCatalogError = stateFromStoresObject.hasCatalogError;
|
|
const effect = analyticsLocations.useEffect(() => {
|
|
const obj = UserProfileAnalyticsUtils;
|
|
const obj2 = { action: "VIEW_BADGE_CUSTOMIZATION", analyticsLocations };
|
|
const result = obj.trackUserProfileAction(obj2);
|
|
}, []);
|
|
const items7 = [stateFromStores1, hasCatalog, analyticsLocations];
|
|
const effect1 = analyticsLocations.useEffect(() => {
|
|
let obj3;
|
|
const tmp = !stateFromStores1 && hasCatalog;
|
|
if (tmp) {
|
|
const obj2 = { type: PremiumUpsellTypes.BADGE_REORDERING_UPSELL, location: obj3, location_stack: analyticsLocations };
|
|
obj3 = { page: unpackModuleId.USER_SETTINGS, section: reorderableBadges.USER_PROFILE };
|
|
const obj = AnalyticsUtilsDefault;
|
|
obj.track(memo.PREMIUM_UPSELL_VIEWED, obj2);
|
|
}
|
|
}, items7);
|
|
const items8 = [stateFromStores];
|
|
const effect2 = analyticsLocations.useEffect(() => {
|
|
if (null != stateFromStores) {
|
|
const tmp2 = BadgeDirectoryStore.hasCatalogFor(stateFromStores) && !BadgeDirectoryStore.isCatalogStaleFor(stateFromStores);
|
|
if (!tmp2) {
|
|
const obj2 = BadgeDirectoryActionCreators;
|
|
const badgeDirectory = obj2.fetchBadgeDirectory(tmp);
|
|
}
|
|
}
|
|
}, items8);
|
|
const items9 = [hasCatalog];
|
|
const tmp5Result13 = tenureBadgeHideable(stateFromStores1[33]);
|
|
const stateFromStoresObject1 = tmp5Result13.useStateFromStoresObject(items9, () => {
|
|
const pendingChanges = hasCatalog.getPendingChanges();
|
|
return { pendingBadgeDisplayOrder: pendingChanges.pendingBadgeDisplayOrder, pendingBadgeHiddenBadges: pendingChanges.pendingBadgeHiddenBadges };
|
|
}, []);
|
|
pendingBadgeDisplayOrder = stateFromStoresObject1.pendingBadgeDisplayOrder;
|
|
pendingBadgeHiddenBadges = stateFromStoresObject1.pendingBadgeHiddenBadges;
|
|
const items10 = [stateFromStoresArray, pendingBadgeDisplayOrder, pendingBadgeHiddenBadges];
|
|
memo = analyticsLocations.useMemo(() => {
|
|
const obj = PendingBadgeSettings;
|
|
const obj2 = { pendingBadgeDisplayOrder, pendingBadgeHiddenBadges };
|
|
return obj.applyPendingBadgeSettings(stateFromStoresArray, obj2);
|
|
}, items10);
|
|
const items11 = [tenureBadgeHideable];
|
|
set = analyticsLocations.useMemo(() => {
|
|
const obj = BadgeUtils;
|
|
const obj2 = { tenureBadgeHideable };
|
|
return obj.getUnhideableBadgeIds(obj2);
|
|
}, items11);
|
|
const items12 = [memo];
|
|
const memo1 = analyticsLocations.useMemo(() => {
|
|
const obj = BadgeUtils;
|
|
return obj.groupCustomizableBadges(memo);
|
|
}, items12);
|
|
fixedBadges = memo1.fixedBadges;
|
|
reorderableBadges = memo1.reorderableBadges;
|
|
hiddenBadges = memo1.hiddenBadges;
|
|
const items13 = [reorderableBadges];
|
|
memo2 = analyticsLocations.useMemo(() => reorderableBadges.map((badge_id) => badge_id.badge_id), items13);
|
|
const tmp5Result14 = tenureBadgeHideable(stateFromStores1[24]);
|
|
sharedValue = tmp5Result14.useSharedValue(memo2);
|
|
onCommitOrder = tmp2(tmp3[23])((arr) => {
|
|
const obj = tenureBadgeHideable(stateFromStores1[27]);
|
|
const result = obj.setPendingBadgeDisplayOrder(arr);
|
|
});
|
|
const tmp5Result15 = tenureBadgeHideable(stateFromStores1[24]);
|
|
sharedValue1 = tmp5Result15.useSharedValue(false);
|
|
const items14 = [memo2, sharedValue1, sharedValue];
|
|
const effect3 = analyticsLocations.useEffect(() => {
|
|
if (!sharedValue1.get()) {
|
|
const result = sharedValue.set(memo2);
|
|
}
|
|
}, items14);
|
|
MS_PER_FRAME_60FPS = tmp2(tmp3[23])((badge_id) => {
|
|
let obj3;
|
|
let string;
|
|
const mapped = hiddenBadges.map((badge_id) => badge_id.badge_id);
|
|
if (mapped.includes(badge_id.badge_id)) {
|
|
const obj = { badgeId: badge_id.badge_id, hidden: false, reorderableBadgeIds: memo2, hiddenBadgeIds: mapped, canReorder: stateFromStores1 };
|
|
const obj4 = PendingBadgeSettings;
|
|
const result = obj4.setPendingBadgeVisibility(obj);
|
|
const AccessibilityAnnouncer = AccessibilityAnnouncer2.AccessibilityAnnouncer;
|
|
const announce = AccessibilityAnnouncer.announce;
|
|
const intl2 = intl7.intl;
|
|
const obj2 = { badgeName: badge_id.name };
|
|
announce(intl2.formatToPlainString(intl7.t.mehuPg, obj2));
|
|
} else if (set.has(badge_id.badge_id)) {
|
|
const _HermesInternal = HermesInternal;
|
|
const obj5 = { key: "BADGE_ALWAYS_VISIBLE-" + badge_id.badge_id, content: string(obj3.getAlwaysVisibleCopy(badge_id.badge_id)) };
|
|
const open = ToastActionCreatorsDefault.open;
|
|
ToastActionCreatorsDefault;
|
|
const intl = intl7.intl;
|
|
string = intl.string;
|
|
obj3 = BadgeUtils;
|
|
open(obj5);
|
|
}
|
|
});
|
|
onHide = tmp2(tmp3[23])((badgeId) => {
|
|
const obj = PendingBadgeSettings;
|
|
const obj2 = { badgeId: badgeId.badge_id, hidden: true, reorderableBadgeIds: memo2, hiddenBadgeIds: hiddenBadges.map((badge_id) => badge_id.badge_id), canReorder: stateFromStores1 };
|
|
const result = obj.setPendingBadgeVisibility(obj2);
|
|
const AccessibilityAnnouncer = AccessibilityAnnouncer2.AccessibilityAnnouncer;
|
|
const announce = AccessibilityAnnouncer.announce;
|
|
const intl = intl7.intl;
|
|
announce(intl.formatToPlainString(intl7.t.q3t0Ht, { count: 1 }));
|
|
});
|
|
const width = tmp2(tmp3[44])().width;
|
|
const tmp5Result16 = tenureBadgeHideable(stateFromStores1[13]);
|
|
badgeTileSize = tmp5Result16.getBadgeTileSize(width);
|
|
const sum1 = fixedBadges.length + reorderableBadges.length + hiddenBadges.length;
|
|
const rounded = Math.ceil(sum1 / tmp5(tmp3[13]).BADGE_GRID_COLUMNS);
|
|
let num = 0;
|
|
if (rounded > 0) {
|
|
let result = rounded * badgeTileSize;
|
|
const diff = rounded - 1;
|
|
num = result + diff * tmp5(tmp3[13]).BADGE_GRID_GAP;
|
|
}
|
|
const tmp5Result17 = tenureBadgeHideable(stateFromStores1[24]);
|
|
animatedRef = tmp5Result17.useAnimatedRef();
|
|
const tmp5Result18 = tenureBadgeHideable(stateFromStores1[24]);
|
|
scrollViewOffset = tmp5Result18.useScrollViewOffset(animatedRef);
|
|
const tmp5Result19 = tenureBadgeHideable(stateFromStores1[24]);
|
|
sharedValue2 = tmp5Result19.useSharedValue(0);
|
|
const tmp5Result20 = tenureBadgeHideable(stateFromStores1[24]);
|
|
sharedValue3 = tmp5Result20.useSharedValue(0);
|
|
function ee(timeSincePreviousFrame) {
|
|
timeSincePreviousFrame = timeSincePreviousFrame.timeSincePreviousFrame;
|
|
const value = sharedValue2.get();
|
|
if (0 !== value) {
|
|
if (null != timeSincePreviousFrame) {
|
|
if (timeSincePreviousFrame > 0) {
|
|
const result = sharedValue3.set(sharedValue3.get() + timeSincePreviousFrame);
|
|
const value2 = sharedValue3.get();
|
|
const obj = sharedValue3;
|
|
if (value2 >= c18) {
|
|
const result1 = obj.set(0);
|
|
const _Math = Math;
|
|
const scrollTo = ReanimatedRexport.scrollTo;
|
|
const tmp13 = roundToNearestPixelDefault;
|
|
scrollTo(animatedRef, 0, max(tmp13(scrollViewOffset.get() + 700 * value * value2 / 1000), 0), false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const tmp5Result21 = tenureBadgeHideable(stateFromStores1[24]);
|
|
let obj5 = { autoScrollSpeed: sharedValue2, autoScrollElapsed: sharedValue3, MS_PER_FRAME_60FPS, AUTO_SCROLL_PIXELS_PER_SECOND: 700, scrollTo: tmp5(tmp3[24]).scrollTo, scrollRef: animatedRef, roundToNearestPixel: tmp2(tmp3[45]), scrollOffset: scrollViewOffset };
|
|
ee.__closure = obj5;
|
|
ee.__workletHash = 8297629116909;
|
|
ee.__initData = __initData6;
|
|
frameCallback = tmp5Result21.useFrameCallback(ee, false);
|
|
const items15 = [frameCallback];
|
|
callback1 = obj4.useCallback((arg0) => {
|
|
frameCallback.setActive(arg0);
|
|
}, items15);
|
|
function ie() {
|
|
return 0 !== sharedValue2.get();
|
|
}
|
|
ie.__closure = { autoScrollSpeed: sharedValue2 };
|
|
ie.__workletHash = 16801023005760;
|
|
ie.__initData = __initData7;
|
|
function te(arg0, arg1) {
|
|
const tmp = null != arg1 && arg0 !== arg1;
|
|
if (tmp) {
|
|
const result = sharedValue3.set(0);
|
|
const obj = ReanimatedRexport;
|
|
obj.runOnJS(callback1)(arg0);
|
|
}
|
|
}
|
|
const tmp5Result22 = tenureBadgeHideable(stateFromStores1[24]);
|
|
te.__closure = { autoScrollElapsed: sharedValue3, runOnJS: tenureBadgeHideable(stateFromStores1[24]).runOnJS, setAutoScrollerActive: callback1 };
|
|
te.__workletHash = 12755360860907;
|
|
te.__initData = __initData8;
|
|
({ autoScrollElapsed: sharedValue3, runOnJS: tenureBadgeHideable(stateFromStores1[24]).runOnJS, setAutoScrollerActive: callback1 });
|
|
const animatedReaction = tmp5Result22.useAnimatedReaction(ie, te);
|
|
if (hasCatalog) {
|
|
let tmp40 = !stateFromStores1;
|
|
const obj7 = { style: tmp.gridInset, children: items16 };
|
|
if (tmp40) {
|
|
const obj8 = { style: tmp.upsell, ctaText: intl2.string(tenureBadgeHideable(stateFromStores1[15]).t.pj0XBN), cardStyle: null, contentStyle: null, ctaStyle: null, showLinearGradient: true, onPress: callback, children: sharedValue(Text2, obj9) };
|
|
const tmp2Result = tmp2(stateFromStores1[46]);
|
|
intl2 = tmp5(tmp3[15]).intl;
|
|
({ upsellCard: obj23.cardStyle, upsellContent: obj23.contentStyle, upsellCta: obj23.ctaStyle } = tmp);
|
|
obj9 = { variant: "text-sm/normal", style: tmp.upsellText, children: intl3.string(tenureBadgeHideable(stateFromStores1[15]).t.JrOki0) };
|
|
Text2 = tmp5(tmp3[20]).Text;
|
|
intl3 = tmp5(tmp3[15]).intl;
|
|
tmp40 = sharedValue(tmp2Result, obj8);
|
|
}
|
|
items16 = [tmp40, ];
|
|
const obj10 = { accessibilityRole: "list", style: items17, children: items18 };
|
|
items17 = [tmp.grid, ];
|
|
const obj11 = { height: num };
|
|
items17[1] = obj11;
|
|
items18 = [
|
|
fixedBadges.map((badge, index) => {
|
|
const obj = { badge, index, tileSize: badgeTileSize, alwaysVisible: set.has(badge.badge_id), onPress };
|
|
return sharedValue(closure_24, obj, badge.badge_id);
|
|
}),
|
|
reorderableBadges.map((badge, index) => {
|
|
let tmpResult;
|
|
if (stateFromStores1) {
|
|
const obj2 = { badge, index: fixedBadges.length + index, tileSize: badgeTileSize, slotOffset: fixedBadges.length, isFirst: 0 === index, isLast: index === reorderableBadges.length - 1, alwaysVisible: set.has(badge.badge_id), orderShared: sharedValue, isDragActive: sharedValue1, scrollRef: animatedRef, scrollOffset: scrollViewOffset, autoScrollSpeed: sharedValue2, onCommitOrder, onHide, onPress };
|
|
tmpResult = tmp(closure_37, obj2, badge.badge_id);
|
|
} else {
|
|
const obj = { badge, index: fixedBadges.length + index, tileSize: badgeTileSize, alwaysVisible: set.has(badge.badge_id), onPress, onHide };
|
|
tmpResult = tmp(closure_24, obj, badge.badge_id);
|
|
}
|
|
return tmpResult;
|
|
}),
|
|
hiddenBadges.map((badge, index) => {
|
|
const obj = { badge, index: fixedBadges.length + reorderableBadges.length + index, tileSize: badgeTileSize, alwaysVisible: set.has(badge.badge_id), onPress };
|
|
return sharedValue(closure_24, obj, badge.badge_id);
|
|
})
|
|
];
|
|
items16[1] = onCommitOrder(stateFromStoresArray, obj10);
|
|
tmp35Result = tmp38(tmp39, obj7);
|
|
} else {
|
|
let obj14;
|
|
const tmp36 = stateFromStoresArray;
|
|
if (hasCatalogError) {
|
|
const obj12 = { style: tmp.message, accessibilityRole: "alert", children: sharedValue(Text, obj13) };
|
|
obj13 = { variant: "text-md/normal", color: "text-muted", style: tmp.messageText, children: intl.string(tenureBadgeHideable(stateFromStores1[15]).t["rTU7/z"]) };
|
|
Text = tmp5(tmp3[20]).Text;
|
|
intl = tmp5(tmp3[15]).intl;
|
|
obj14 = obj12;
|
|
} else {
|
|
obj14 = { style: tmp.message, children: sharedValue(tmp5(tmp3[47]).ActivityIndicator, { animating: true, size: "large" }) };
|
|
}
|
|
tmp35Result = tmp35(tmp36, obj14);
|
|
}
|
|
const obj15 = { startExpanded: true, scrollable: true, dismissAccessibilityLabel: intl4.string(tenureBadgeHideable(stateFromStores1[15]).t.x5SfWU), header: sharedValue(BottomSheetTitleHeader, obj16), children: sharedValue(tenureBadgeHideable(stateFromStores1[50]).BottomSheetScrollView, obj17) };
|
|
BottomSheet = tmp5(tmp3[48]).BottomSheet;
|
|
intl4 = tmp5(tmp3[15]).intl;
|
|
obj16 = { title: intl5.string(tenureBadgeHideable(stateFromStores1[15]).t.x5SfWU), subtitle: string(stateFromStores1 ? t["Vzc4+8"] : t.ZuXSRp) };
|
|
BottomSheetTitleHeader = tmp5(tmp3[49]).BottomSheetTitleHeader;
|
|
intl5 = tmp5(tmp3[15]).intl;
|
|
const intl6 = tmp5(tmp3[15]).intl;
|
|
string = intl6.string;
|
|
t = tmp5(tmp3[15]).t;
|
|
obj17 = { ref: animatedRef, contentContainerStyle: { paddingBottom: sum }, children: tmp35Result };
|
|
return sharedValue(BottomSheet, obj15);
|
|
};
|