diff --git a/app/(auth)/log-in/page.tsx b/app/(auth)/log-in/page.tsx
index cda3971..bdb90a5 100644
--- a/app/(auth)/log-in/page.tsx
+++ b/app/(auth)/log-in/page.tsx
@@ -1,6 +1,13 @@
+import { buildMeta } from "@/shared/config/meta";
import LoginCard from "@/widgets/authentication/login/LoginCard";
import React from "react";
+export const generateMetadata = () => {
+ return buildMeta({
+ title: "Log in",
+ });
+};
+
const page = () => {
return (
diff --git a/app/(auth)/sign-up/page.tsx b/app/(auth)/sign-up/page.tsx
index 28f22be..57a7c08 100644
--- a/app/(auth)/sign-up/page.tsx
+++ b/app/(auth)/sign-up/page.tsx
@@ -1,6 +1,13 @@
+import { buildMeta } from "@/shared/config/meta";
import SignupCard from "@/widgets/authentication/signup/SignupCard";
import React from "react";
+export const generateMetadata = () => {
+ return buildMeta({
+ title: "Sign in",
+ });
+};
+
const page = () => {
return (
diff --git a/shared/config/meta.ts b/shared/config/meta.ts
new file mode 100644
index 0000000..c75e69d
--- /dev/null
+++ b/shared/config/meta.ts
@@ -0,0 +1,29 @@
+type BuildMeta = {
+ title?: string;
+ description?: string;
+ image?: string;
+};
+
+const appName = process.env.APP_NAME;
+export const defaultMeta = {
+ title: appName || "Unknown App",
+ description: "Interactive community",
+};
+
+export const buildMeta = ({ title, description, image }: BuildMeta) => {
+ return {
+ title: title ? `${title} - ${appName}` : defaultMeta.title,
+ description: description || defaultMeta.description,
+ openGraph: {
+ title,
+ description,
+ images: image ? [image] : ["/default-og.png"],
+ },
+ twitter: {
+ card: "summary_large_image",
+ title,
+ description,
+ images: image ? [image] : ["/default-og.png"],
+ },
+ };
+};