decord/beta/source/modules/badges/native/CustomizeBadgesSheet.tsx
2026-10-12 16:32:48 +00:00

1863 lines
86 KiB
TypeScript

// Module ID: 14877
// Function ID: 14878
// Name: CustomizeBadgesSheet
// Dependencies: [19, 17, 8285, 1390, 8317, 1085, 6841, 1392, 21, 5092, 587, 5057, 9365, 14878, 558, 576, 1126, 6652, 6650, 9363, 5046, 10570, 5088, 6182, 10579, 8542, 6646, 4850, 5093, 5096, 13387, 9364, 6335, 4828, 10572, 1631, 504, 4769, 6852, 6879, 6842, 9394, 9395, 8316, 1265, 8322, 4809, 1497, 11577, 14879, 6154, 6840, 6839, 6307, 2]
// Exports: default
// Module 14877 (CustomizeBadgesSheet)
import react2 from "react" /* 576 */;
import nativeDefault from "native" /* 587 */;
import intl7 from "intl" /* 1126 */;
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1265 */;
import PremiumConstants from "PremiumConstants" /* 1392 */;
import ToastActionCreatorsDefault from "ToastActionCreators" /* 4809 */;
import AccessibilityAnnouncer2 from "AccessibilityAnnouncer" /* 4828 */;
import ReanimatedRexport from "ReanimatedRexport" /* 4850 */;
import CircleInformationIcon2 from "CircleInformationIcon" /* 5046 */;
import HapticUtils from "HapticUtils" /* 5057 */;
import Text_Text from "Text/Text" /* 5088 */;
import timing from "timing" /* 5093 */;
import timingPresets from "timingPresets" /* 5096 */;
import Card_Card from "Card/Card" /* 6182 */;
import EyeSlashIcon2 from "EyeSlashIcon" /* 6650 */;
import ActionSheetConstants from "ActionSheetConstants" /* 6841 */;
import UserProfileAnalyticsUtils from "UserProfileAnalyticsUtils" /* 8316 */;
import BadgeDirectoryActionCreators from "BadgeDirectoryActionCreators" /* 8322 */;
import native from "native" /* 8542 */;
import ContextMenu2 from "ContextMenu" /* 9363 */;
import ContextMenuState from "ContextMenuState" /* 9364 */;
import ContextMenuConstants from "ContextMenuConstants" /* 9365 */;
import openPremiumModalDefault from "openPremiumModal" /* 9394 */;
import PremiumFeaturesCards from "PremiumFeaturesCards" /* 9395 */;
import BadgeCatalogIconDefault from "BadgeCatalogIcon" /* 10570 */;
import BadgeUtils from "BadgeUtils" /* 10579 */;
import roundToNearestPixelDefault from "roundToNearestPixel" /* 11577 */;
import PendingBadgeSettings from "PendingBadgeSettings" /* 13387 */;
import BadgeGrid from "BadgeGrid" /* 14878 */;
import react from "react" /* 19 */;
import react_native from "react-native" /* 17 */;
import UserProfileSettingsStore from "UserProfileSettingsStore" /* 8285 */;
import UserStore from "UserStore" /* 1390 */;
import BadgeDirectoryStore from "BadgeDirectoryStore" /* 8317 */;
import Constants from "Constants" /* 1085 */;
import Fragment from "Fragment" /* 21 */;
import createStyles_mod from "createStyles" /* 5092 */;
import ReactCompilerGating_mod from "ReactCompilerGating" /* 558 */;
import size_mod from "module_2" /* 2 */;
let BottomSheet, set, set2, set3;
let Platform;
let c10;
let c9;
let closure_14;
let closure_15;
let closure_4;
let metroImportAll;
let obj10;
let obj11;
let obj2;
let obj3;
let obj4;
let obj5;
let obj6;
let obj7;
let obj8;
let size;
let unpackModuleId;
({ Platform, View: closure_4 } = react_native);
({ AnalyticEvents: metroImportAll, AnalyticsObjects: c9, AnalyticsPages: c10, AnalyticsSections: unpackModuleId } = Constants);
let closure_12 = ActionSheetConstants.ACTION_SHEET_MINIMUM_BOTTOM_PADDING;
const PremiumUpsellTypes = PremiumConstants.PremiumUpsellTypes;
({ jsx: closure_14, jsxs: closure_15 } = Fragment);
let c16 = 1.05;
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);
let ReactCompilerGating = ReactCompilerGating_mod;
let closure_20 = ReactCompilerGating.isReactCompilerEnabled() ? (function BadgeVisibilityMenu(badge) {
let EyeSlashIcon;
let index;
let onSetHidden;
let tmp4;
const obj = react2;
const cResult = obj.c(16);
badge = badge.badge;
({ index, onSetHidden } = badge);
const children = badge.children;
let flag = badge.hidden;
if (flag == null) {
flag = false;
}
if (cResult[0] !== flag) {
const intl = tmp(1126).intl;
const string = intl.string;
const t = tmp(1126).t;
const stringResult = string(flag ? t.RXOPc3 : t.xSWJPo);
cResult[0] = flag;
cResult[1] = stringResult;
tmp4 = stringResult;
} else {
tmp4 = cResult[1];
}
if (flag) {
EyeSlashIcon = tmp(6652).EyeIcon;
} else {
EyeSlashIcon = tmp(6650).EyeSlashIcon;
}
if (cResult[2] === badge) {
if (cResult[3] === flag) {
let tmp6;
if (cResult[4] === onSetHidden) {
tmp6 = cResult[5];
}
if (cResult[6] === tmp4) {
if (cResult[7] === EyeSlashIcon) {
let tmp7;
let tmp8;
if (cResult[8] === tmp6) {
tmp7 = cResult[9];
}
if (cResult[10] !== index) {
const result = index % tmp(14878).BADGE_GRID_COLUMNS;
let str = "right";
if (0 !== result) {
let str2 = "above";
if (result === BadgeGrid.BADGE_GRID_COLUMNS - 1) {
str2 = "left";
}
str = str2;
}
cResult[10] = index;
cResult[11] = str;
tmp8 = str;
} else {
tmp8 = cResult[11];
}
if (cResult[12] === children) {
if (cResult[13] === tmp7) {
let tmp10;
if (cResult[14] === tmp8) {
tmp10 = cResult[15];
}
return tmp10;
}
}
const obj2 = { items: tmp7, align: tmp8, disableGesture: true, triggerOnLongPress: true, children };
const tmp12 = syncedClientThemes(ContextMenu2.ContextMenu, obj2);
cResult[12] = children;
cResult[13] = tmp7;
cResult[14] = tmp8;
cResult[15] = tmp12;
tmp10 = tmp12;
}
}
const items = [{ label: tmp4, trailingIndicator: EyeSlashIcon, action: tmp6 }];
const obj3 = { label: tmp4, trailingIndicator: EyeSlashIcon, action: tmp6 };
cResult[6] = tmp4;
cResult[7] = EyeSlashIcon;
cResult[8] = tmp6;
cResult[9] = items;
tmp7 = items;
}
}
const fn = function p() {
return onSetHidden(badge, !flag);
};
cResult[2] = badge;
cResult[3] = flag;
cResult[4] = onSetHidden;
cResult[5] = fn;
tmp6 = fn;
}) : (function BadgeVisibilityMenu(badge) {
let EyeSlashIcon;
let children;
let index;
let items;
let str;
badge = badge.badge;
const onSetHidden = badge.onSetHidden;
let flag = badge.hidden;
({ index, children } = badge);
if (flag == null) {
flag = false;
}
const ContextMenu = ContextMenu2.ContextMenu;
const intl = intl7.intl;
const string = intl.string;
const t = intl7.t;
const obj = {
label: string(flag ? t.RXOPc3 : t.xSWJPo),
trailingIndicator: EyeSlashIcon,
action() {
return onSetHidden(badge, !flag);
}
};
const tmp = syncedClientThemes;
if (flag) {
EyeSlashIcon = tmp2(6652).EyeIcon;
} else {
EyeSlashIcon = tmp2(6650).EyeSlashIcon;
}
const obj2 = { items, align: str, disableGesture: true, triggerOnLongPress: true, children };
items = [obj];
const result = index % tmp2(14878).BADGE_GRID_COLUMNS;
str = "right";
if (0 !== result) {
let str2 = "above";
if (result === BadgeGrid.BADGE_GRID_COLUMNS - 1) {
str2 = "left";
}
str = str2;
}
return tmp(ContextMenu, obj2);
});
createStyles = createStyles_mod;
let obj9 = { position: { position: "absolute" }, fill: { flex: 1 }, card: { flex: 1, alignItems: "center", justifyContent: "center", padding: 0 }, icon: obj10, name: obj11, indicator: size, iconHidden: { opacity: 0.3 } };
obj10 = { marginBottom: nativeDefault.space.PX_12 };
const createStyles2 = createStyles.createStyles;
obj11 = { position: "absolute", start: 0, end: 0, bottom: nativeDefault.space.PX_8, paddingHorizontal: nativeDefault.space.PX_12, 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)};}" };
ReactCompilerGating = ReactCompilerGating_mod;
let closure_23 = ReactCompilerGating.isReactCompilerEnabled() ? (function BadgeTileContent(badge) {
let items;
let tmp5;
const obj = react2;
const cResult = obj.c(20);
badge = badge.badge;
const alwaysVisible = badge.alwaysVisible;
const tmp4 = closure_21();
let flag = badge.hidden;
if (flag == null) {
flag = false;
}
if (alwaysVisible) {
let first;
const _Symbol2 = Symbol;
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
const obj2 = { size: "sm", color: nativeDefault.colors.INTERACTIVE_ICON_DEFAULT };
const CircleInformationIcon = tmp(5046).CircleInformationIcon;
const tmp15 = syncedClientThemes(CircleInformationIcon, obj2);
cResult[0] = tmp15;
first = tmp15;
} else {
first = cResult[0];
}
tmp5 = first;
} else {
tmp5 = null;
if (flag) {
let tmp7;
const _Symbol = Symbol;
if (cResult[1] === Symbol.for("react.memo_cache_sentinel")) {
const obj3 = { size: "sm", color: nativeDefault.colors.ICON_MUTED };
const EyeSlashIcon = tmp(6650).EyeSlashIcon;
const tmp10 = syncedClientThemes(EyeSlashIcon, obj3);
cResult[1] = tmp10;
tmp7 = tmp10;
} else {
tmp7 = cResult[1];
}
tmp5 = tmp7;
}
}
if (cResult[2] === tmp4.icon) {
let tmp17;
if (cResult[3] === (flag && tmp4.iconHidden)) {
tmp17 = cResult[4];
}
if (cResult[5] === badge) {
let tmp18;
if (cResult[6] === tmp17) {
tmp18 = cResult[7];
}
let str3 = "text-default";
if (flag) {
str3 = "text-muted";
}
if (cResult[8] === badge.name) {
if (cResult[9] === tmp4.name) {
let tmp23;
if (cResult[10] === str3) {
tmp23 = cResult[11];
}
if (cResult[12] === tmp5) {
let tmp26;
if (cResult[13] === tmp4.indicator) {
tmp26 = cResult[14];
}
if (cResult[15] === tmp4.card) {
if (cResult[16] === tmp18) {
if (cResult[17] === tmp23) {
let tmp30;
if (cResult[18] === tmp26) {
tmp30 = cResult[19];
}
return tmp30;
}
}
}
const obj4 = { variant: "secondary", border: "none", radius: 16, style: tmp4.card, children: items };
items = [tmp18, tmp23, tmp26];
const tmp32 = authStore3(Card_Card.Card, obj4);
cResult[15] = tmp4.card;
cResult[16] = tmp18;
cResult[17] = tmp23;
cResult[18] = tmp26;
cResult[19] = tmp32;
tmp30 = tmp32;
}
let tmp27 = null != tmp5;
if (tmp27) {
const obj5 = { style: tmp4.indicator, "aria-hidden": true, children: tmp5 };
tmp27 = syncedClientThemes(React3, obj5);
}
cResult[12] = tmp5;
cResult[13] = tmp4.indicator;
cResult[14] = tmp27;
tmp26 = tmp27;
}
}
const obj6 = { variant: "text-xs/medium", color: str3, lineClamp: 1, style: tmp4.name, "aria-hidden": true, children: badge.name };
const tmp25 = syncedClientThemes(Text_Text.Text, obj6);
cResult[8] = badge.name;
cResult[9] = tmp4.name;
cResult[10] = str3;
cResult[11] = tmp25;
tmp23 = tmp25;
}
const obj7 = { badge, size: BadgeGrid.BADGE_TILE_ICON_SIZE, style: tmp17 };
const tmp21 = BadgeCatalogIconDefault;
const tmp22 = syncedClientThemes(tmp21, obj7);
cResult[5] = badge;
cResult[6] = tmp17;
cResult[7] = tmp22;
tmp18 = tmp22;
}
const items1 = [tmp4.icon, flag && tmp4.iconHidden];
cResult[2] = tmp4.icon;
cResult[3] = flag && tmp4.iconHidden;
cResult[4] = items1;
tmp17 = items1;
}) : (function BadgeTileContent(badge) {
let items;
let items1;
let tmp2;
badge = badge.badge;
const alwaysVisible = badge.alwaysVisible;
const tmp = closure_21();
let flag = badge.hidden;
if (flag == null) {
flag = false;
}
if (alwaysVisible) {
const obj2 = { size: "sm", color: nativeDefault.colors.INTERACTIVE_ICON_DEFAULT };
const CircleInformationIcon = CircleInformationIcon2.CircleInformationIcon;
tmp2 = syncedClientThemes(CircleInformationIcon, obj2);
} else {
tmp2 = null;
if (flag) {
const obj = { size: "sm", color: nativeDefault.colors.ICON_MUTED };
const EyeSlashIcon = EyeSlashIcon2.EyeSlashIcon;
tmp2 = syncedClientThemes(EyeSlashIcon, obj);
}
}
const obj3 = { variant: "secondary", border: "none", radius: 16, style: tmp.card, children: items1 };
const Card = Card_Card.Card;
const obj4 = { badge, size: BadgeGrid.BADGE_TILE_ICON_SIZE, style: items };
items = [tmp.icon, flag && tmp.iconHidden];
const tmp15 = BadgeCatalogIconDefault;
items1 = [syncedClientThemes(tmp15, obj4), , ];
let str = "text-default";
const Text = Text_Text.Text;
const tmp11 = authStore3;
if (flag) {
str = "text-muted";
}
const obj5 = { variant: "text-xs/medium", color: str, lineClamp: 1, style: tmp.name, "aria-hidden": true, children: badge.name };
items1[1] = syncedClientThemes(Text, obj5);
let tmp14Result = null != tmp2;
if (tmp14Result) {
const obj6 = { style: tmp.indicator, "aria-hidden": true, children: tmp2 };
tmp14Result = tmp14(React3, obj6);
}
items1[2] = tmp14Result;
return tmp11(Card, obj3);
});
let memo = react.memo;
ReactCompilerGating = ReactCompilerGating_mod;
let closure_24 = memo(ReactCompilerGating.isReactCompilerEnabled() ? (function FixedBadgeTile(badge) {
let alwaysVisible;
let result;
let rounded;
let tileSize;
let tmp5;
let x;
let y;
const tmp = badge;
const tmp2 = alwaysVisible;
let obj = badge(alwaysVisible[15]);
const cResult = obj.c(26);
badge = badge.badge;
const index = badge.index;
({ tileSize, alwaysVisible } = badge);
let onPress = badge.onPress;
const onSetHidden = badge.onSetHidden;
const tmp4 = closure_21();
if (cResult[0] === index) {
if (cResult[1] === tileSize) {
tmp5 = cResult[2];
}
({ x, y } = tmp5);
if (cResult[3] === badge) {
let tmp9;
if (cResult[4] === onPress) {
tmp9 = cResult[5];
}
let closure_4 = tmp9;
if (cResult[6] === tileSize) {
if (cResult[7] === x) {
let tmp10;
if (cResult[8] === y) {
tmp10 = cResult[9];
}
if (cResult[10] === tmp4.position) {
let tmp11;
if (cResult[11] === tmp10) {
tmp11 = cResult[12];
}
const style = tmp11;
if (cResult[13] === alwaysVisible) {
if (cResult[14] === badge) {
if (cResult[15] === tmp9) {
if (cResult[16] === index) {
let tmp12;
let tmp18;
if (cResult[17] === tmp11) {
tmp12 = cResult[18];
}
if (!alwaysVisible) {
let tmp14;
if (null != onSetHidden) {
if (cResult[21] === badge) {
if (cResult[22] === index) {
if (cResult[23] === onSetHidden) {
if (cResult[24] === tmp12) {
tmp14 = cResult[25];
}
}
}
}
let obj2 = { badge, index, onSetHidden, children: tmp12 };
const tmp17 = closure_14(closure_20, obj2);
cResult[21] = badge;
cResult[22] = index;
cResult[23] = onSetHidden;
cResult[24] = tmp12;
cResult[25] = tmp17;
tmp14 = tmp17;
}
return tmp14;
}
if (cResult[19] !== tmp12) {
const tmp12Result = tmp12(null);
cResult[19] = tmp12;
cResult[20] = tmp12Result;
tmp18 = tmp12Result;
} else {
tmp18 = cResult[20];
}
tmp14 = tmp18;
}
}
}
}
function renderTile(ref) {
let accessibilityActions;
let fn;
let formatToPlainString;
let hidden;
let obj2;
let prop;
let t;
let closure_0 = ref;
ref = undefined;
const PressableScale = native.PressableScale;
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, children: tmp(closure_23, { badge, alwaysVisible }) };
const intl = tmp2(1126).intl;
formatToPlainString = intl.formatToPlainString;
hidden = badge.hidden;
t = tmp2(1126).t;
let stringResult;
obj2 = { badgeName: badge.name, position: index + 1 };
if (alwaysVisible) {
const intl2 = tmp2(1126).intl;
const string = intl2.string;
const tmp2Result = BadgeUtils;
stringResult = string(tmp2Result.getAlwaysVisibleCopy(tmp8));
}
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 = closure_4;
} 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 syncedClientThemes(PressableScale, obj);
}
cResult[13] = alwaysVisible;
cResult[14] = badge;
cResult[15] = tmp9;
cResult[16] = index;
cResult[17] = tmp11;
cResult[18] = renderTile;
tmp12 = renderTile;
}
const items = [tmp4.position, tmp10];
cResult[10] = tmp4.position;
cResult[11] = tmp10;
cResult[12] = items;
tmp11 = items;
}
}
size = { left: x, top: y, width: tileSize, height: tileSize };
cResult[6] = tileSize;
cResult[7] = x;
cResult[8] = y;
cResult[9] = size;
tmp10 = size;
}
let fn = function h() {
onPress(badge);
};
cResult[3] = badge;
cResult[4] = onPress;
cResult[5] = fn;
tmp9 = fn;
}
if (typeof getSlotOffset === "function") {
const point = { x: result * (tileSize + tmp(tmp2[13]).BADGE_GRID_GAP), y: rounded * (tileSize + tmp(tmp2[13]).BADGE_GRID_GAP) };
result = index % tmp(tmp2[13]).BADGE_GRID_COLUMNS;
const _Math = Math;
rounded = Math.floor(index / tmp(tmp2[13]).BADGE_GRID_COLUMNS);
cResult[0] = index;
cResult[1] = tileSize;
cResult[2] = point;
tmp5 = point;
} else {
throw new TypeError("Trying to call a non-function");
}
}) : (function FixedBadgeTile(badge) {
let alwaysVisible;
let tileSize;
badge = badge.badge;
const index = badge.index;
({ tileSize, alwaysVisible } = badge);
let onPress = badge.onPress;
const onSetHidden = badge.onSetHidden;
let closure_4;
let items1;
if (typeof getSlotOffset === "function") {
function renderTile(ref) {
let accessibilityActions;
let fn;
let formatToPlainString;
let hidden;
let obj2;
let prop;
let t;
let closure_0 = ref;
ref = undefined;
const PressableScale = native.PressableScale;
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(closure_23, { badge, alwaysVisible }) };
const intl = tmp2(1126).intl;
formatToPlainString = intl.formatToPlainString;
hidden = badge.hidden;
t = tmp2(1126).t;
let stringResult;
obj2 = { badgeName: badge.name, position: index + 1 };
if (alwaysVisible) {
const intl2 = tmp2(1126).intl;
const string = intl2.string;
const tmp2Result = BadgeUtils;
stringResult = string(tmp2Result.getAlwaysVisibleCopy(tmp8));
}
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 = closure_4;
} 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 syncedClientThemes(PressableScale, obj);
}
const tmp2 = badge;
let result = index % badge(alwaysVisible[13]).BADGE_GRID_COLUMNS;
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 items = [badge, onPress];
const result2 = rounded * (tileSize + badge(alwaysVisible[13]).BADGE_GRID_GAP);
closure_4 = onPress.useCallback(() => {
onPress(badge);
}, items);
items1 = [tmp.position, ];
size = { left: result1, top: result2, width: tileSize, height: tileSize };
items1[1] = size;
if (!alwaysVisible) {
let renderTileResult;
if (null != onSetHidden) {
let obj = { badge, index, onSetHidden, children: renderTile };
renderTileResult = closure_14(closure_20, obj);
}
return renderTileResult;
}
renderTileResult = renderTile(null);
} else {
throw new TypeError("Trying to call a non-function");
}
}));
const __initData = { 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 __initData2 = { 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 __initData3 = { 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 __initData4 = { code: "function CustomizeBadgesSheetTsx5(){const{scrollOffset}=this.__closure;return scrollOffset.get();}" };
const __initData5 = { code: "function CustomizeBadgesSheetTsx6(offset,previousOffset){const{isThisTileDragging,positionY,reslot}=this.__closure;if(previousOffset==null||!isThisTileDragging.get()){return;}positionY.set(positionY.get()+(offset-previousOffset));reslot();}" };
const __initData6 = { 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_0=dragViewport.get();if(viewport_0==null){return;}const fromTop=event.absoluteY-viewport_0.pageY;const fromBottom=viewport_0.pageY+viewport_0.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_0=orderShared.get();const slot_0=order_0.indexOf(badgeId);if(slot_0>=0){const target_0=getSlotOffset(slot_0+slotOffset,tileSize);positionX.set(withTiming(target_0.x,timingStandard));positionY.set(withTiming(target_0.y,timingStandard));}scale.set(withTiming(1,timingStandard));isThisTileDragging.set(false);isAnyDragActive.set(false);runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.DRAG_AND_DROP_END);runOnJS(onCommitOrder)(order_0);}" };
let closure_33 = { code: "function CustomizeBadgesSheetTsx10(){const{handleStart}=this.__closure;handleStart();}" };
let closure_34 = { code: "function CustomizeBadgesSheetTsx11(event_0){const{handleChange}=this.__closure;handleChange(event_0);}" };
let closure_35 = { code: "function CustomizeBadgesSheetTsx12(){const{handleFinalize}=this.__closure;handleFinalize();}" };
let closure_36 = { 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()}]};}" };
const __initData7 = { code: "function CustomizeBadgesSheetTsx14(){const{orderShared,badgeId,getSlotOffset,slotOffset,tileSize}=this.__closure;const slot=orderShared.get().indexOf(badgeId);return slot<0?null:getSlotOffset(slot+slotOffset,tileSize);}" };
const __initData8 = { code: "function CustomizeBadgesSheetTsx15(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 __initData9 = { code: "function CustomizeBadgesSheetTsx16(){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 __initData10 = { code: "function CustomizeBadgesSheetTsx17(){const{scrollOffset}=this.__closure;return scrollOffset.get();}" };
const __initData11 = { code: "function CustomizeBadgesSheetTsx18(offset,previousOffset){const{isThisTileDragging,positionY,reslot}=this.__closure;if(previousOffset==null||!isThisTileDragging.get()){return;}positionY.set(positionY.get()+(offset-previousOffset));reslot();}" };
let closure_42 = { code: "function handleStart_CustomizeBadgesSheetTsx19(){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_43 = { code: "function handleChange_CustomizeBadgesSheetTsx20(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_0=dragViewport.get();if(viewport_0==null){return;}const fromTop=event.absoluteY-viewport_0.pageY;const fromBottom=viewport_0.pageY+viewport_0.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_44 = { code: "function handleFinalize_CustomizeBadgesSheetTsx21(){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_0=orderShared.get();const slot_0=order_0.indexOf(badgeId);if(slot_0>=0){const target_0=getSlotOffset(slot_0+slotOffset,tileSize);positionX.set(withTiming(target_0.x,timingStandard));positionY.set(withTiming(target_0.y,timingStandard));}scale.set(withTiming(1,timingStandard));isThisTileDragging.set(false);isAnyDragActive.set(false);runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.DRAG_AND_DROP_END);runOnJS(onCommitOrder)(order_0);}" };
let closure_45 = { code: "function CustomizeBadgesSheetTsx22(){const{handleFinalize}=this.__closure;handleFinalize();}" };
let closure_46 = { code: "function CustomizeBadgesSheetTsx23(event_0){const{handleChange}=this.__closure;handleChange(event_0);}" };
let closure_47 = { code: "function CustomizeBadgesSheetTsx24(){const{handleStart}=this.__closure;handleStart();}" };
const __initData12 = { code: "function CustomizeBadgesSheetTsx25(){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 memo2 = react.memo;
ReactCompilerGating = ReactCompilerGating_mod;
let closure_49 = memo2(ReactCompilerGating.isReactCompilerEnabled() ? (function DraggableBadgeTile(badge) {
let alwaysVisible;
let args;
let gesture;
let isFirst;
let isLast;
let result;
let rounded;
let tileSize;
const tmp = badge;
let tmp2 = tileSize;
let obj = badge(tileSize[15]);
const cResult = obj.c(75);
badge = badge.badge;
let index = badge.index;
tileSize = badge.tileSize;
const slotOffset = badge.slotOffset;
({ isFirst, isLast, alwaysVisible } = badge);
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 tmp4 = closure_21();
const position = tmp4;
const badge_id = badge.badge_id;
if (cResult[0] === badge) {
let tmp5;
if (cResult[1] === onPress) {
tmp5 = cResult[2];
}
let closure_14 = index(tmp2[26])(tmp5);
const tmp7 = index(tmp2[26])(tmp5);
let tmpResult = tmp(tmp2[27]);
const sharedValue = tmpResult.useSharedValue(false);
const tmp9 = null;
const tmpResult8 = tmp(tmp2[27]);
const sharedValue1 = tmpResult8.useSharedValue(null);
const tmp11 = getSlotOffset;
if (typeof getSlotOffset === "function") {
let point = { x: result * (tileSize + tmp(tmp2[13]).BADGE_GRID_GAP), y: rounded * (tileSize + tmp(tmp2[13]).BADGE_GRID_GAP) };
result = index % tmp(tmp2[13]).BADGE_GRID_COLUMNS;
let _Math = Math;
rounded = Math.floor(index / tmp(tmp2[13]).BADGE_GRID_COLUMNS);
const tmpResult9 = tmp(tmp2[27]);
const sharedValue2 = tmpResult9.useSharedValue(point.x);
const tmpResult10 = tmp(tmp2[27]);
const sharedValue3 = tmpResult10.useSharedValue(point.y);
const tmpResult11 = tmp(tmp2[27]);
const sharedValue4 = tmpResult11.useSharedValue(point);
let num = 1;
const tmpResult12 = tmp(tmp2[27]);
const sharedValue5 = tmpResult12.useSharedValue(1);
const tmpResult13 = tmp(tmp2[27]);
class Z {
constructor() {
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 obj2 = { orderShared, badgeId: badge_id, getSlotOffset: tmp11, slotOffset, tileSize };
Z.__closure = obj2;
let num2 = 6182257637516;
Z.__workletHash = 6182257637516;
Z.__initData = __initData;
class J {
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 obj3 = { isThisTileDragging: sharedValue, positionX: sharedValue2, withTiming: tmp(tmp2[28]).withTiming, timingStandard: tmp(tmp2[29]).timingStandard, positionY: sharedValue3 };
const useAnimatedReaction = tmpResult13.useAnimatedReaction;
J.__closure = obj3;
J.__workletHash = 4011295272705;
J.__initData = __initData2;
const animatedReaction = useAnimatedReaction(Z, J);
if (cResult[3] === badge_id) {
if (cResult[4] === orderShared) {
if (cResult[5] === sharedValue2) {
if (cResult[6] === sharedValue3) {
if (cResult[7] === slotOffset) {
let tmp23;
if (cResult[8] === tileSize) {
tmp23 = cResult[9];
}
closure_21 = tmp23;
function se() {
return scrollOffset.get();
}
let obj4 = { scrollOffset };
se.__closure = obj4;
se.__workletHash = 10993823060256;
se.__initData = __initData4;
function ae(arg0, arg1) {
const value = null != arg1 && sharedValue.get();
if (value) {
const result = sharedValue3.set(sharedValue3.get() + (arg0 - arg1));
closure_21();
}
}
let obj5 = { isThisTileDragging: sharedValue, positionY: sharedValue3, reslot: tmp23 };
ae.__closure = obj5;
ae.__workletHash = 9803143874483;
ae.__initData = __initData5;
const tmpResult14 = tmp(tmp2[27]);
const animatedReaction1 = tmpResult14.useAnimatedReaction(se, ae);
class Z {
constructor() {
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;
}
}
function handleStart() {
const obj = isDragActive;
if (!isDragActive.get()) {
const obj2 = ReanimatedRexport;
obj2.runOnJS(ContextMenuState.hideContextMenu)();
const result = obj.set(true);
const result1 = sharedValue.set(true);
const point = { x: sharedValue2.get(), y: sharedValue3.get() };
set = sharedValue4.set;
const result2 = set(point);
const obj4 = ReanimatedRexport;
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 = timing;
set3(tmp2Result.withTiming(c16, timingPresets.timingStandard));
const tmp2Result2 = ReanimatedRexport;
const runOnJSResult = tmp2Result2.runOnJS(HapticUtils.triggerHapticFeedback);
runOnJSResult(HapticUtils.HapticFeedbackTypes.DRAG_AND_DROP_START);
}
}
let obj6 = { isAnyDragActive: isDragActive, isThisTileDragging: sharedValue, runOnJS: tmp(tmp2[27]).runOnJS, hideContextMenu: tmp(tmp2[31]).hideContextMenu, dragOrigin: sharedValue4, positionX: sharedValue2, positionY: sharedValue3, measure: tmp(tmp2[27]).measure, scrollRef, dragViewport: null, scale: sharedValue5, withTiming: tmp(tmp2[28]).withTiming, DRAG_SCALE: sharedValue1, timingStandard: tmp(tmp2[29]).timingStandard, triggerHapticFeedback: tmp(tmp2[11]).triggerHapticFeedback, HapticFeedbackTypes: tmp(tmp2[11]).HapticFeedbackTypes };
class J {
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));
}
}
}
}
handleStart.__closure = obj6;
handleStart.__workletHash = 11005478611755;
handleStart.__initData = __initData6;
cResult[10] = sharedValue4;
class W {
constructor() {
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);
}
}
}
cResult[11] = sharedValue1;
cResult[12] = isDragActive;
cResult[13] = sharedValue;
cResult[14] = sharedValue2;
cResult[15] = sharedValue3;
cResult[16] = sharedValue5;
cResult[17] = scrollRef;
cResult[18] = handleStart;
}
}
}
}
}
class W {
constructor() {
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);
}
}
}
W.__closure = { orderShared, tileSize, BADGE_GRID_GAP: tmp(tmp2[13]).BADGE_GRID_GAP, clamp: tmp(tmp2[27]).clamp, positionX: sharedValue2, BADGE_GRID_COLUMNS: tmp(tmp2[13]).BADGE_GRID_COLUMNS, positionY: sharedValue3, slotOffset, moveBadgeInDisplayOrder: tmp(tmp2[30]).moveBadgeInDisplayOrder, badgeId: badge_id, runOnJS: tmp(tmp2[27]).runOnJS, triggerHapticFeedback: tmp(tmp2[11]).triggerHapticFeedback, HapticFeedbackTypes: tmp(tmp2[11]).HapticFeedbackTypes };
W.__workletHash = 1083237242858;
W.__initData = __initData3;
cResult[3] = badge_id;
cResult[4] = orderShared;
cResult[5] = sharedValue2;
cResult[6] = sharedValue3;
cResult[7] = slotOffset;
cResult[8] = tileSize;
cResult[9] = W;
tmp23 = W;
const obj7 = { orderShared, tileSize, BADGE_GRID_GAP: tmp(tmp2[13]).BADGE_GRID_GAP, clamp: tmp(tmp2[27]).clamp, positionX: sharedValue2, BADGE_GRID_COLUMNS: tmp(tmp2[13]).BADGE_GRID_COLUMNS, positionY: sharedValue3, slotOffset, moveBadgeInDisplayOrder: tmp(tmp2[30]).moveBadgeInDisplayOrder, badgeId: badge_id, runOnJS: tmp(tmp2[27]).runOnJS, triggerHapticFeedback: tmp(tmp2[11]).triggerHapticFeedback, HapticFeedbackTypes: tmp(tmp2[11]).HapticFeedbackTypes };
} else {
throw new TypeError("Trying to call a non-function");
}
}
let fn = function n() {
onPress(badge);
};
cResult[0] = badge;
cResult[1] = onPress;
cResult[2] = fn;
tmp5 = fn;
}) : (function DraggableBadgeTile(badge) {
let intl;
let intl2;
let isFirst;
let isLast;
let onSetHidden;
let result;
let rounded;
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;
closure_23 = undefined;
closure_24 = undefined;
let items3;
({ isFirst, isLast, onSetHidden } = badge);
const position = reslot();
const badge_id = badge.badge_id;
let tmp = tileSize;
let closure_14 = index(tileSize[26])(() => {
onPress(badge);
});
let tmp2 = badge;
let obj = badge(tileSize[27]);
const sharedValue = obj.useSharedValue(false);
let obj2 = badge(tileSize[27]);
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[27]);
sharedValue2 = tmp2Result.useSharedValue(point.x);
const tmp2Result7 = tmp2(tmp[27]);
sharedValue3 = tmp2Result7.useSharedValue(point.y);
const tmp2Result8 = tmp2(tmp[27]);
sharedValue4 = tmp2Result8.useSharedValue(point);
let num = 1;
const tmp2Result9 = tmp2(tmp[27]);
sharedValue5 = tmp2Result9.useSharedValue(1);
const tmp2Result10 = tmp2(tmp[27]);
class R {
constructor() {
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 };
R.__closure = obj3;
let num2 = 5732066311771;
R.__workletHash = 5732066311771;
R.__initData = __initData7;
let fn = function v(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[28]).withTiming, timingStandard: tmp2(tmp[29]).timingStandard, positionY: sharedValue3 };
const useAnimatedReaction = tmp2Result10.useAnimatedReaction;
fn.__closure = obj4;
fn.__workletHash = 16081465994486;
let tmp15 = __initData8;
fn.__initData = __initData8;
const animatedReaction = useAnimatedReaction(R, fn);
class Y {
constructor() {
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[27]).clamp, positionX: sharedValue2, BADGE_GRID_COLUMNS: tmp2(tmp[13]).BADGE_GRID_COLUMNS, positionY: sharedValue3, slotOffset, moveBadgeInDisplayOrder: tmp2(tmp[30]).moveBadgeInDisplayOrder, badgeId: badge_id, runOnJS: tmp2(tmp[27]).runOnJS, triggerHapticFeedback: tmp2(tmp[11]).triggerHapticFeedback, HapticFeedbackTypes: tmp2(tmp[11]).HapticFeedbackTypes };
const useCallback = slotOffset.useCallback;
Y.__closure = obj5;
Y.__workletHash = 1742164926393;
Y.__initData = __initData9;
let items = [badge_id, orderShared, slotOffset, tileSize, sharedValue2, sharedValue3];
reslot = useCallback(Y, items);
const tmp2Result11 = tmp2(tmp[27]);
class U {
constructor() {
return scrollOffset.get();
}
}
let obj6 = { scrollOffset };
U.__closure = obj6;
U.__workletHash = 9584962527667;
U.__initData = __initData10;
class X {
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 };
X.__closure = obj7;
X.__workletHash = 959241592972;
X.__initData = __initData11;
const animatedReaction1 = tmp2Result11.useAnimatedReaction(U, X);
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[27]);
obj2.runOnJS(badge(tileSize[31]).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[27]);
const measureResult = obj4.measure(scrollRef);
let tmp15 = null;
set2 = set.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[28]);
set3(tmp2Result.withTiming(sharedValue1, badge(tileSize[29]).timingStandard));
const tmp2Result2 = badge(tileSize[27]);
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[27]).runOnJS, hideContextMenu: badge(tileSize[31]).hideContextMenu, dragOrigin: sharedValue4, positionX: sharedValue2, positionY: sharedValue3, measure: badge(tileSize[27]).measure, scrollRef, dragViewport: sharedValue1, scale: sharedValue5, withTiming: badge(tileSize[28]).withTiming, DRAG_SCALE: sharedValue1, timingStandard: badge(tileSize[29]).timingStandard, triggerHapticFeedback: badge(tileSize[11]).triggerHapticFeedback, HapticFeedbackTypes: badge(tileSize[11]).HapticFeedbackTypes };
handleStart.__closure = obj;
handleStart.__workletHash = 11781614290100;
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[27]);
set2(obj2.clamp(diff, 0, sharedValue2) / sharedValue2 - 1);
} else if (diff1 < sharedValue2) {
set = autoScrollSpeed.set;
const obj = badge(tileSize[27]);
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[27]).clamp };
handleChange.__closure = obj2;
handleChange.__workletHash = 879322197993;
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[28]);
const result5 = set(obj2.withTiming(result3, badge(tileSize[29]).timingStandard));
set2 = sharedValue3.set;
const obj3 = badge(tileSize[28]);
set2(obj3.withTiming(result4, badge(tileSize[29]).timingStandard));
} else {
throw new TypeError("Trying to call a non-function");
}
}
set3 = sharedValue5.set;
const obj4 = badge(tileSize[28]);
set3(obj4.withTiming(1, badge(tileSize[29]).timingStandard));
const result6 = obj.set(false);
const result7 = isDragActive.set(false);
const obj5 = badge(tileSize[27]);
const runOnJSResult = obj5.runOnJS(badge(tileSize[11]).triggerHapticFeedback);
runOnJSResult(badge(tileSize[11]).HapticFeedbackTypes.DRAG_AND_DROP_END);
const obj6 = badge(tileSize[27]);
obj6.runOnJS(onCommitOrder)(value);
}
}
let obj3 = { isThisTileDragging: sharedValue, autoScrollSpeed, dragViewport: sharedValue1, orderShared, badgeId: badge_id, getSlotOffset, slotOffset, tileSize: handleFinalize, positionX: sharedValue2, withTiming: badge(tileSize[28]).withTiming, timingStandard: badge(tileSize[29]).timingStandard, positionY: sharedValue3, scale: sharedValue5, isAnyDragActive: isDragActive, runOnJS: badge(tileSize[27]).runOnJS, triggerHapticFeedback: badge(tileSize[11]).triggerHapticFeedback, HapticFeedbackTypes: badge(tileSize[11]).HapticFeedbackTypes, onCommitOrder };
handleFinalize.__closure = obj3;
handleFinalize.__workletHash = 4416604805365;
handleFinalize.__initData = __initData3;
const Gesture = badge(tileSize[32]).Gesture;
const fn = function s() {
handleStart();
};
fn.__closure = { handleStart };
fn.__workletHash = 12078596428673;
fn.__initData = __initData6;
const PanResult = Gesture.Pan();
const fn2 = function n(arg0) {
handleChange(arg0);
};
fn2.__closure = { handleChange };
fn2.__workletHash = 9495907638982;
fn2.__initData = __initData5;
const minDistanceResult = PanResult.minDistance(8);
const fn3 = function t() {
handleFinalize();
};
fn3.__closure = { handleFinalize };
fn3.__workletHash = 12861679152071;
fn3.__initData = __initData4;
const onStartResult = minDistanceResult.onStart(fn);
const onChangeResult = onStartResult.onChange(fn2);
return onChangeResult.onFinalize(fn3);
}, items1);
function ae() {
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 };
ae.__closure = obj8;
ae.__workletHash = 10858650842867;
const tmp23 = __initData12;
ae.__initData = __initData12;
const tmp2Result12 = tmp2(tmp[27]);
closure_23 = tmp2Result12.useAnimatedStyle(ae);
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(4828).AccessibilityAnnouncer;
const announce = AccessibilityAnnouncer.announce;
const intl = tmp4(1126).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[16]).t.eR2XSh) };
intl = tmp2(tmp[16]).intl;
push(obj9);
}
if (!isLast) {
const push2 = items3.push;
const obj10 = { name: "movedown", label: intl2.string(tmp2(tmp[16]).t.wWi0DL) };
intl2 = tmp2(tmp[16]).intl;
push2(obj10);
}
function renderTile(ref) {
let PressableScale;
let View;
let fn;
let formatToPlainString;
let hidden;
let items;
let items1;
let obj2;
let obj3;
let obj4;
let t;
badge = ref;
const tmp = closure_14;
let obj = { gesture, children: tmp(View, obj2) };
const GestureDetector = badge(tileSize[32]).GestureDetector;
obj2 = { style: items, children: tmp(PressableScale, obj3) };
items = [position.position, , ];
size = { width: tileSize, height: tileSize };
items[1] = size;
items[2] = closure_23;
View = index(tileSize[27]).View;
ref = undefined;
PressableScale = badge(tileSize[25]).PressableScale;
const tmp4 = position;
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[16]).intl;
formatToPlainString = intl.formatToPlainString;
hidden = badge.hidden;
t = tmp2(tmp3[16]).t;
let stringResult;
obj4 = { badgeName: badge.name, position: index + 1 };
if (alwaysVisible) {
const intl2 = tmp2(tmp3[16]).intl;
const string = intl2.string;
const tmp2Result = badge(tileSize[24]);
stringResult = string(tmp2Result.getAlwaysVisibleCopy(tmp9));
}
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, onSetHidden, children: renderTile };
renderTileResult = closure_14(sharedValue5, obj11);
}
return renderTileResult;
} else {
throw new TypeError("Trying to call a non-function");
}
}));
const __initData13 = { code: "function CustomizeBadgesSheetTsx26({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 __initData14 = { code: "function CustomizeBadgesSheetTsx27(){const{autoScrollSpeed}=this.__closure;return autoScrollSpeed.get()!==0;}" };
const __initData15 = { code: "function CustomizeBadgesSheetTsx28(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 closure_18;
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 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 onPress;
closure_20 = undefined;
let onSetHidden;
let badgeTileSize;
let animatedRef;
let scrollViewOffset;
let sharedValue2;
let sharedValue3;
let frameCallback;
let callback1;
let tmp = onPress();
let tmp2 = stateFromStores;
let obj = stateFromStores(stateFromStores1[34]);
const tenureBadgeHideable = obj.useConfig({ location: "CustomizeBadgesSheet" }).tenureBadgeHideable;
const sum = Math.max(stateFromStores(stateFromStores1[35])().bottom, reorderableBadges) + 4;
let obj2 = tenureBadgeHideable(stateFromStores1[36]);
const items = [hasCatalog];
stateFromStores = obj2.useStateFromStores(items, () => {
const currentUser = hasCatalog.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
}
return id;
});
let obj3 = tenureBadgeHideable(stateFromStores1[36]);
const items1 = [hasCatalog];
stateFromStores1 = obj3.useStateFromStores(items1, () => {
const obj = stateFromStores(stateFromStores1[37]);
return obj.canUsePremiumProfileCustomization(hasCatalog.getCurrentUser());
});
const tmp8 = stateFromStores(stateFromStores1[38]);
if (analyticsLocations1 == null) {
analyticsLocations1 = [];
}
analyticsLocations = tmp8(analyticsLocations1, tmp2(tmp3[39]).BADGES_REORDER_ACTION_SHEET).analyticsLocations;
context = analyticsLocations.useContext(tmp2(tmp3[40]));
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: set.USER_SETTINGS, section: unpackModuleId.USER_PROFILE, object: memo.BUTTON_CTA };
const tmp2 = openPremiumModalDefault;
tmp2(obj2);
}, items2);
const items3 = [pendingBadgeDisplayOrder];
const items4 = [stateFromStores];
const tmp5Result = tenureBadgeHideable(stateFromStores1[36]);
stateFromStoresArray = tmp5Result.useStateFromStoresArray(items3, () => BadgeDirectoryStore.getBadges(stateFromStores), items4);
const items5 = [pendingBadgeDisplayOrder];
const items6 = [stateFromStores];
const tmp5Result12 = tenureBadgeHideable(stateFromStores1[36]);
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: set.USER_SETTINGS, section: unpackModuleId.USER_PROFILE };
const obj = AnalyticsUtilsDefault;
obj.track(metroImportAll.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 = [stateFromStoresArray];
const tmp5Result13 = tenureBadgeHideable(stateFromStores1[36]);
const stateFromStoresObject1 = tmp5Result13.useStateFromStoresObject(items9, () => {
const pendingChanges = stateFromStoresArray.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[27]);
sharedValue = tmp5Result14.useSharedValue(memo2);
onCommitOrder = tmp2(tmp3[26])((arr) => {
const obj = tenureBadgeHideable(stateFromStores1[30]);
const result = obj.setPendingBadgeDisplayOrder(arr);
});
const tmp5Result15 = tenureBadgeHideable(stateFromStores1[27]);
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[26])((badgeId) => {
const obj = PendingBadgeSettings;
const obj2 = { badgeId: badgeId.badge_id, hidden: false, 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;
const obj3 = { badgeName: badgeId.name };
announce(intl.formatToPlainString(intl7.t.mehuPg, obj3));
});
onPress = tmp2(tmp3[26])((badge_id) => {
let obj2;
let string;
let closure_0 = badge_id;
if (hiddenBadges.some((badge_id) => badge_id.badge_id === badge_id.badge_id)) {
closure_18(badge_id);
} else if (set.has(badge_id.badge_id)) {
const _HermesInternal = HermesInternal;
const open = ToastActionCreatorsDefault.open;
const obj = { text: string(obj2.getAlwaysVisibleCopy(badge_id.badge_id)) };
ToastActionCreatorsDefault;
const combined = "BADGE_ALWAYS_VISIBLE-" + badge_id.badge_id;
const intl = intl7.intl;
string = intl.string;
obj2 = BadgeUtils;
open(combined, obj);
}
});
closure_20 = tmp2(tmp3[26])((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 }));
});
onSetHidden = tmp2(tmp3[26])((arg0, arg1) => {
const tmp = arg1;
if (tmp) {
closure_20(arg0);
} else {
closure_18(arg0);
}
});
const width = tmp2(tmp3[47])().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;
const obj4 = analyticsLocations;
if (rounded > 0) {
let result = rounded * badgeTileSize;
const diff = rounded - 1;
num = result + diff * tmp5(tmp3[13]).BADGE_GRID_GAP;
}
const tmp5Result17 = tenureBadgeHideable(stateFromStores1[27]);
animatedRef = tmp5Result17.useAnimatedRef();
const tmp5Result18 = tenureBadgeHideable(stateFromStores1[27]);
scrollViewOffset = tmp5Result18.useScrollViewOffset(animatedRef);
const tmp5Result19 = tenureBadgeHideable(stateFromStores1[27]);
sharedValue2 = tmp5Result19.useSharedValue(0);
const tmp5Result20 = tenureBadgeHideable(stateFromStores1[27]);
sharedValue3 = tmp5Result20.useSharedValue(0);
const fn = function q(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[27]);
fn.__closure = { autoScrollSpeed: sharedValue2, autoScrollElapsed: sharedValue3, MS_PER_FRAME_60FPS, AUTO_SCROLL_PIXELS_PER_SECOND: 700, scrollTo: tenureBadgeHideable(stateFromStores1[27]).scrollTo, scrollRef: animatedRef, roundToNearestPixel: tmp2(stateFromStores1[48]), scrollOffset: scrollViewOffset };
fn.__workletHash = 8686394877996;
fn.__initData = __initData13;
({ autoScrollSpeed: sharedValue2, autoScrollElapsed: sharedValue3, MS_PER_FRAME_60FPS, AUTO_SCROLL_PIXELS_PER_SECOND: 700, scrollTo: tenureBadgeHideable(stateFromStores1[27]).scrollTo, scrollRef: animatedRef, roundToNearestPixel: tmp2(stateFromStores1[48]), scrollOffset: scrollViewOffset });
frameCallback = tmp5Result21.useFrameCallback(fn, false);
const items15 = [frameCallback];
callback1 = obj4.useCallback((arg0) => {
frameCallback.setActive(arg0);
}, items15);
const fn2 = function $() {
return 0 !== sharedValue2.get();
};
fn2.__closure = { autoScrollSpeed: sharedValue2 };
fn2.__workletHash = 9672319834497;
fn2.__initData = __initData14;
const tmp5Result22 = tenureBadgeHideable(stateFromStores1[27]);
class K {
constructor(arg0, arg1) {
const tmp = null != arg1 && arg0 !== arg1;
if (tmp) {
const result = sharedValue3.set(0);
const obj = ReanimatedRexport;
obj.runOnJS(callback1)(arg0);
}
}
}
K.__closure = { autoScrollElapsed: sharedValue3, runOnJS: tenureBadgeHideable(stateFromStores1[27]).runOnJS, setAutoScrollerActive: callback1 };
K.__workletHash = 6850974884902;
K.__initData = __initData15;
({ autoScrollElapsed: sharedValue3, runOnJS: tenureBadgeHideable(stateFromStores1[27]).runOnJS, setAutoScrollerActive: callback1 });
const animatedReaction = tmp5Result22.useAnimatedReaction(fn2, K);
if (hasCatalog) {
let tmp40 = !stateFromStores1;
const obj7 = { style: tmp.gridInset, children: items16 };
if (tmp40) {
const obj8 = { style: tmp.upsell, ctaText: intl2.string(tenureBadgeHideable(stateFromStores1[16]).t.pj0XBN), cardStyle: null, contentStyle: null, ctaStyle: null, showLinearGradient: true, onPress: callback, children: memo2(Text2, obj9) };
const tmp2Result = tmp2(stateFromStores1[49]);
intl2 = tmp5(tmp3[16]).intl;
({ upsellCard: obj23.cardStyle, upsellContent: obj23.contentStyle, upsellCta: obj23.ctaStyle } = tmp);
obj9 = { variant: "text-sm/normal", style: tmp.upsellText, children: intl3.string(tenureBadgeHideable(stateFromStores1[16]).t.JrOki0) };
Text2 = tmp5(tmp3[22]).Text;
intl3 = tmp5(tmp3[16]).intl;
tmp40 = memo2(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 syncedClientThemes(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, onSetHidden, onPress };
tmpResult = tmp(closure_49, obj2, badge.badge_id);
} else {
const obj = { badge, index: fixedBadges.length + index, tileSize: badgeTileSize, alwaysVisible: set.has(badge.badge_id), onPress, onSetHidden };
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, onSetHidden };
return syncedClientThemes(closure_24, obj, badge.badge_id);
})
];
items16[1] = sharedValue(context, obj10);
tmp35Result = tmp38(tmp39, obj7);
} else {
let obj14;
const tmp36 = context;
if (hasCatalogError) {
const obj12 = { style: tmp.message, accessibilityRole: "alert", children: memo2(Text, obj13) };
obj13 = { variant: "text-md/normal", color: "text-muted", style: tmp.messageText, children: intl.string(tenureBadgeHideable(stateFromStores1[16]).t["rTU7/z"]) };
Text = tmp5(tmp3[22]).Text;
intl = tmp5(tmp3[16]).intl;
obj14 = obj12;
} else {
obj14 = { style: tmp.message, children: memo2(tmp5(tmp3[50]).ActivityIndicator, { animating: true, size: "large" }) };
}
tmp35Result = tmp35(tmp36, obj14);
}
const obj15 = { startExpanded: true, scrollable: true, dismissAccessibilityLabel: intl4.string(tenureBadgeHideable(stateFromStores1[16]).t.x5SfWU), header: memo2(BottomSheetTitleHeader, obj16), children: memo2(tenureBadgeHideable(stateFromStores1[53]).BottomSheetScrollView, obj17) };
BottomSheet = tmp5(tmp3[51]).BottomSheet;
intl4 = tmp5(tmp3[16]).intl;
obj16 = { title: intl5.string(tenureBadgeHideable(stateFromStores1[16]).t.x5SfWU), subtitle: string(stateFromStores1 ? t["Vzc4+8"] : t.ZuXSRp) };
BottomSheetTitleHeader = tmp5(tmp3[52]).BottomSheetTitleHeader;
intl5 = tmp5(tmp3[16]).intl;
const intl6 = tmp5(tmp3[16]).intl;
string = intl6.string;
t = tmp5(tmp3[16]).t;
obj17 = { ref: animatedRef, contentContainerStyle: { paddingBottom: sum }, children: tmp35Result };
return memo2(BottomSheet, obj15);
};