Bump to 1.1.10-4 and fix tabs on newer version
This commit is contained in:
parent
b8c8f6abda
commit
eeda090fba
2 changed files with 55 additions and 24 deletions
|
|
@ -77,7 +77,7 @@ const config = {
|
|||
constModules: {
|
||||
globals: {
|
||||
"bunny-build-info": {
|
||||
version: `"1.1.10-3"`,
|
||||
version: `"1.1.10-4"`,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
import { after } from "@lib/api/patcher";
|
||||
import { findInReactTree } from "@lib/utils";
|
||||
import { TableRow } from "@metro/common/components";
|
||||
import { findByNameLazy, findByPropsLazy } from "@metro/wrappers";
|
||||
import { registeredSections } from "@ui/settings";
|
||||
|
||||
import { CustomPageRenderer, wrapOnPress } from "./shared";
|
||||
import { Strings } from "@core/i18n";
|
||||
import { TableRowIcon } from "@metro/common/components";
|
||||
import { findInReactTree } from "@lib/utils";
|
||||
|
||||
const settingConstants = findByPropsLazy("SETTING_RENDERER_CONFIG");
|
||||
const createListModule = findByPropsLazy("createList");
|
||||
const SettingsOverviewScreen = findByNameLazy("SettingsOverviewScreen", false);
|
||||
|
||||
function useIsFirstRender() {
|
||||
|
|
@ -83,21 +82,52 @@ export function patchTabsUI(unpatches: (() => void | boolean)[]) {
|
|||
});
|
||||
});
|
||||
|
||||
try {
|
||||
unpatches.push(
|
||||
after("createList", createListModule, function (args, ret) {
|
||||
const [config] = args;
|
||||
|
||||
if (config?.sections && Array.isArray(config.sections)) {
|
||||
const sections = config.sections;
|
||||
|
||||
const accountSectionIndex = sections.findIndex((i: any) =>
|
||||
i.settings?.includes("ACCOUNT"),
|
||||
);
|
||||
|
||||
if (accountSectionIndex !== -1) {
|
||||
// Credit to @palmdevs - https://discord.com/channels/1196075698301968455/1243605828783571024/1307940348378742816
|
||||
|
||||
let index = accountSectionIndex + 1;
|
||||
|
||||
Object.keys(registeredSections).forEach((sect) => {
|
||||
const alreadyExists = sections.some((s: any) => s.label === sect);
|
||||
if (!alreadyExists) {
|
||||
sections.splice(index++, 0, {
|
||||
label: sect,
|
||||
title: sect,
|
||||
settings: registeredSections[sect].map((a) => a.key),
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}),
|
||||
);
|
||||
} catch {
|
||||
unpatches.push(
|
||||
after("default", SettingsOverviewScreen, (_, ret) => {
|
||||
if (useIsFirstRender()) return; // :shrug:
|
||||
|
||||
const { sections } = findInReactTree(ret, (i) => i.props?.sections).props;
|
||||
const { sections } = findInReactTree(
|
||||
ret,
|
||||
(i) => i.props?.sections,
|
||||
).props;
|
||||
// Credit to @palmdevs - https://discord.com/channels/1196075698301968455/1243605828783571024/1307940348378742816
|
||||
let index =
|
||||
-~sections.findIndex((i: any) => i.settings.includes("ACCOUNT")) || 1;
|
||||
|
||||
Object.keys(registeredSections).forEach((sect) => {
|
||||
// Prevent duplicate insertion: on some resumes/re-renders the same
|
||||
// registeredSections keys may be inserted multiple times. Check if a
|
||||
// section with the same label already exists before splicing.
|
||||
const exists = sections.some((s: any) => s && s.label === sect);
|
||||
if (exists) return;
|
||||
sections.splice(index++, 0, {
|
||||
label: sect,
|
||||
title: sect,
|
||||
|
|
@ -106,4 +136,5 @@ export function patchTabsUI(unpatches: (() => void | boolean)[]) {
|
|||
});
|
||||
}),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue