Commit 3fd08b1b by Arjun Jhukal

Merge branch 'dev'

parents 56221569 76a219fb
...@@ -10,6 +10,7 @@ function LayoutContent({ children }: { children: React.ReactNode }) { ...@@ -10,6 +10,7 @@ function LayoutContent({ children }: { children: React.ReactNode }) {
const searchParams = useSearchParams(); const searchParams = useSearchParams();
const visitorId = searchParams.get("visitor_id"); const visitorId = searchParams.get("visitor_id");
useEffect(() => { useEffect(() => {
if (visitorId) { if (visitorId) {
localStorage.setItem("visitor_id", visitorId); localStorage.setItem("visitor_id", visitorId);
......
...@@ -7,13 +7,11 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> { ...@@ -7,13 +7,11 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const frontendUrl = process.env.NEXT_PUBLIC_FRONTEND_URL!; const frontendUrl = process.env.NEXT_PUBLIC_FRONTEND_URL!;
const apiUrl = process.env.NEXT_PUBLIC_BASE_URL!; const apiUrl = process.env.NEXT_PUBLIC_BASE_URL!;
// ✅ Fetch Menus
const menuRes = await fetch(`${apiUrl}/api/general/menus`, { const menuRes = await fetch(`${apiUrl}/api/general/menus`, {
next: { revalidate: 48600 }, next: { revalidate: 48600 },
}); });
const menuData = await menuRes.json(); const menuData = await menuRes.json();
// ✅ Fetch Games
const gameRes = await getAllGames(); const gameRes = await getAllGames();
const gameData = gameRes?.data?.data || []; const gameData = gameRes?.data?.data || [];
...@@ -21,17 +19,12 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> { ...@@ -21,17 +19,12 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
{ {
url: frontendUrl, url: frontendUrl,
priority: 1 priority: 1
// lastModified: new Date(),
// changeFrequency: "monthly",
}, },
]; ];
// ✅ Append /general/[slug]
if (menuData?.data?.length) { if (menuData?.data?.length) {
const menuUrls: MetadataRoute.Sitemap = menuData.data.map((menu: any) => ({ const menuUrls: MetadataRoute.Sitemap = menuData.data.map((menu: any) => ({
url: `${frontendUrl}/general/${menu.slug}`, url: `${frontendUrl}/general/${menu.slug}`,
// lastModified: new Date(),
// changeFrequency: "weekly",
priority: 0.9 priority: 0.9
})); }));
...@@ -42,11 +35,10 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> { ...@@ -42,11 +35,10 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
if (gameData.length) { if (gameData.length) {
const gameUrls: MetadataRoute.Sitemap = gameData.map((game: any) => ({ const gameUrls: MetadataRoute.Sitemap = gameData.map((game: any) => ({
url: `${frontendUrl}/exclusive-games/${game.id}`, url: `${frontendUrl}/exclusive-games/${game.id}`,
// lastModified: new Date(),
// changeFrequency: "weekly",
priority: 0.9 priority: 0.9
})); }));
urls.push(...gameUrls); urls.push(...gameUrls);
} }
......
import { TransactionStatusProps } from "@/components/pages/dashboard/adminDashboard/transaction/TransactionTable"; import { TransactionStatusProps } from "@/components/pages/dashboard/adminDashboard/transaction/TransactionTable";
import { QueryParams } from "@/types/config"; import { GlobalResponse, QueryParams } from "@/types/config";
import { DepositListProps, DepositProps, DepositResponseProps } from "@/types/transaction"; import { DepositListProps, DepositProps, DepositResponseProps, MasspayPaymentFields, MasspayPaymentMethods } from "@/types/transaction";
import { createApi } from "@reduxjs/toolkit/query/react"; import { createApi } from "@reduxjs/toolkit/query/react";
import { baseQuery } from "./baseQuery"; import { baseQuery } from "./baseQuery";
// Define proper request/response types
interface SubmitMassPayRequest {
token: string;
body: {
amount: number;
game_provider: string;
values?: { token: string; value: string }[];
};
}
interface MassPayFieldsResponse {
data: MasspayPaymentFields[];
success: boolean;
message: string;
}
interface MassPayMethodsResponse {
data: MasspayPaymentMethods[];
success: boolean;
message: string;
}
export const transactionApi = createApi({ export const transactionApi = createApi({
reducerPath: "transactionApi", reducerPath: "transactionApi",
baseQuery: baseQuery, baseQuery: baseQuery,
...@@ -81,7 +103,36 @@ export const transactionApi = createApi({ ...@@ -81,7 +103,36 @@ export const transactionApi = createApi({
}, },
providesTags: ["Withdrawl", "Deposit"] providesTags: ["Withdrawl", "Deposit"]
}), }),
getMassPayPaymentMethods: builder.query<MassPayMethodsResponse, void>({
query: () => ({
url: `/api/payment`,
method: "GET"
})
}),
getMassPayPaymentFields: builder.mutation<MassPayFieldsResponse, { token: string }>({
query: ({ token }) => ({
url: `/api/payment/fields?token=${token}`,
method: "GET"
})
}),
submitMassPayPaymentFields: builder.mutation<GlobalResponse, SubmitMassPayRequest>({
query: ({ token, body }) => ({
url: `/api/payment/fields?token=${token}`,
method: "POST",
body
}),
invalidatesTags: ["Withdrawl"]
}),
}) })
}) })
export const { useDepositMutation, useGetAllDepositQuery, useWithdrawlMutation, useGetAllWithdrawlQuery, useGetAllTransactionQuery } = transactionApi; export const {
\ No newline at end of file useDepositMutation,
useGetAllDepositQuery,
useWithdrawlMutation,
useGetAllWithdrawlQuery,
useGetAllTransactionQuery,
useGetMassPayPaymentFieldsMutation,
useGetMassPayPaymentMethodsQuery,
useSubmitMassPayPaymentFieldsMutation
} = transactionApi;
\ No newline at end of file
...@@ -14,8 +14,8 @@ export interface DepositUrlProps { ...@@ -14,8 +14,8 @@ export interface DepositUrlProps {
amount: number; amount: number;
currency: string; currency: string;
payment_url: string; payment_url: string;
merchant_id:string; merchant_id: string;
} }
...@@ -47,4 +47,23 @@ export interface DepositListProps { ...@@ -47,4 +47,23 @@ export interface DepositListProps {
} }
success: boolean; success: boolean;
message: string; message: string;
}
export interface MasspayPaymentMethods {
id: number;
name: string;
destination_token: string;
fee: number;
}
export interface MasspayPaymentFields {
input_type: "text" | "options" | "date";
token: string;
is_optional: boolean;
is_required: boolean;
label: string;
validation: string;
type: "BillReferenceNumber" | "BankAccountType" | "BankAccountNumber" | "BankRoutingNumber" | "SocialSecurity" | "DateOfBirth" | "Address1" | "IDSelfieCollection";
expected_value: string;
value: string;
} }
\ No newline at end of file
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