From c05ea7aa1fe165025dcc5e8395b39883994db778 Mon Sep 17 00:00:00 2001 From: Pixelated Date: Mon, 26 Jan 2026 21:26:48 -0700 Subject: [PATCH 1/2] Develop (#9) * Add VPS and Dedicated server hosting support (#6) (#7) Added support for VPS and Dedicated server hosting. * Updated stuff (#8) * Add VPS and Dedicated server hosting support (#6) Added support for VPS and Dedicated server hosting. * Update providers readme Allow hosts who offer VPS and Dedicated servers * Update contact link to open an issue on GitHub --- app/brand/page.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/brand/page.tsx b/app/brand/page.tsx index 49ad3ec..71bc331 100644 --- a/app/brand/page.tsx +++ b/app/brand/page.tsx @@ -143,10 +143,10 @@ export default function BrandPage() {

Need a different format?{" "} - Contact us + Open a Issue {" "} for SVG or other formats.

From 411f56140fb8b6e3d49d596e4b40fb78431071a1 Mon Sep 17 00:00:00 2001 From: Miya25 Date: Tue, 27 Jan 2026 12:30:32 +0530 Subject: [PATCH 2/2] feat(fix): my fixes --- app/docs-og/[...slug]/route.tsx | 148 ++++++++- app/hosting/opengraph-image.tsx | 286 +++++++++--------- app/layout.tsx | 5 +- components/providers/query-provider.tsx | 27 ++ package.json | 19 +- packages/core/src/useFetch/index.ts | 102 ++----- packages/ui/src/core/landing/tracer.tsx | 120 ++++++-- packages/ui/src/core/layout/hero.tsx | 16 +- packages/utils/src/functions/githubFetcher.ts | 223 ++++++-------- 9 files changed, 542 insertions(+), 404 deletions(-) create mode 100644 components/providers/query-provider.tsx diff --git a/app/docs-og/[...slug]/route.tsx b/app/docs-og/[...slug]/route.tsx index 0bec07b..ebe0f7f 100644 --- a/app/docs-og/[...slug]/route.tsx +++ b/app/docs-og/[...slug]/route.tsx @@ -1,16 +1,146 @@ import { metadataImage } from "@/lib/docs/metadata"; -import { generateOGImage } from "fumadocs-ui/og"; +import { ImageResponse } from "next/og"; +import React from "react"; +import fs from "node:fs"; +import path from "node:path"; export const dynamic = "force-dynamic"; -export const GET = metadataImage.createAPI((page) => { - return generateOGImage({ - title: page.data.title, - description: page.data.description, - site: "FixFX", - primaryColor: "#3b82f6", - primaryTextColor: "#f8fafc", - }); +export const GET = metadataImage.createAPI(async (page: any) => { + // Truncate description to prevent overflow + const maxDescLength = 150; + const description = page.data.description + ? page.data.description.length > maxDescLength + ? page.data.description.substring(0, maxDescLength).trim() + "..." + : page.data.description + : ""; + + // Read the logo from the filesystem + const logoPath = path.join(process.cwd(), "public", "logo.png"); + const logoBuffer = fs.readFileSync(logoPath); + const logoData = logoBuffer.buffer.slice(logoBuffer.byteOffset, logoBuffer.byteOffset + logoBuffer.byteLength); + + return new ImageResponse( + ( +
+ {/* Background gradient orbs */} +
+
+ + {/* Header with logo and site name */} +
+ Logo + + FixFX + +
+ + {/* Main content */} +
+

+ {page.data.title} +

+ {description && ( +

+ {description} +

+ )} +
+ + +
+ ), + { + width: 1200, + height: 630, + } + ); }); export function generateStaticParams() { diff --git a/app/hosting/opengraph-image.tsx b/app/hosting/opengraph-image.tsx index 414f517..747afab 100644 --- a/app/hosting/opengraph-image.tsx +++ b/app/hosting/opengraph-image.tsx @@ -1,4 +1,7 @@ import { ImageResponse } from "next/og"; +import React from "react"; +import fs from "node:fs"; +import path from "node:path"; export const runtime = "nodejs"; export const alt = "FixFX Hosting Partners - Trusted Game Server Hosting"; @@ -10,169 +13,168 @@ export const size = { export const contentType = "image/png"; export default function Image() { - return new ImageResponse( -
- {/* Background gradient orbs */} -
-
-
- - {/* Badge */} -
-
🤝
- - Official Partners - -
+ // Read the logo from the filesystem + const logoPath = path.join(process.cwd(), "public", "logo.png"); + const logoBuffer = fs.readFileSync(logoPath); + const logoData = logoBuffer.buffer.slice( + logoBuffer.byteOffset, + logoBuffer.byteOffset + logoBuffer.byteLength + ); - {/* Main title */} + return new ImageResponse( + (
- +
+
- Hosting Partners - -
- - {/* Subtitle */} -

- Trusted hosting providers for your{" "} - FiveM and{" "} - RedM{" "} - servers -

- - {/* Bottom indicators */} -
-
-
- - Exclusive Discounts - -
-
-
- - High Performance + > + FixFX
-
-
- - 24/7 Support + + {/* Badge */} +
+ 🤝 + + Official Partners
+ + {/* Main title */} +

+ Hosting Partners +

+ + {/* Subtitle with fixed spacing */} +

+ Trusted hosting providers for your + FiveM + and + RedM + servers +

+ + {/* Bottom indicators */} +
+
+
+ Exclusive Discounts +
+
+
+ High Performance +
+
+
+ 24/7 Support +
+
-
, + ), { ...size, - }, + } ); } diff --git a/app/layout.tsx b/app/layout.tsx index 8e81c35..6deeb70 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,4 +1,5 @@ import { RootProvider } from "fumadocs-ui/provider"; +import { QueryProvider } from "@/components/providers/query-provider"; import { Analytics } from "@vercel/analytics/react"; import Script from "next/script"; import { inter, jetbrains } from "@/lib/fonts"; @@ -272,7 +273,9 @@ export default function Layout({ - {children} + + {children} +