115 lines
4.6 KiB
TypeScript
115 lines
4.6 KiB
TypeScript
// Module ID: 9850
|
|
// Function ID: 9851
|
|
// Name: stickers/StickersUtils
|
|
// Dependencies: [19, 17, 2067, 1372, 9851, 1074, 1218, 9848, 504, 8622, 5581, 9852, 9853, 9854, 1611, 2]
|
|
// Exports: dropPreloadedSticker, openStickerPickerToPackId, preloadSticker, useStickerCategories
|
|
|
|
// Module 9850 (stickers/StickersUtils)
|
|
import react_native from "react-native" /* 17 */;
|
|
import Constants from "Constants" /* 1074 */;
|
|
import ExpressionPickerConstants from "ExpressionPickerConstants" /* 1218 */;
|
|
import KeyboardTypes from "KeyboardTypes" /* 1611 */;
|
|
import StickerPickerStore from "StickerPickerStore" /* 9851 */;
|
|
import react from "react" /* 19 */;
|
|
import GuildStore from "GuildStore" /* 2067 */;
|
|
import UserStore from "UserStore" /* 1372 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
const require = globalThis.__r;
|
|
let _require, nsfwAllowed;
|
|
|
|
const NativeModules = react_native.NativeModules;
|
|
const useStickerPickerStore = StickerPickerStore.useStickerPickerStore;
|
|
const GuildNSFWContentLevel = Constants.GuildNSFWContentLevel;
|
|
const ExpressionPickerViewType = ExpressionPickerConstants.ExpressionPickerViewType;
|
|
let result = size.fileFinishedImporting("modules/stickers/native/StickersUtils.tsx");
|
|
|
|
export const useStickerCategories = function useStickerCategories(channel) {
|
|
let currentUser;
|
|
let stateFromStores;
|
|
_require = channel;
|
|
let obj = require("StickersHooks");
|
|
const stickerPackCategories = obj.useStickerPackCategories(channel);
|
|
let obj2 = require("get initialized");
|
|
const items = [UserStore];
|
|
stateFromStores = obj2.useStateFromStores(items, () => currentUser.getCurrentUser());
|
|
const guilds = GuildStore.getGuilds();
|
|
let obj3 = require("MobileStickerPickerUpsellRestyleExperiment");
|
|
const mobileStickerPickerUpsellRestyleEnabled = obj3.useMobileStickerPickerUpsellRestyleEnabled("native.StickerPicker");
|
|
const items1 = [channel, guilds, stickerPackCategories, mobileStickerPickerUpsellRestyleEnabled, stateFromStores];
|
|
return guilds.useMemo(() => {
|
|
const found = stickerPackCategories.filter((stickers) => stickers.stickers.length > 0);
|
|
const found1 = found.filter((type) => {
|
|
let tmp2 = type.type !== channel(stateFromStores[10]).StickerCategoryTypes.GUILD;
|
|
if (!tmp2) {
|
|
nsfwAllowed = undefined;
|
|
if (nsfwAllowed != null) {
|
|
nsfwAllowed = nsfwAllowed.nsfwAllowed;
|
|
}
|
|
tmp2 = nsfwAllowed;
|
|
}
|
|
if (!tmp2) {
|
|
tmp2 = null == tmp;
|
|
}
|
|
if (!tmp2) {
|
|
tmp2 = guilds[type.id].nsfwLevel !== constants.AGE_RESTRICTED && guilds[type.id].nsfwLevel !== tmp6.EXPLICIT;
|
|
}
|
|
return tmp2;
|
|
});
|
|
return found1.map((type) => {
|
|
let tmp14;
|
|
let tmp18;
|
|
let result = mobileStickerPickerUpsellRestyleEnabled;
|
|
if (result) {
|
|
const obj = closure_0(stateFromStores[11]);
|
|
result = obj.isStickerCategoryNitroLocked(type, nsfwAllowed, closure_1_0);
|
|
}
|
|
if (type.type !== closure_0(stateFromStores[10]).StickerCategoryTypes.FAVORITE) {
|
|
if (type.type !== closure_0(stateFromStores[10]).StickerCategoryTypes.RECENT) {
|
|
let tmp8 = type;
|
|
if (result) {
|
|
const obj2 = { isNitroLocked: result };
|
|
const merged = Object.assign(type);
|
|
tmp8 = obj2;
|
|
}
|
|
return tmp8;
|
|
}
|
|
}
|
|
if (type.type === closure_0(stateFromStores[10]).StickerCategoryTypes.FAVORITE) {
|
|
tmp14 = stickerPackCategories(stateFromStores[12]);
|
|
} else {
|
|
tmp14 = stickerPackCategories(stateFromStores[13]);
|
|
}
|
|
const obj3 = { icon: tmp14 };
|
|
const merged1 = Object.assign(type);
|
|
if (result) {
|
|
obj3.isNitroLocked = result;
|
|
tmp18 = obj3;
|
|
} else {
|
|
tmp18 = obj3;
|
|
}
|
|
return tmp18;
|
|
});
|
|
}, items1);
|
|
};
|
|
export const preloadSticker = function preloadSticker(hash) {
|
|
const NativeLottieUtils = NativeModules.NativeLottieUtils;
|
|
NativeLottieUtils.preload(hash.hash, hash.url, hash.width, hash.height, hash.frames, hash.callback);
|
|
};
|
|
export const dropPreloadedSticker = function dropPreloadedSticker(arg0) {
|
|
const NativeLottieUtils = NativeModules.NativeLottieUtils;
|
|
NativeLottieUtils.dropPreload(arg0);
|
|
};
|
|
export const openStickerPickerToPackId = function openStickerPickerToPackId(arg0, pack_id) {
|
|
const ref = arg0;
|
|
const state = useStickerPickerStore.getState();
|
|
state.setPackToScrollTo(pack_id);
|
|
const timerId = setTimeout(() => {
|
|
const current = ref.current;
|
|
if (current != null) {
|
|
const openCustomKeyboard = current.openCustomKeyboard;
|
|
const obj = { type: KeyboardTypes.KeyboardTypes.EXPRESSION, context: ExpressionPickerViewType.STICKER };
|
|
openCustomKeyboard(obj);
|
|
}
|
|
}, 1);
|
|
};
|