CustomVoiceFilter: Add open model folder functionality

This commit is contained in:
fox3000foxy 2025-02-22 16:48:43 +01:00
parent 91e6f2dbed
commit cff7492f37
2 changed files with 100 additions and 89 deletions

View file

@ -20,6 +20,11 @@ import { openWikiHomeModal } from "./WikiHomeModal";
const Native = VencordNative.pluginHelpers.CustomVoiceFilters as PluginNative<typeof import("./native")>; const Native = VencordNative.pluginHelpers.CustomVoiceFilters as PluginNative<typeof import("./native")>;
function openModelFolder() {
const { modulePath } = useVoiceFiltersStore.getState();
const modelFolder = Native.openFolder(modulePath);
}
export function openVoiceFiltersModal(): string { export function openVoiceFiltersModal(): string {
const key = openModal(modalProps => ( const key = openModal(modalProps => (
<VoiceFiltersModal <VoiceFiltersModal
@ -72,6 +77,7 @@ function VoiceFiltersModal({ modalProps, close, accept }: VoiceFiltersModalProps
<Button onClick={exportVoiceFilters} color={Button.Colors.TRANSPARENT}>Export</Button> <Button onClick={exportVoiceFilters} color={Button.Colors.TRANSPARENT}>Export</Button>
<Button onClick={importVoiceFilters} color={Button.Colors.TRANSPARENT}>Import</Button> <Button onClick={importVoiceFilters} color={Button.Colors.TRANSPARENT}>Import</Button>
<Button onClick={() => downloadVoicepack("https://fox3000foxy.com/voicepacks/agents.json")} color={Button.Colors.TRANSPARENT}>Download Default</Button> <Button onClick={() => downloadVoicepack("https://fox3000foxy.com/voicepacks/agents.json")} color={Button.Colors.TRANSPARENT}>Download Default</Button>
<Button onClick={openModelFolder} color={Button.Colors.TRANSPARENT}>Open Model Folder</Button>
</Flex> </Flex>
<Text>Voice filters list:</Text> <Text>Voice filters list:</Text>

View file

@ -87,3 +87,8 @@ export async function deleteAllModels(_: IpcMainInvokeEvent, modulePath: string)
const modelPath = modulePath + "/discord_voice_filters/"; const modelPath = modulePath + "/discord_voice_filters/";
fs.rmSync(modelPath, { recursive: true, force: true }); fs.rmSync(modelPath, { recursive: true, force: true });
} }
export async function openFolder(_: IpcMainInvokeEvent, modulePath: string) {
const process = require("child_process");
process.exec(`start "" "${modulePath}/discord_voice_filters/"`);
}