mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-06-30 02:57:38 +00:00
change folder name
This commit is contained in:
@ -13,15 +13,15 @@ import { basePath } from "@/config/site-config";
|
|||||||
import { extractDate } from "@/lib/time";
|
import { extractDate } from "@/lib/time";
|
||||||
|
|
||||||
import { getDisplayValueFromType } from "./script-info-blocks";
|
import { getDisplayValueFromType } from "./script-info-blocks";
|
||||||
import DefaultPassword from "./ScriptItems/default-password";
|
import DefaultPassword from "./script-items/default-password";
|
||||||
import InstallCommand from "./ScriptItems/install-command";
|
import InstallCommand from "./script-items/install-command";
|
||||||
import { ResourceDisplay } from "./resource-display";
|
import { ResourceDisplay } from "./resource-display";
|
||||||
import Description from "./ScriptItems/description";
|
import Description from "./script-items/description";
|
||||||
import ConfigFile from "./ScriptItems/config-file";
|
import ConfigFile from "./script-items/config-file";
|
||||||
import InterFaces from "./ScriptItems/interfaces";
|
import InterFaces from "./script-items/interfaces";
|
||||||
import Tooltips from "./ScriptItems/tool-tips";
|
import Tooltips from "./script-items/tool-tips";
|
||||||
import Buttons from "./ScriptItems/buttons";
|
import Buttons from "./script-items/buttons";
|
||||||
import Alerts from "./ScriptItems/alerts";
|
import Alerts from "./script-items/alerts";
|
||||||
|
|
||||||
type ScriptItemProps = {
|
type ScriptItemProps = {
|
||||||
item: Script;
|
item: Script;
|
||||||
|
@ -1,19 +1,23 @@
|
|||||||
|
import { Info } from "lucide-react";
|
||||||
|
|
||||||
import type { Script } from "@/lib/types";
|
import type { Script } from "@/lib/types";
|
||||||
|
|
||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
||||||
|
import { Alert, AlertDescription } from "@/components/ui/alert";
|
||||||
import CodeCopyButton from "@/components/ui/code-copy-button";
|
import CodeCopyButton from "@/components/ui/code-copy-button";
|
||||||
import { basePath } from "@/config/site-config";
|
import { basePath } from "@/config/site-config";
|
||||||
|
|
||||||
import { getDisplayValueFromType } from "../script-info-blocks";
|
import { getDisplayValueFromType } from "../script-info-blocks";
|
||||||
|
|
||||||
function getInstallCommand(scriptPath = "", isAlpine = false) {
|
function getInstallCommand(scriptPath = "", isAlpine = false, useGitea = false) {
|
||||||
const url = `https://raw.githubusercontent.com/community-scripts/${basePath}/main/${scriptPath}`;
|
const githubUrl = `https://raw.githubusercontent.com/community-scripts/${basePath}/main/${scriptPath}`;
|
||||||
|
const giteaUrl = `https://git.community-scripts.org/community-scripts/${basePath}/raw/branch/main/${scriptPath}`;
|
||||||
|
const url = useGitea ? giteaUrl : githubUrl;
|
||||||
return isAlpine ? `bash -c "$(curl -fsSL ${url})"` : `bash -c "$(curl -fsSL ${url})"`;
|
return isAlpine ? `bash -c "$(curl -fsSL ${url})"` : `bash -c "$(curl -fsSL ${url})"`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function InstallCommand({ item }: { item: Script }) {
|
export default function InstallCommand({ item }: { item: Script }) {
|
||||||
const alpineScript = item.install_methods.find(method => method.type === "alpine");
|
const alpineScript = item.install_methods.find(method => method.type === "alpine");
|
||||||
|
|
||||||
const defaultScript = item.install_methods.find(method => method.type === "default");
|
const defaultScript = item.install_methods.find(method => method.type === "default");
|
||||||
|
|
||||||
const renderInstructions = (isAlpine = false) => (
|
const renderInstructions = (isAlpine = false) => (
|
||||||
@ -82,33 +86,64 @@ export default function InstallCommand({ item }: { item: Script }) {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const renderGiteaInfo = () => (
|
||||||
|
<Alert className="mt-3 mb-3">
|
||||||
|
<Info className="h-4 w-4" />
|
||||||
|
<AlertDescription className="text-sm">
|
||||||
|
<strong>When to use Gitea:</strong>
|
||||||
|
{" "}
|
||||||
|
GitHub may have issues including slow connections, delayed updates after bug
|
||||||
|
fixes, no IPv6 support, API rate limits (60/hour). Use our Gitea mirror as a reliable alternative when
|
||||||
|
experiencing these issues.
|
||||||
|
</AlertDescription>
|
||||||
|
</Alert>
|
||||||
|
);
|
||||||
|
|
||||||
|
const renderScriptTabs = (useGitea = false) => {
|
||||||
|
if (alpineScript) {
|
||||||
|
return (
|
||||||
|
<Tabs defaultValue="default" className="mt-2 w-full max-w-4xl">
|
||||||
|
<TabsList>
|
||||||
|
<TabsTrigger value="default">Default</TabsTrigger>
|
||||||
|
<TabsTrigger value="alpine">Alpine Linux</TabsTrigger>
|
||||||
|
</TabsList>
|
||||||
|
<TabsContent value="default">
|
||||||
|
{renderInstructions()}
|
||||||
|
<CodeCopyButton>{getInstallCommand(defaultScript?.script, false, useGitea)}</CodeCopyButton>
|
||||||
|
</TabsContent>
|
||||||
|
<TabsContent value="alpine">
|
||||||
|
{renderInstructions(true)}
|
||||||
|
<CodeCopyButton>{getInstallCommand(alpineScript.script, true, useGitea)}</CodeCopyButton>
|
||||||
|
</TabsContent>
|
||||||
|
</Tabs>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if (defaultScript?.script) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{renderInstructions()}
|
||||||
|
<CodeCopyButton>{getInstallCommand(defaultScript.script, false, useGitea)}</CodeCopyButton>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
{alpineScript
|
<Tabs defaultValue="github" className="w-full max-w-4xl">
|
||||||
? (
|
<TabsList>
|
||||||
<Tabs defaultValue="default" className="mt-2 w-full max-w-4xl">
|
<TabsTrigger value="github">GitHub</TabsTrigger>
|
||||||
<TabsList>
|
<TabsTrigger value="gitea">Gitea</TabsTrigger>
|
||||||
<TabsTrigger value="default">Default</TabsTrigger>
|
</TabsList>
|
||||||
<TabsTrigger value="alpine">Alpine Linux</TabsTrigger>
|
<TabsContent value="github">
|
||||||
</TabsList>
|
{renderScriptTabs(false)}
|
||||||
<TabsContent value="default">
|
</TabsContent>
|
||||||
{renderInstructions()}
|
<TabsContent value="gitea">
|
||||||
<CodeCopyButton>{getInstallCommand(defaultScript?.script)}</CodeCopyButton>
|
{renderGiteaInfo()}
|
||||||
</TabsContent>
|
{renderScriptTabs(true)}
|
||||||
<TabsContent value="alpine">
|
</TabsContent>
|
||||||
{renderInstructions(true)}
|
</Tabs>
|
||||||
<CodeCopyButton>{getInstallCommand(alpineScript.script, true)}</CodeCopyButton>
|
|
||||||
</TabsContent>
|
|
||||||
</Tabs>
|
|
||||||
)
|
|
||||||
: defaultScript?.script
|
|
||||||
? (
|
|
||||||
<>
|
|
||||||
{renderInstructions()}
|
|
||||||
<CodeCopyButton>{getInstallCommand(defaultScript.script)}</CodeCopyButton>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
: null}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
Reference in New Issue
Block a user