From 994b691239cec11eefb24cc4fa262f633fa77cd3 Mon Sep 17 00:00:00 2001
From: Osama Mabkhot <99215291+O2sa@users.noreply.github.com>
Date: Thu, 13 Aug 2026 03:27:16 +0300
Subject: [PATCH 1/4] fix: prevent theme flash on initial load
---
app/layout.tsx | 10 ++++++----
components/theme-provider.tsx | 1 +
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/app/layout.tsx b/app/layout.tsx
index cf1565a..5865918 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -2,7 +2,6 @@ import "./globals.css";
import type { ReactNode } from "react";
import type { Metadata } from "next";
import { cookies, headers } from "next/headers";
-import Script from "next/script";
import {
DEFAULT_LOCALE,
LOCALE_COOKIE,
@@ -112,10 +111,13 @@ export default async function RootLayout({ children }: { children: ReactNode })
return (
+
+
+
-
{children}
diff --git a/components/theme-provider.tsx b/components/theme-provider.tsx
index 75a06f3..cadf070 100644
--- a/components/theme-provider.tsx
+++ b/components/theme-provider.tsx
@@ -9,6 +9,7 @@ export function ThemeProvider({ children }: { children: ReactNode }) {
attribute="class"
defaultTheme="system"
enableSystem
+ enableColorScheme
storageKey="devimpact-theme"
>
{children}
From 8b05b65a72d800af6a8b6890bb67d4728e5dc033 Mon Sep 17 00:00:00 2001
From: Osama Mabkhot <99215291+O2sa@users.noreply.github.com>
Date: Thu, 13 Aug 2026 23:26:36 +0300
Subject: [PATCH 2/4] fix: Prevent home page skeleton from covering the whole
page
---
app/page.tsx | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 58 insertions(+), 2 deletions(-)
diff --git a/app/page.tsx b/app/page.tsx
index 7c58084..c3a57fe 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,7 +1,9 @@
import type { Metadata } from "next";
import { Suspense } from "react";
-import { DashboardSkeleton } from "@/components/skeletons";
+import { AppFooter } from "@/components/app-footer";
+import { AppHeader } from "@/components/app-header";
import { HomePageClient } from "@/components/home-page-client";
+import { Skeleton } from "@/components/ui/skeleton";
import { JsonLd } from "@/components/seo/json-ld";
import { toAbsoluteUrl } from "@/lib/seo";
@@ -63,11 +65,65 @@ const softwareSchema = {
},
};
+function HomePageFallback() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {Array.from({ length: 8 }).map((_, index) => (
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
export default function HomePage() {
return (
<>
- }>
+ }>
>
From cd0b9927b44f03633a510ad56a4cddf08b37c52d Mon Sep 17 00:00:00 2001
From: Osama Mabkhot <99215291+O2sa@users.noreply.github.com>
Date: Thu, 13 Aug 2026 23:41:03 +0300
Subject: [PATCH 3/4] chore: remove next-env.d.ts from the repository
---
.gitignore | 1 +
next-env.d.ts | 6 ------
2 files changed, 1 insertion(+), 6 deletions(-)
delete mode 100644 next-env.d.ts
diff --git a/.gitignore b/.gitignore
index 93bdc13..ef5d71d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,6 +81,7 @@ out
# Nuxt.js build / generate output
.nuxt
dist
+next-env.d.ts
# Gatsby files
.cache/
diff --git a/next-env.d.ts b/next-env.d.ts
deleted file mode 100644
index c4b7818..0000000
--- a/next-env.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-///
-///
-import "./.next/dev/types/routes.d.ts";
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
From 7b855fcac52fa79e6ae6d42e041996ee103ea05a Mon Sep 17 00:00:00 2001
From: Osama Mabkhot <99215291+O2sa@users.noreply.github.com>
Date: Fri, 14 Aug 2026 00:29:04 +0300
Subject: [PATCH 4/4] style: update top right gradient color to match the app
identity
Co-authored-by: Copilot
---
app/globals.css | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/globals.css b/app/globals.css
index 65ff396..794cfbc 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -74,16 +74,16 @@ body::after {
body::before {
background-image:
- radial-gradient(circle at 20% 20%, rgba(59, 130, 246, 0.08), transparent 35%),
- radial-gradient(circle at 80% 0%, rgba(168, 85, 247, 0.08), transparent 30%),
+ radial-gradient(circle at 20% 20%, hsl(var(--primary) / 0.08), transparent 35%),
+ radial-gradient(circle at 80% 0%, hsl(var(--accent) / 0.08), transparent 30%),
linear-gradient(180deg, #f8fbff 0%, #f2f5f9 40%, #f9fafb 100%);
opacity: 1;
}
body::after {
background-image:
- radial-gradient(circle at 20% 20%, rgba(59, 130, 246, 0.08), transparent 35%),
- radial-gradient(circle at 80% 0%, rgba(124, 58, 237, 0.12), transparent 30%),
+ radial-gradient(circle at 20% 20%, hsl(var(--primary) / 0.08), transparent 35%),
+ radial-gradient(circle at 80% 0%, hsl(var(--accent) / 0.12), transparent 30%),
linear-gradient(180deg, #0f172a 0%, #0b1221 40%, #0a0f1c 100%);
opacity: 0;
}