add num tickets

This commit is contained in:
Ayush Acharjya
2024-10-27 00:07:26 +01:00
parent 8cf40b0f5d
commit aa5d92b9dd
3 changed files with 34 additions and 23 deletions

View File

@@ -1,4 +1,4 @@
import React from 'react';
import React, { useState } from 'react';
import {
Card,
CardHeader,
@@ -32,8 +32,10 @@ const EventDescription: React.FC<EventDescriptionProps> = ({
eventDetails,
}) => {
const { toast } = useToast();
const [numTickets, setNumTickets] = useState(1);
const handleBuyNow = () => {
buyHandler(eventDetails.EventID, toast);
buyHandler(eventDetails.EventID, numTickets, toast);
};
return (
@@ -79,7 +81,10 @@ const EventDescription: React.FC<EventDescriptionProps> = ({
</Button>
<div className="relative md:left-5">
<NumberPicker
initialCount={numTickets}
min={1}
max={eventDetails.capacity - eventDetails.ticketsSold}
onChange={setNumTickets}
/>
</div>
</CardFooter>

View File

@@ -1,6 +1,5 @@
'use client';
import React, { useState } from 'react';
import { Button } from '../ui/button'; // Adjust import path to where your shadcn Button component is located
import React from 'react';
import { Button } from '../ui/button';
interface NumberPickerProps {
initialCount?: number;
@@ -15,25 +14,23 @@ const NumberPicker: React.FC<NumberPickerProps> = ({
max = 10,
onChange,
}) => {
const [count, setCount] = useState<number>(initialCount);
const [count, setCount] = React.useState(initialCount);
React.useEffect(() => {
if (onChange) {
onChange(count);
}
}, [count, onChange]);
const increment = () => {
if (count < max) {
const newCount = count + 1;
setCount(newCount);
if (onChange) {
onChange(newCount);
}
setCount(count + 1);
}
};
const decrement = () => {
if (count > min) {
const newCount = count - 1;
setCount(newCount);
if (onChange) {
onChange(newCount);
}
setCount(count - 1);
}
};