Commit c1a57457 by Arjun Jhukal

updated the meta for site dynamic

parent d64c3642
...@@ -5,15 +5,36 @@ import ProviderWrapper from "./ProviderWrapper"; ...@@ -5,15 +5,36 @@ import ProviderWrapper from "./ProviderWrapper";
import { AgeChecker } from "./AgeChecker"; import { AgeChecker } from "./AgeChecker";
import TopLoader from "./TopLoader"; import TopLoader from "./TopLoader";
import React from "react"; import React from "react";
import { pageSEO } from "@/serverApi/game";
export const metadata: Metadata = { const metadata: Metadata = {
title: "Sweepstake", title: "Sweepstake",
description: "Sweepstake - Online Gaming Platform", description: "Sweepstake - Online Gaming Platform",
icons: { icons: {
icon: "/assets/images/logo.png", icon: "/assets/images/logo.png",
}, },
}; };
export async function generateMetadata(): Promise<Metadata> {
try {
const response = await pageSEO();
const seoData = response;
console.log(response);
return {
title: seoData?.data?.site_name || metadata.title,
description: seoData?.data?.description || metadata.description,
openGraph: {
title: seoData?.data?.site_name || seoData?.data?.site_name || metadata.title,
description: seoData?.data?.description || seoData?.data?.description || metadata.description,
images: seoData?.data?.logo ? [seoData.logo] : ["/assets/images/logo.png"],
},
icons: seoData?.favicon || metadata.icons,
};
} catch (error) {
console.error("SEO metadata fetch failed:", error);
return metadata;
}
}
const inter = Inter({ const inter = Inter({
subsets: ['latin'], subsets: ['latin'],
fallback: ['sans-serif'], fallback: ['sans-serif'],
......
...@@ -37,7 +37,7 @@ export default function SiteSetting() { ...@@ -37,7 +37,7 @@ export default function SiteSetting() {
title: usp.title, title: usp.title,
description: usp.description, description: usp.description,
icon: null, icon: null,
icon_url: usp.icon_url icon_url: usp.icon
})) }))
} : SiteInitialRequest, } : SiteInitialRequest,
enableReinitialize: true, enableReinitialize: true,
...@@ -106,7 +106,7 @@ export default function SiteSetting() { ...@@ -106,7 +106,7 @@ export default function SiteSetting() {
const handleAddUSP = () => { const handleAddUSP = () => {
formik.setFieldValue("unique_selling_points", [ formik.setFieldValue("unique_selling_points", [
...formik.values.unique_selling_points, ...formik.values.unique_selling_points,
{ title: "", description: "", icon: null }, { title: "", description: "", icon: null, icon_url: "" },
]); ]);
}; };
...@@ -192,7 +192,9 @@ export default function SiteSetting() { ...@@ -192,7 +192,9 @@ export default function SiteSetting() {
</div> </div>
<div className="form__fields p-6 lg:p-10 space-y-6"> <div className="form__fields p-6 lg:p-10 space-y-6">
{formik.values.unique_selling_points.map((usp, index) => ( {formik.values.unique_selling_points.map((usp, index) => {
console.log(usp);
return (
<div <div
key={index} key={index}
className="grid gap-4 lg:gap-6 md:grid-cols-2 lg:grid-cols-3 items-start relative border border-gray rounded-lg p-4" className="grid gap-4 lg:gap-6 md:grid-cols-2 lg:grid-cols-3 items-start relative border border-gray rounded-lg p-4"
...@@ -254,7 +256,16 @@ export default function SiteSetting() { ...@@ -254,7 +256,16 @@ export default function SiteSetting() {
formik.setFieldValue(`unique_selling_points[${index}].icon`, file) formik.setFieldValue(`unique_selling_points[${index}].icon`, file)
} }
onBlur={() => formik.setFieldTouched(`unique_selling_points[${index}].icon`, true)} onBlur={() => formik.setFieldTouched(`unique_selling_points[${index}].icon`, true)}
serverFile={data?.data?.unique_selling_points[index]?.icon} serverFile={typeof usp.icon_url === "string" ? usp.icon_url : ""}
// handle remove icon (server file)
onRemoveServerFile={() => {
const updatedUSPs = [...formik.values.unique_selling_points];
updatedUSPs[index] = {
...updatedUSPs[index],
icon_url: "",
};
formik.setFieldValue("unique_selling_points", updatedUSPs);
}}
/> />
<span className="error"> <span className="error">
{formik.touched.unique_selling_points?.[index]?.icon && {formik.touched.unique_selling_points?.[index]?.icon &&
...@@ -264,9 +275,10 @@ export default function SiteSetting() { ...@@ -264,9 +275,10 @@ export default function SiteSetting() {
</span> </span>
</div> </div>
</div> </div>
))} )
})}
<Button variant="text" color="primary" onClick={handleAddUSP} className="!p-0"> <Button variant="text" color="primary" onClick={handleAddUSP} className="!p-0 !text-title !max-w-fit">
+ Add More USP + Add More USP
</Button> </Button>
</div> </div>
......
...@@ -8,6 +8,9 @@ export async function getAllGames(): Promise<GameResponseProps> { ...@@ -8,6 +8,9 @@ export async function getAllGames(): Promise<GameResponseProps> {
export async function getSubGames(): Promise<any> { export async function getSubGames(): Promise<any> {
return serverBaseQuery("/api/general/home/sub-games"); return serverBaseQuery("/api/general/home/sub-games");
} }
export async function pageSEO(): Promise<any> {
return serverBaseQuery("/api/general/home/seo");
}
export async function getUsp(): Promise<any> { export async function getUsp(): Promise<any> {
return serverBaseQuery("/api/general/home/usp"); return serverBaseQuery("/api/general/home/usp");
} }
...@@ -31,6 +34,7 @@ export async function getUserGameCredentials(): Promise<CredentialsResponseProps ...@@ -31,6 +34,7 @@ export async function getUserGameCredentials(): Promise<CredentialsResponseProps
withAuth: true, withAuth: true,
}); });
} }
export async function getUserGameBalance(): Promise<CredentialsResponseProps> { export async function getUserGameBalance(): Promise<CredentialsResponseProps> {
const cookieStore = await cookies(); const cookieStore = await cookies();
const access_token = cookieStore.get("access_token")?.value; const access_token = cookieStore.get("access_token")?.value;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment