From fee71ef99fac7c8360dd8187ace6857574562102 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Wed, 15 Apr 2026 11:50:15 +0330 Subject: [PATCH] add pwa config --- messages/fa.json | 4 ++++ next.config.ts | 25 +++++++++++++++++++++++++ public/logo/144px.png | Bin 0 -> 6017 bytes public/logo/152px.png | Bin 0 -> 6367 bytes public/logo/192px.png | Bin 0 -> 8138 bytes public/logo/384px.png | Bin 0 -> 17931 bytes public/logo/512px.png | Bin 0 -> 26082 bytes public/manifest.json | 38 ++++++++++++++++++++++++++++++++++++++ src/app/layout.tsx | 31 ++++++++++++++++++++++++++++--- src/app/not-found.tsx | 39 +++++++++++++++++++++++++++++++++++++++ src/i18n/request.ts | 12 ++++++++++++ 11 files changed, 146 insertions(+), 3 deletions(-) create mode 100644 messages/fa.json create mode 100644 next.config.ts create mode 100644 public/logo/144px.png create mode 100644 public/logo/152px.png create mode 100644 public/logo/192px.png create mode 100644 public/logo/384px.png create mode 100644 public/logo/512px.png create mode 100644 public/manifest.json create mode 100644 src/app/not-found.tsx create mode 100644 src/i18n/request.ts diff --git a/messages/fa.json b/messages/fa.json new file mode 100644 index 0000000..24e9065 --- /dev/null +++ b/messages/fa.json @@ -0,0 +1,4 @@ +{ + "loading": "درحال دریافت داده", + "error_fetch_data": "مشکلی در دریافت داده رخ داده است." +} diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..9027e79 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,25 @@ +// next.config.ts +import type { NextConfig } from "next"; +import createNextIntlPlugin from "next-intl/plugin"; + +// @ts-ignore – no types for next-pwa +const withPWA = require("next-pwa")({ + dest: "public", + disable: process.env.NODE_ENV === "development", + register: true, + skipWaiting: true, + navigateFallback: "/offline.html", // fallback page +}); + +const withNextIntl = createNextIntlPlugin(); + +const nextConfig: NextConfig = { + // output : "standalone", + images: { + remotePatterns: [], + }, +}; + +const configWithIntl = withNextIntl(nextConfig); + +export default withPWA(configWithIntl); diff --git a/public/logo/144px.png b/public/logo/144px.png new file mode 100644 index 0000000000000000000000000000000000000000..dbaf7a07dccd33cac0396883bc990f6c3b8839cb GIT binary patch literal 6017 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 literal 0 HcmV?d00001 diff --git a/public/logo/384px.png b/public/logo/384px.png new file mode 100644 index 0000000000000000000000000000000000000000..d99e54bed1a666d20a511f6a2334b15f0c07ae13 GIT binary patch literal 17931 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 Joe334{tw+Dn<4-J literal 0 HcmV?d00001 diff --git a/public/logo/512px.png b/public/logo/512px.png new file mode 100644 index 0000000000000000000000000000000000000000..065df8bd5d240f2899141dd57d87134500c3a493 GIT binary patch literal 26082 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 literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..426125a --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,38 @@ +{ + "id": "/", + "name": "Theater of dreams", + "short_name": "Theater of dreams", + "description": "Theater of dreams", + "start_url": "/", + "display": "standalone", + "orientation": "portrait", + "theme_color": "#283618", + "background_color": "#ffffff", + "icons": [ + { + "src": "logo/144px.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "logo/152px.png", + "sizes": "152x152", + "type": "image/png" + }, + { + "src": "logo/192px.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "logo/384px.png", + "sizes": "384x384", + "type": "image/png" + }, + { + "src": "logo/512px.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 897d898..e06c8d3 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,12 +1,35 @@ import { ClientAppProvider } from "@/providers/ClientAppProvider"; import "@/styles/globals.css"; import type { Metadata } from "next"; +import { getLocale, getMessages } from "next-intl/server"; +import { NextIntlClientProvider } from "next-intl"; export const metadata: Metadata = { - title: "Theater of dreams", + title: { + template: "%s | Theater of dreams", + default: "Theater of dreams", + }, + description: "Theater of dreams", + authors: { + name: "شرکت دانش بنیان ویرا ارتباطات یکتا تلفن (وایتل)", + url: "https://witel.ir", + }, + + manifest: "/manifest.json", + icons: { + icon: "/logo/192px.png", + apple: "/logo/512px.png", + }, +}; +export const viewport = { + width: "device-width", + initialScale: 1, + maximumScale: 1, }; -export default function RootLayout({ children }: { children: React.ReactNode }) { +export default async function RootLayout({ children }: { children: React.ReactNode }) { + const locale = await getLocale(); + const messages = await getMessages({ locale }); return ( @@ -27,7 +50,9 @@ export default function RootLayout({ children }: { children: React.ReactNode }) - {children} + + {children} + ); diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 0000000..161bb58 --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,39 @@ +import Link from "next/link"; + +export default function NotFound() { + return ( +
+
+ {/* آیکون خطا */} + {/*
*/} + {/* */} + {/* */} + {/* */} + {/*
*/} + + {/* متن خطا */} +

صفحه مورد نظر یافت نشد

+

متاسفانه صفحه‌ای مورد نظر وجود ندارد.

+ + {/* دکمه بازگشت با استفاده از کامپوننت Link */} + + بازگشت به صفحه اصلی + +
+
+ ); +} diff --git a/src/i18n/request.ts b/src/i18n/request.ts new file mode 100644 index 0000000..fd552f5 --- /dev/null +++ b/src/i18n/request.ts @@ -0,0 +1,12 @@ +import { cookies } from "next/headers"; +import { getRequestConfig } from "next-intl/server"; + +export default getRequestConfig(async () => { + const cookieStore = await cookies(); + const locale = cookieStore.get("language")?.value || "fa"; + + return { + locale, + messages: (await import(`../../messages/${locale}.json`)).default, + }; +});