From 3a0c5746b7fab6a31c6ce81682aceff5cd5f0ea0 Mon Sep 17 00:00:00 2001
From: parsa aghaei
Date: Tue, 23 Jun 2026 18:20:00 +0330
Subject: [PATCH] 1.4-1.6: add rewrites, remove BFF handlers, update client to
use relative URLs
---
next.config.mjs | 13 ++++++++++++-
.../(website)/components/projects/projects.tsx | 2 +-
.../(website)/components/services/services.tsx | 2 +-
src/app/api/blog/home/rout.ts | 9 ---------
src/app/api/website/about-me/route.ts | 9 ---------
src/app/api/website/projects/route.ts | 9 ---------
src/app/api/website/services/route.ts | 11 -----------
7 files changed, 14 insertions(+), 41 deletions(-)
delete mode 100644 src/app/api/blog/home/rout.ts
delete mode 100644 src/app/api/website/about-me/route.ts
delete mode 100644 src/app/api/website/projects/route.ts
delete mode 100644 src/app/api/website/services/route.ts
diff --git a/next.config.mjs b/next.config.mjs
index 0af29db..ea5392e 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -15,7 +15,18 @@ const nextConfig = {
},
],
},
- // سایر تنظیمات Next.js شما
+ async rewrites() {
+ return [
+ {
+ source: '/api/website/:path*',
+ destination: `${process.env.NEXT_PUBLIC_BACK_URL}/api/website/:path*`,
+ },
+ {
+ source: '/api/blog/:path*',
+ destination: `${process.env.NEXT_PUBLIC_BACK_URL}/api/blog/:path*`,
+ },
+ ];
+ },
webpack(config, { isServer }) {
if (!isServer) {
config.optimization.splitChunks = {
diff --git a/src/app/(routes)/(website)/components/projects/projects.tsx b/src/app/(routes)/(website)/components/projects/projects.tsx
index 57deaea..7821839 100644
--- a/src/app/(routes)/(website)/components/projects/projects.tsx
+++ b/src/app/(routes)/(website)/components/projects/projects.tsx
@@ -47,7 +47,7 @@ export default function Projects({ dict }: MyProjectsProps) {
);
const fetchProjects = async () => {
const res = await fetch(
- `${process.env.NEXT_PUBLIC_API_URL}/website/projects/translation/${locale}?sort=desc&per_page=40`,
+ `/api/website/projects/translation/${locale}?sort=desc&per_page=40`,
);
const data = await res.json();
const resProjects: Project[] =
diff --git a/src/app/(routes)/(website)/components/services/services.tsx b/src/app/(routes)/(website)/components/services/services.tsx
index 1c01dd7..9633703 100644
--- a/src/app/(routes)/(website)/components/services/services.tsx
+++ b/src/app/(routes)/(website)/components/services/services.tsx
@@ -29,7 +29,7 @@ export default function Services({ dict }: ServicesProps) {
const fetchServices = async () => {
setLoading(true);
const response = await fetch(
- `${process.env.NEXT_PUBLIC_API_URL}/website/services/${getCookie("selectedLocale") !== undefined ? getCookie("selectedLocale") : getCookie("defaultLocale")}`,
+ `/api/website/services/${getCookie("selectedLocale") !== undefined ? getCookie("selectedLocale") : getCookie("defaultLocale")}`,
).then((res) => res.json());
setServices(response);
diff --git a/src/app/api/blog/home/rout.ts b/src/app/api/blog/home/rout.ts
deleted file mode 100644
index 385be42..0000000
--- a/src/app/api/blog/home/rout.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { NextResponse } from "next/server";
-
-export async function GET() {
- const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/blog/homepage`, {
- cache: "no-store" // غیرفعال کردن کش
- });
- const data = await response.json();
- return NextResponse.json(data);
-}
\ No newline at end of file
diff --git a/src/app/api/website/about-me/route.ts b/src/app/api/website/about-me/route.ts
deleted file mode 100644
index be55cd2..0000000
--- a/src/app/api/website/about-me/route.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { NextResponse } from "next/server";
-
-export async function GET() {
- const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/about-me`, {
- cache: "no-store" // غیرفعال کردن کش
- });
- const data = await response.json();
- return NextResponse.json(data);
-}
diff --git a/src/app/api/website/projects/route.ts b/src/app/api/website/projects/route.ts
deleted file mode 100644
index 69fcd43..0000000
--- a/src/app/api/website/projects/route.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { NextResponse } from "next/server";
-
-export async function GET() {
- const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/projects`, {
- cache: "no-store" // غیرفعال کردن کش
- });
- const data = await response.json();
- return NextResponse.json(data);
-}
diff --git a/src/app/api/website/services/route.ts b/src/app/api/website/services/route.ts
deleted file mode 100644
index 3a8736d..0000000
--- a/src/app/api/website/services/route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NextResponse } from "next/server";
-
-export async function GET() {
- const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/services`, {
- cache: "no-store", // غیرفعال کردن کش
- });
-
- const services = await res.json();
-
- return NextResponse.json(services);
-}