diff --git a/messages/en.json b/messages/en.json index 8a56bcd..09a82e0 100644 --- a/messages/en.json +++ b/messages/en.json @@ -1,7 +1,9 @@ { - "Site": { + "Metadata": { "name": "MkSaaS", - "tagline": "Make AI SaaS in hours, simply and effortlessly" + "title": "MkSaaS - The Best AI SaaS Boilerplate", + "tagline": "Make AI SaaS in days, simply and effortlessly", + "description": "MkSaaS is the best AI SaaS boilerplate. Make AI SaaS in days, simply and effortlessly" }, "Common": { "login": "Log in", @@ -18,10 +20,6 @@ "cancel": "Cancel", "logoutFailed": "Failed to log out" }, - "Metadata": { - "title": "MkSaaS - The Best AI SaaS Boilerplate", - "description": "MkSaaS is the best AI SaaS boilerplate. Make AI SaaS in hours, simply and effortlessly" - }, "HomePage": { "title": "next-intl example", "description": "This is a simple example of how to use next-intl to build a website" diff --git a/messages/zh.json b/messages/zh.json index 906bda7..7c89956 100644 --- a/messages/zh.json +++ b/messages/zh.json @@ -1,7 +1,9 @@ { - "Site": { + "Metadata": { "name": "MkSaaS", - "tagline": "使用 MkSaaS 在几小时内轻松构建您的 AI SaaS" + "title": "MkSaaS - 最好的 AI SaaS 模板", + "tagline": "使用 MkSaaS 在几天内轻松构建您的 AI SaaS", + "description": "MkSaaS 是构建 AI SaaS 的最佳模板,使用 MkSaaS 可以在几天内轻松构建您的 AI SaaS,简单且毫不费力。" }, "Common": { "login": "登录", @@ -18,10 +20,6 @@ "cancel": "取消", "logoutFailed": "退出失败" }, - "Metadata": { - "title": "MkSaaS - 最好的 AI SaaS 模板", - "description": "MkSaaS 是构建 AI SaaS 的最佳模板,使用 MkSaaS 可以在几小时内轻松构建您的 AI SaaS,简单且毫不费力。" - }, "HomePage": { "title": "MkSaaS 示例", "description": "这是一个使用 MkSaaS 构建网站的简单示例" diff --git a/public/site.webmanifest b/public/site.webmanifest deleted file mode 100755 index 45dc8a2..0000000 --- a/public/site.webmanifest +++ /dev/null @@ -1 +0,0 @@ -{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/src/app/manifest.ts b/src/app/manifest.ts index 5c32d99..40bb61d 100644 --- a/src/app/manifest.ts +++ b/src/app/manifest.ts @@ -22,9 +22,9 @@ import { type MetadataRoute } from 'next'; */ export default function manifest(): MetadataRoute.Manifest { return { - name: defaultMessages.Site.name, - short_name: defaultMessages.Site.name, - description: defaultMessages.Site.tagline, + name: defaultMessages.Metadata.name, + short_name: defaultMessages.Metadata.name, + description: defaultMessages.Metadata.description, start_url: '/', display: 'standalone', background_color: '#ffffff', diff --git a/src/components/dashboard/dashboard-sidebar.tsx b/src/components/dashboard/dashboard-sidebar.tsx index d424f73..6321289 100644 --- a/src/components/dashboard/dashboard-sidebar.tsx +++ b/src/components/dashboard/dashboard-sidebar.tsx @@ -38,7 +38,7 @@ export function DashboardSidebar({ ...props }: React.ComponentProps - {t('Site.name')} + {t('Metadata.name')} diff --git a/src/components/layout/footer.tsx b/src/components/layout/footer.tsx index f3a3bbe..023f77e 100644 --- a/src/components/layout/footer.tsx +++ b/src/components/layout/footer.tsx @@ -25,13 +25,13 @@ export function Footer({ className }: React.HTMLAttributes) {
- {t('Site.name')} + {t('Metadata.name')}
{/* tagline */}

- {t('Site.tagline')} + {t('Metadata.tagline')}

{/* social links */} @@ -94,7 +94,7 @@ export function Footer({ className }: React.HTMLAttributes) {
- © {new Date().getFullYear()} {t('Site.name')} All Rights + © {new Date().getFullYear()} {t('Metadata.name')} All Rights Reserved. diff --git a/src/components/layout/navbar-mobile.tsx b/src/components/layout/navbar-mobile.tsx index c1ebcbf..3d8fb5a 100644 --- a/src/components/layout/navbar-mobile.tsx +++ b/src/components/layout/navbar-mobile.tsx @@ -76,7 +76,7 @@ export function NavbarMobile({ - {t('Site.name')} + {t('Metadata.name')} diff --git a/src/components/layout/navbar.tsx b/src/components/layout/navbar.tsx index 34c9d18..1b6f4cb 100644 --- a/src/components/layout/navbar.tsx +++ b/src/components/layout/navbar.tsx @@ -67,7 +67,7 @@ export function Navbar({ scroll }: NavBarProps) { - {t('Site.name')} + {t('Metadata.name')}
diff --git a/src/config.tsx b/src/config.tsx index 0903d88..b82f30e 100644 --- a/src/config.tsx +++ b/src/config.tsx @@ -52,7 +52,7 @@ export const websiteConfig: WebsiteConfig = { }, social: { github: 'https://github.com/MkSaaSHQ', - twitter: 'https://twitter.com/mksaas', + twitter: 'https://x.com/MkSaaSHQ', blueSky: 'https://bsky.app/profile/mksaas.com', youtube: 'https://www.youtube.com/@MkSaaSHQ', linkedin: 'https://linkedin.com/company/mksaas', diff --git a/src/lib/auth.ts b/src/lib/auth.ts index 6dedc0b..ed395c7 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -13,7 +13,7 @@ import { admin, username } from 'better-auth/plugins'; * https://www.better-auth.com/docs/reference/options */ export const auth = betterAuth({ - appName: defaultMessages.Site.name, + appName: defaultMessages.Metadata.name, database: drizzleAdapter(db, { provider: 'pg', // or "mysql", "sqlite" // The schema object that defines the tables and fields diff --git a/src/lib/metadata.ts b/src/lib/metadata.ts index 9b6d0dc..07bcbf1 100644 --- a/src/lib/metadata.ts +++ b/src/lib/metadata.ts @@ -2,6 +2,7 @@ import { websiteConfig } from '@/config'; import { routing } from '@/i18n/routing'; import type { Metadata } from 'next'; import { getBaseUrl } from './urls/get-base-url'; +import { defaultMessages } from '@/i18n/messages'; /** * Construct the metadata object for the current page (in docs/guides) @@ -21,6 +22,8 @@ export function constructMetadata({ noIndex?: boolean; locale?: string; } = {}): Metadata { + title = title || defaultMessages.Metadata.name; + description = description || defaultMessages.Metadata.description; image = image || websiteConfig.metadata.image; const ogImageUrl = new URL(`${getBaseUrl()}${image}`); return { @@ -53,7 +56,7 @@ export function constructMetadata({ apple: '/apple-touch-icon.png', }, metadataBase: new URL(getBaseUrl()), - manifest: `${getBaseUrl()}/site.webmanifest`, + manifest: `${getBaseUrl()}/manifest.webmanifest`, ...(noIndex && { robots: { index: false, diff --git a/src/mail/components/email-layout.tsx b/src/mail/components/email-layout.tsx index 2b33603..339b176 100644 --- a/src/mail/components/email-layout.tsx +++ b/src/mail/components/email-layout.tsx @@ -43,7 +43,7 @@ export default function EmailLayout({ locale, messages, children }: EmailLayoutP
- {t('Mail.common.team', { name: t('Site.name') })} + {t('Mail.common.team', { name: t('Metadata.name') })} {t('Mail.common.copyright', { year: new Date().getFullYear() })}