diff --git a/README.md b/README.md index 92ba6668..3bfac801 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ You can join our [discord server](https://discord.gg/5Xh2W87egW) for commits, ch ### Extra included plugins
-182 additional plugins +183 additional plugins ### All Platforms @@ -41,6 +41,7 @@ You can join our [discord server](https://discord.gg/5Xh2W87egW) for commits, ch - CommandPalette by Ethan - CopyStickerLinks by Byeoon - CopyUserMention by Cortex & castdrian +- CustomFolderIcons by sadan - CustomSounds by TheKodeToad & SpikeHD - CustomTimestamps by Rini & nvhrr - CustomUserColors by mochienya diff --git a/src/equicordplugins/customFolderIcons/README.md b/src/equicordplugins/customFolderIcons/README.md deleted file mode 100644 index 9b67e4eb..00000000 --- a/src/equicordplugins/customFolderIcons/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# CustomFolderIcons - -Allows you to set custom images/svgs as folder icons - -Available as "Change Icon" in the folder context menu - -![the context menu with the "Change Icon" button](https://github.com/sadan4/Vencord/assets/117494111/3dfb843c-6964-4ac3-a0b9-8772569953d3) - -![an image of some example custom folder icons](https://github.com/sadan4/Vencord/assets/117494111/c5324ab1-3b7a-4286-8cb5-41c0ceb2ea44) - -![the modal used to customize the folder icons](https://github.com/sadan4/Vencord/assets/117494111/1426d350-56db-4687-8052-6c1b1ce873a1) - - - diff --git a/src/equicordplugins/customFolderIcons/components.tsx b/src/equicordplugins/customFolderIcons/components.tsx index f641a20e..b5feb52a 100644 --- a/src/equicordplugins/customFolderIcons/components.tsx +++ b/src/equicordplugins/customFolderIcons/components.tsx @@ -7,7 +7,7 @@ import { closeModal, ModalContent, ModalHeader, ModalRoot, openModalLazy } from "@utils/modal"; import { Button, Menu, Slider, TextInput, useState } from "@webpack/common"; -import settings, { folderIconsData } from "./settings"; +import { folderIconsData, settings } from "./settings"; import { folderProp, int2rgba, setFolderData } from "./util"; export function ImageModal(folderProps: folderProp) { @@ -81,7 +81,7 @@ export function RenderPreview({ folderProps, url, size }: { folderProps: folderP justifyContent: "center", alignItems: "center" }}> - + ); } @@ -93,18 +93,18 @@ export function makeContextItem(a: folderProp) { key="custom-folder-icons" label="Change Icon" action={() => { - openModalLazy(async() => { + openModalLazy(async () => { return props => (
- Set a New Icon. + Set a New Icon.
- +
); }, - { - modalKey: "custom-folder-icon" - }); - }}/> + { + modalKey: "custom-folder-icon" + }); + }} /> ); } diff --git a/src/equicordplugins/customFolderIcons/index.tsx b/src/equicordplugins/customFolderIcons/index.tsx index eeef4c9a..5da72533 100644 --- a/src/equicordplugins/customFolderIcons/index.tsx +++ b/src/equicordplugins/customFolderIcons/index.tsx @@ -8,14 +8,14 @@ import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { makeContextItem } from "./components"; -import settings, { folderIconsData } from "./settings"; +import { folderIconsData, settings } from "./settings"; import { folderProp, int2rgba } from "./util"; export default definePlugin({ - settings, name: "CustomFolderIcons", description: "Customize folder icons with any png", authors: [EquicordDevs.sadan], + settings, patches: [ { find: ".folderButtonInner", @@ -49,7 +49,7 @@ export default definePlugin({ height: "100%" }} > -
); diff --git a/src/equicordplugins/customFolderIcons/settings.tsx b/src/equicordplugins/customFolderIcons/settings.tsx index dbe15526..83c98e76 100644 --- a/src/equicordplugins/customFolderIcons/settings.tsx +++ b/src/equicordplugins/customFolderIcons/settings.tsx @@ -7,13 +7,13 @@ import { definePluginSettings } from "@api/Settings"; import { OptionType } from "@utils/types"; -export interface folderIcon{ +export interface folderIcon { url: string, size: number, } export type folderIconsData = Record; -const settings = definePluginSettings({ +export const settings = definePluginSettings({ solidIcon: { type: OptionType.BOOLEAN, default: false, @@ -26,4 +26,3 @@ const settings = definePluginSettings({ component: () => <> } }); -export default settings; diff --git a/src/equicordplugins/customFolderIcons/util.tsx b/src/equicordplugins/customFolderIcons/util.tsx index 3c49e2ea..959b35fb 100644 --- a/src/equicordplugins/customFolderIcons/util.tsx +++ b/src/equicordplugins/customFolderIcons/util.tsx @@ -4,23 +4,25 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import settings, { folderIcon, folderIconsData } from "./settings"; +import { folderIcon, folderIconsData, settings } from "./settings"; export async function setFolderData(props: folderProp, newData: folderIcon) { - if (!settings.store.folderIcons){ + if (!settings.store.folderIcons) { settings.store.folderIcons = {}; } const folderSettings = (settings.store.folderIcons as folderIconsData); folderSettings[props.folderId] = newData; } + export interface folderProp { folderId: string; folderColor: number; } + /** - * @param rgbVal RGB value - * @param alpha alpha bewteen zero and 1 - */ + * @param rgbVal RGB value + * @param alpha alpha bewteen zero and 1 +*/ export function int2rgba(rgbVal: number, alpha: number = 1) { const b = rgbVal & 0xFF, g = (rgbVal & 0xFF00) >>> 8,