58 lines
1.7 KiB
TypeScript
58 lines
1.7 KiB
TypeScript
import { Script } from "@/lib/types";
|
|
|
|
export default function DefaultSettings({ item }: { item: Script }) {
|
|
const defaultSettings = item.install_methods.find(
|
|
(method) => method.type === "default",
|
|
);
|
|
|
|
const defaultSettingsAvailable =
|
|
defaultSettings?.resources.cpu ||
|
|
defaultSettings?.resources.ram ||
|
|
defaultSettings?.resources.hdd;
|
|
|
|
const defaultAlpineSettings = item.install_methods.find(
|
|
(method) => method.type === "alpine",
|
|
);
|
|
|
|
const getDisplayValueFromRAM = (ram: number) => {
|
|
if (ram >= 1024) {
|
|
return (ram / 1024).toFixed(0) + "GB";
|
|
}
|
|
return ram + "MB";
|
|
};
|
|
|
|
return (
|
|
<>
|
|
{defaultSettingsAvailable && (
|
|
<div>
|
|
<h2 className="text-md font-semibold">Default settings</h2>
|
|
<p className="text-sm text-muted-foreground">
|
|
CPU: {defaultSettings?.resources.cpu}vCPU
|
|
</p>
|
|
<p className="text-sm text-muted-foreground">
|
|
RAM: {getDisplayValueFromRAM(defaultSettings?.resources.ram ?? 0)}
|
|
</p>
|
|
<p className="text-sm text-muted-foreground">
|
|
HDD: {defaultSettings?.resources.hdd}GB
|
|
</p>
|
|
</div>
|
|
)}
|
|
{defaultAlpineSettings && (
|
|
<div>
|
|
<h2 className="text-md font-semibold">Default Alpine settings</h2>
|
|
<p className="text-sm text-muted-foreground">
|
|
CPU: {defaultAlpineSettings?.resources.cpu}vCPU
|
|
</p>
|
|
<p className="text-sm text-muted-foreground">
|
|
RAM:{" "}
|
|
{getDisplayValueFromRAM(defaultAlpineSettings?.resources.ram ?? 0)}
|
|
</p>
|
|
<p className="text-sm text-muted-foreground">
|
|
HDD: {defaultAlpineSettings?.resources.hdd}GB
|
|
</p>
|
|
</div>
|
|
)}
|
|
</>
|
|
);
|
|
}
|