import {DownloadIcon} from "lucide-react"; import {useTranslation} from "react-i18next"; import {toast} from "sonner"; import {QuickUsage} from "@/components/memshell/quick-usage"; import {Button} from "@/components/ui/button.tsx"; import {Tabs, TabsContent, TabsList, TabsTrigger} from "@/components/ui/tabs.tsx"; import {downloadBytes} from "@/lib/utils.ts"; import type {MemShellResult} from "@/types/memshell"; import CodeViewer from "../code-viewer"; import {BasicInfo} from "./results/basic-info"; import {ResultComponent} from "./results/result-component"; export default function ShellResult({ packResult, allPackResults, packMethod, generateResult, }: Readonly<{ packResult: string | undefined; allPackResults: Map | undefined; packMethod: string; generateResult?: MemShellResult; }>) { const { t } = useTranslation(); if (!generateResult) { return ; } return ( {t("generateResult.title1")} {t("generateResult.title2")} {t("generateResult.title3")} {generateResult?.shellClassName}} button={ } wrapLongLines={true} height={600} code={generateResult?.shellBytesBase64Str ?? ""} language="text" /> {generateResult?.injectorClassName}} button={ } height={600} code={generateResult?.injectorBytesBase64Str ?? ""} language="text" /> ); }