From 1c4321c46685c43d6ddec1b00899afd5d46112a4 Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Wed, 6 Nov 2024 21:45:09 +0100 Subject: [PATCH] use cleaner `basePath` variable around codebase for easier management --- frontend/src/app/api/categories/route.ts | 7 +++++-- frontend/src/app/page.tsx | 3 ++- frontend/src/app/robots.ts | 3 ++- .../app/scripts/_components/ScriptItems/Buttons.tsx | 5 +++-- .../scripts/_components/ScriptItems/InstallCommand.tsx | 3 ++- frontend/src/components/Footer.tsx | 3 ++- frontend/src/components/ui/codeblock.tsx | 3 ++- frontend/src/components/ui/star-on-github-button.tsx | 5 +++-- frontend/src/config/siteConfig.tsx | 10 +++++----- 9 files changed, 26 insertions(+), 16 deletions(-) diff --git a/frontend/src/app/api/categories/route.ts b/frontend/src/app/api/categories/route.ts index 50827d4c..183efee5 100644 --- a/frontend/src/app/api/categories/route.ts +++ b/frontend/src/app/api/categories/route.ts @@ -1,17 +1,20 @@ +import { basePath } from "@/config/siteConfig"; import { Category, Script } from "@/lib/types"; import { NextResponse } from "next/server"; export const dynamic = "force-static"; const fetchCategories = async () => { - const response = await fetch("https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/json/metadata.json"); + const response = await fetch( + `https://raw.githubusercontent.com/community-scripts/${basePath}/refs/heads/main/json/metadata.json`, + ); const data = await response.json(); return data.categories; } const fetchAllMetaDataFiles = async () => { const response = await fetch( - "https://api.github.com/repos/community-scripts/ProxmoxVE/contents/json", + `https://api.github.com/repos/community-scripts/${basePath}/contents/json`, ); const files = await response.json(); const scripts: Script[] = []; diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index ea486cb0..67577c6c 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -11,6 +11,7 @@ import { useEffect, useState } from "react"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"; import { CardFooter } from "@/components/ui/card"; import { FaGithub } from "react-icons/fa"; +import { basePath } from "@/config/siteConfig"; function CustomArrowRightIcon() { return ; @@ -80,7 +81,7 @@ export default function Page() { { if (type === "ct") { - return `https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/${slug}-install.sh`; + return `https://raw.githubusercontent.com/community-scripts/${basePath}/main/install/${slug}-install.sh`; } else { - return `https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/${type}/${slug}.sh`; + return `https://raw.githubusercontent.com/community-scripts/${basePath}/main/${type}/${slug}.sh`; } }; diff --git a/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx b/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx index d4def545..aecad722 100644 --- a/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx +++ b/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx @@ -1,9 +1,10 @@ import CodeCopyButton from "@/components/ui/code-copy-button"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { basePath } from "@/config/siteConfig"; import { Script } from "@/lib/types"; const generateInstallCommand = (script?: string) => { - return `bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/${script})"`; + return `bash -c "$(wget -qLO - https://github.com/community-scripts/${basePath}/raw/main/${script})"`; } export default function InstallCommand({ item }: { item: Script }) { diff --git a/frontend/src/components/Footer.tsx b/frontend/src/components/Footer.tsx index d76a44a2..83aa05ce 100644 --- a/frontend/src/components/Footer.tsx +++ b/frontend/src/components/Footer.tsx @@ -1,3 +1,4 @@ +import { basePath } from "@/config/siteConfig"; import Link from "next/link"; export default function Footer() { @@ -7,7 +8,7 @@ export default function Footer() { Website build by the community. The source code is avaliable on{" "} { diff --git a/frontend/src/components/ui/star-on-github-button.tsx b/frontend/src/components/ui/star-on-github-button.tsx index 9f6eb6e9..f7e59b98 100644 --- a/frontend/src/components/ui/star-on-github-button.tsx +++ b/frontend/src/components/ui/star-on-github-button.tsx @@ -4,6 +4,7 @@ import { useEffect, useState } from "react"; import { FaGithub, FaStar } from "react-icons/fa"; import NumberTicker from "./number-ticker"; import { buttonVariants } from "./button"; +import { basePath } from "@/config/siteConfig"; export default function StarOnGithubButton() { const [stars, setStars] = useState(0); @@ -11,7 +12,7 @@ export default function StarOnGithubButton() { useEffect(() => { const fetchStars = async () => { try { - const res = await fetch("https://api.github.com/repos/community-scripts/ProxmoxVE", { + const res = await fetch(`https://api.github.com/repos/community-scripts/${basePath}`, { next: { revalidate: 60 * 60 * 24 }, }); @@ -34,7 +35,7 @@ export default function StarOnGithubButton() { "group relative justify-center gap-2 rounded-md transition-all duration-300 ease-out hover:ring-2 hover:ring-primary hover:ring-offset-2", )} target="_blank" - href="https://github.com/community-scripts/ProxmoxVE" + href={`https://github.com/community-scripts/${basePath}`} > diff --git a/frontend/src/config/siteConfig.tsx b/frontend/src/config/siteConfig.tsx index 40f70e68..947e8dc7 100644 --- a/frontend/src/config/siteConfig.tsx +++ b/frontend/src/config/siteConfig.tsx @@ -1,21 +1,23 @@ import { MessagesSquare, Scroll } from "lucide-react"; import { FaGithub } from "react-icons/fa"; +export const basePath = "ProxmoxVE"; + export const navbarLinks = [ { - href: "https://github.com/community-scripts/ProxmoxVE", + href: `https://github.com/community-scripts/${basePath}`, event: "Github", icon: , text: "Github", }, { - href: "https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md", + href: `https://github.com/community-scripts/${basePath}/blob/main/CHANGELOG.md`, event: "Change Log", icon: , text: "Change Log", }, { - href: "https://github.com/community-scripts/ProxmoxVE/discussions", + href: `https://github.com/community-scripts/${basePath}/discussions`, event: "Discussions", icon: , text: "Discussions", @@ -32,5 +34,3 @@ export const analytics = { url: "analytics.proxmoxve-scripts.com", token: "b60d3032-1a11-4244-a100-81d26c5c49a7", }; - -export const basePath = "ProxmoxVE" \ No newline at end of file