diff --git a/src/equicordplugins/advancedPermissions/index.tsx b/src/equicordplugins/advancedPermissions/index.tsx
index 41539dcdf..b1bd70af6 100644
--- a/src/equicordplugins/advancedPermissions/index.tsx
+++ b/src/equicordplugins/advancedPermissions/index.tsx
@@ -4,8 +4,6 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*/
-import "./style.css";
-
import { definePluginSettings } from "@api/Settings";
import { BaseText } from "@components/BaseText";
import ErrorBoundary from "@components/ErrorBoundary";
@@ -60,6 +58,19 @@ const CollapsibleCard = ErrorBoundary.wrap(
{ noop: true },
);
+let savedCard: ReactNode = null;
+
+const SimplifiedCard = ErrorBoundary.wrap(() => {
+ switch (settings.store.simplifiedCard) {
+ case "hide":
+ return null;
+ case "collapse":
+ return {savedCard};
+ default:
+ return <>{savedCard}>;
+ }
+}, { noop: true });
+
const settings = definePluginSettings({
simplifiedCard: {
type: OptionType.SELECT,
@@ -90,19 +101,19 @@ export default definePlugin({
find: 'id:"PrivateChannelSettingCard"',
replacement: [
{
- // simplified card renderer
- match: /(?<=permissionUpdates:\i\}\):null,).{0,100}roles:\i,members:\i\}\)/,
- replace: "$self.renderCard($&)",
+ // render the card below the subtitle
+ match: /(?<=children:\i\.subtitle\}\),)/,
+ replace: "$self.renderCard(),",
},
{
- // hide divider when card hidden, else tighten it
+ // grab, store and hide the original card
+ match: /(?<=permissionUpdates:\i\}\):null,).{0,100}?roles:\i,members:\i\}\)/,
+ replace: "$self.saveCard($&)",
+ },
+ {
+ // always hide the divider
match: /(?<=advancedMode\);.{0,30}children:\[)/,
- replace: "$self.cardHidden()?null:",
- },
- {
- // hide divider when card hidden, else tighten it
- match: /className:\i\.\i(?=.{0,50}onExpandedChange)/,
- replace: '$&+" vc-iamadvanced-divider"',
+ replace: "null&&",
},
{
// always force advanced open
@@ -118,18 +129,12 @@ export default definePlugin({
},
],
- cardHidden() {
- return settings.store.simplifiedCard === "hide";
+ renderCard() {
+ return ;
},
- renderCard(card: ReactNode) {
- switch (settings.store.simplifiedCard) {
- case "hide":
- return null;
- case "collapse":
- return {card};
- default:
- return card;
- }
+ saveCard(card: ReactNode) {
+ savedCard = card;
+ return null;
},
});
diff --git a/src/equicordplugins/advancedPermissions/style.css b/src/equicordplugins/advancedPermissions/style.css
deleted file mode 100644
index 008e9c4ee..000000000
--- a/src/equicordplugins/advancedPermissions/style.css
+++ /dev/null
@@ -1,5 +0,0 @@
-.vc-iamadvanced-divider {
- /* override advancedModeDivider's large margins */
- margin-top: 8px !important;
- margin-bottom: 8px !important;
-}