Commit f22c11c5 by Arjun Jhukal

updated the new fixes for site setting and banner image removal case

parent d9e80ef7
......@@ -31,7 +31,7 @@ const CreditCard = ({ game }: { game: any }) => {
},
];
console.log(game)
return (
<div className=" rounded-lg p-3 border border-gray">
<Image src={game?.logo || "/assets/images/auth-image.png"} alt='' width={32} height={32} className='aspect-square rounded-sm' />
......
......@@ -110,7 +110,7 @@ export default function PlayerDetailPage({ id }: { id: number }) {
<div className="col-span-1 bg-light-gray rounded-[14px] p-4 lg:py-6">
<Image src={"/assets/images/withdrawn.svg"} alt='' width={48} height={48} className='mx-auto' />
<div className="content mt-3">
<strong className="text-[12px] leading-[120%] font-[700] text-primary block ">${userBalance?.data?.total_withdrawl || 0}</strong>
<strong className="text-[12px] leading-[120%] font-[700] text-primary block ">${userBalance?.data?.total_withdrawn || 0}</strong>
<span className="text-para-light text-[9px]">Total Withdrawn</span>
</div>
</div>
......
......@@ -77,9 +77,8 @@ export default function BannerSlider() {
if (banner.image) {
formData.append(`banners[${index}][image]`, banner.image);
} else if (banner.image_url) {
formData.append(`banners[${index}][image_url]`, banner.image_url);
}
formData.append(`banners[${index}][image_url]`, banner.image_url || "");
});
const response = await updateBanner(formData).unwrap();
dispatch(
......@@ -217,7 +216,16 @@ export default function BannerSlider() {
onBlur={() =>
formik.setFieldTouched(`banners[${index}].image`, true)
}
serverFile={data?.data[index]?.image_url}
serverFile={typeof banner.image_url === "string" ? banner.image_url : ""}
// handle remove icon (server file)
onRemoveServerFile={() => {
const updatedUSPs = [...formik.values.banners];
updatedUSPs[index] = {
...updatedUSPs[index],
image_url: "",
};
formik.setFieldValue("banners", updatedUSPs);
}}
/>
<span className="error">
{formik.touched.banners?.[index]?.image &&
......@@ -247,7 +255,7 @@ export default function BannerSlider() {
variant="text"
color="primary"
onClick={handleAddBanner}
className="!p-0"
className="!p-0 !text-secondary !text-left hover:!bg-transparent !justify-start"
>
+ Add More Banner
</Button>
......
......@@ -40,7 +40,7 @@ export default function SiteSetting() {
title: usp.title,
description: usp.description,
icon: null,
icon_url: usp.icon
icon_url: usp.icon_url
}))
} : SiteInitialRequest,
enableReinitialize: true,
......@@ -81,9 +81,8 @@ export default function SiteSetting() {
if (usp.icon) {
formData.append(`unique_selling_points[${index}][icon]`, usp.icon);
}
if (usp.icon_url) {
formData.append(`unique_selling_points[${index}][icon_url]`, usp.icon_url);
}
formData.append(`unique_selling_points[${index}][icon_url]`, usp.icon_url || "");
});
......
......@@ -7,9 +7,12 @@ import GoldCoinIcon from '@/icons/GoldCoinIcon';
import { useDepositMutation } from '@/services/transaction';
import { showToast, ToastVariant } from '@/slice/toastSlice';
import { Box, Button } from '@mui/material';
import { BitcoinRefresh, Check, TickCircle } from '@wandersonalwes/iconsax-react';
import Image from 'next/image';
import { useRouter } from 'next/navigation';
import React from 'react'
type PaymentModeProps = "crypto" | "idem"
export default function CheckoutPage({ amount, slug, bonus }: {
amount: number;
slug: string;
......@@ -18,6 +21,8 @@ export default function CheckoutPage({ amount, slug, bonus }: {
const dispatch = useAppDispatch();
const router = useRouter();
const [getPaymentLink, { isLoading: gettingLink }] = useDepositMutation();
const [currentPaymentMode, setCurrentPaymentMode] = React.useState("crypto");
return (
<section className="checkout__root">
<div className="grid grid-cols-12 gap-4 lg:gap-10 xl:gap-12">
......@@ -73,11 +78,21 @@ export default function CheckoutPage({ amount, slug, bonus }: {
<p className='text-[11px] lg:text-[13px]'>To start playing and cashing out your winnings, you’ll need a crypto wallet to purchase E-Credits and receive payouts. Don't worry—it’s quick and easy!</p>
<h2 className='text-[20px] lg:text-[24px] mt-8 mb-4'>Select payment method</h2>
<div className="grid sm:grid-cols-2 mb-8">
<div className="grid sm:grid-cols-2 mb-8 gap-6">
<div className="col-span-1">
<GlassWrapper>
<div className="py-5 px-4 " >
<div className="py-5 px-4 flex justify-between items-center cursor-pointer" onClick={() => setCurrentPaymentMode("crypto")} >
<span className="text-[14px] flex items-center justify-start gap-2"><BitCoinIcon />Crypto Currency</span>
{currentPaymentMode === "crypto" ? <TickCircle /> : ""}
</div>
</GlassWrapper>
</div>
<div className="col-sl">
<GlassWrapper>
<div className="py-5 px-4 flex justify-between items-center cursor-pointer" onClick={() => setCurrentPaymentMode("idem")}>
<span className="text-[14px] flex items-center justify-start gap-2"><BitcoinRefresh />IDEM</span>
{currentPaymentMode === "idem" ? <TickCircle /> : ""}
</div>
</GlassWrapper>
</div>
......@@ -85,12 +100,25 @@ export default function CheckoutPage({ amount, slug, bonus }: {
<Button type='submit' variant='contained' color='primary' className='!mt-3' onClick={async () => {
try {
const response = await getPaymentLink({
id: slug,
amount,
}).unwrap();
if (currentPaymentMode === "crypto") {
const response = await getPaymentLink({
id: slug,
amount,
}).unwrap();
router.replace(response?.data?.payment_url)
}
else if (currentPaymentMode === "idem") {
console.log("payment mode is idem");
}
else {
dispatch(
showToast({
message: "Please select prefered mode of payment.",
variant: ToastVariant.INFO
})
)
}
router.replace(response?.data?.payment_url)
}
catch (e: any) {
dispatch(
......
......@@ -51,7 +51,7 @@ export interface PlayerItem extends CommonPlayerProps {
registered_date: string | Date;
current_credit?: string,
current_balance?: string,
total_withdrawl?: string,
total_withdrawn?: string,
total_deposited?: string
profile_image_file?: string;
is_suspended?: boolean;
......
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