add: param based pwa manifest

This commit is contained in:
Mahyar Khanbolooki
2025-08-21 20:41:58 +03:30
parent ef91469766
commit 4257d99cd5
2 changed files with 72 additions and 9 deletions
+45
View File
@@ -0,0 +1,45 @@
{
"name": "Zhivan - ژیوان",
"short_name": "Zhivan",
"start_url": "/zhivan",
"scope": "/",
"id": "/zhivan",
"display": "standalone",
"display_override": [
"fullscreen",
"minimal-ui",
"browser"
],
"background_color": "#F4F5F9",
"theme_color": "#F4F5F9",
"orientation": "portrait",
"description": "Zhivan Menu by Danak. DMenu is a modern, user-friendly menu management system designed to enhance the dining experience.",
"dir": "rtl",
"lang": "fa-IR",
"version": "1.0.0",
"author": {
"name": "Zhivan",
"url": "https://dmenu.com/zhivan"
},
"icons": [
{
"src": "/icons/web-app-manifest-192x192.png",
"type": "image/png",
"sizes": "192x192",
"purpose": "any"
},
{
"src": "/icons/web-app-manifest-512x512.png",
"type": "image/png",
"sizes": "512x512",
"purpose": "any"
}
],
"categories": [
"food",
"restaurant",
"productivity"
],
"related_applications": [],
"prefer_related_applications": false
}
+27 -9
View File
@@ -1,16 +1,34 @@
import PreferenceWrapper from '@/components/wrapper/PreferenceWrapper';
import PreferenceWrapper from '@/components/wrapper/PreferenceWrapper'
import React from 'react'
import type { Metadata, Viewport } from 'next'
export async function generateMetadata ({
params
}: {
params: { name: string }
}): Promise<Metadata> {
const { name } = await params
return {
title: `${name} Dashboard`,
description: `PWA dashboard for ${name}`,
manifest: `/manifests/${name}/manifest.json`
}
}
export async function generateViewport ({}: {
params: { name: string }
}): Promise<Viewport> {
return {
themeColor: '#F4F5F9'
}
}
type Props = {
children: React.ReactElement
children: React.ReactElement
}
function layout({ children }: Props) {
return (
<PreferenceWrapper>
{children}
</PreferenceWrapper>
)
function layout ({ children }: Props) {
return <PreferenceWrapper>{children}</PreferenceWrapper>
}
export default layout
export default layout