import { DownloadIcon } from "lucide-react"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; import { CodeViewer } from "@/components/code-viewer.tsx"; import { QuickUsage } from "@/components/quick-usage.tsx"; import { Button } from "@/components/ui/button.tsx"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs.tsx"; import { downloadBytes } from "@/lib/utils.ts"; import { GenerateResult } from "@/types/shell.ts"; import { BasicInfo } from "./results/basic-info"; import { ResultComponent } from "./results/result-component"; export function ShellResult({ packResult, allPackResults, packMethod, generateResult, }: Readonly<{ packResult: string | undefined; allPackResults: Map | undefined; packMethod: string; generateResult?: GenerateResult; }>) { 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" /> ); }