Use static assets instead of fetching from github (#156)

This commit is contained in:
Håvard Gjøby Thom
2024-11-09 20:06:54 +01:00
committed by GitHub
parent 2af11d145f
commit d199762427
18 changed files with 136 additions and 107 deletions

View File

@@ -1,10 +1,11 @@
import handleCopy from "@/components/handleCopy";
import { Button } from "@/components/ui/button";
import { Separator } from "@/components/ui/separator";
import handleCopy from "@/components/handleCopy";
import { Script } from "@/lib/types";
export default function DefaultPassword({ item }: { item: Script }) {
const hasDefaultLogin = item.default_credentials.username && item.default_credentials.password;
const hasDefaultLogin =
item.default_credentials.username && item.default_credentials.password;
return (
<div>
@@ -25,7 +26,10 @@ export default function DefaultPassword({ item }: { item: Script }) {
variant={"secondary"}
size={"null"}
onClick={() =>
handleCopy("username", item.default_credentials.username ?? "")
handleCopy(
"username",
item.default_credentials.username ?? "",
)
}
>
{item.default_credentials.username}
@@ -37,7 +41,10 @@ export default function DefaultPassword({ item }: { item: Script }) {
variant={"secondary"}
size={"null"}
onClick={() =>
handleCopy("password", item.default_credentials.password ?? "")
handleCopy(
"password",
item.default_credentials.password ?? "",
)
}
>
{item.default_credentials.password}

View File

@@ -44,7 +44,8 @@ export default function DefaultSettings({ item }: { item: Script }) {
CPU: {defaultAlpineSettings?.resources.cpu}vCPU
</p>
<p className="text-sm text-muted-foreground">
RAM: {getDisplayValueFromRAM(defaultAlpineSettings?.resources.ram ?? 0)}
RAM:{" "}
{getDisplayValueFromRAM(defaultAlpineSettings?.resources.ram ?? 0)}
</p>
<p className="text-sm text-muted-foreground">
HDD: {defaultAlpineSettings?.resources.hdd}GB

View File

@@ -6,7 +6,7 @@ import { getDisplayValueFromType } from "../ScriptInfoBlocks";
const getInstallCommand = (scriptPath?: string) => {
return `bash -c "$(wget -qLO - https://github.com/community-scripts/${basePath}/raw/main/${scriptPath})"`;
}
};
export default function InstallCommand({ item }: { item: Script }) {
const alpineScript = item.install_methods.find(
@@ -14,7 +14,7 @@ export default function InstallCommand({ item }: { item: Script }) {
);
const defaultScript = item.install_methods.find(
(method) => method.type === "default"
(method) => method.type === "default",
);
const renderInstructions = (isAlpine = false) => (
@@ -60,7 +60,9 @@ export default function InstallCommand({ item }: { item: Script }) {
</TabsList>
<TabsContent value="default">
{renderInstructions()}
<CodeCopyButton>{getInstallCommand(defaultScript?.script)}</CodeCopyButton>
<CodeCopyButton>
{getInstallCommand(defaultScript?.script)}
</CodeCopyButton>
</TabsContent>
<TabsContent value="alpine">
{renderInstructions(true)}

View File

@@ -1,8 +1,8 @@
import { Button, buttonVariants } from "@/components/ui/button";
import handleCopy from "@/components/handleCopy";
import { buttonVariants } from "@/components/ui/button";
import { Script } from "@/lib/types";
import { cn } from "@/lib/utils";
import { ClipboardIcon } from "lucide-react";
import { Script } from "@/lib/types";
const CopyButton = ({
label,
@@ -11,7 +11,12 @@ const CopyButton = ({
label: string;
value: string | number;
}) => (
<span className={cn(buttonVariants({size: "sm", variant: "secondary"}), "flex items-center gap-2")}>
<span
className={cn(
buttonVariants({ size: "sm", variant: "secondary" }),
"flex items-center gap-2",
)}
>
{value}
<ClipboardIcon
onClick={() => handleCopy(label, String(value))}
@@ -20,8 +25,7 @@ const CopyButton = ({
</span>
);
export default function InterFaces({item} : {item : Script}) {
export default function InterFaces({ item }: { item: Script }) {
return (
<div className="flex flex-col gap-2">
{item.interface_port !== null ? (
@@ -29,10 +33,7 @@ export default function InterFaces({item} : {item : Script}) {
<h2 className="mr-2 text-end text-lg font-semibold">
{"Default Interface:"}
</h2>{" "}
<CopyButton
label="default interface"
value={item.interface_port}
/>
<CopyButton label="default interface" value={item.interface_port} />
</div>
) : null}
</div>