ENCOA-263

This commit is contained in:
Tiago Ribeiro
2024-12-11 22:00:43 +00:00
parent ce35ba71f4
commit 1a7d35317b
10 changed files with 234 additions and 194 deletions

View File

@@ -3,31 +3,30 @@ import Checkbox from "@/components/Low/Checkbox";
import Input from "@/components/Low/Input";
import Select from "@/components/Low/Select";
import Modal from "@/components/Modal";
import useCodes from "@/hooks/useCodes";
import useDiscounts from "@/hooks/useDiscounts";
import useUser from "@/hooks/useUser";
import useUsers from "@/hooks/useUsers";
import {Discount} from "@/interfaces/paypal";
import {Code, User} from "@/interfaces/user";
import {USER_TYPE_LABELS} from "@/resources/user";
import {createColumnHelper, flexRender, getCoreRowModel, useReactTable} from "@tanstack/react-table";
import { Discount } from "@/interfaces/paypal";
import { Code, User } from "@/interfaces/user";
import { USER_TYPE_LABELS } from "@/resources/user";
import { createColumnHelper, flexRender, getCoreRowModel, useReactTable } from "@tanstack/react-table";
import axios from "axios";
import clsx from "clsx";
import moment from "moment";
import {useEffect, useState} from "react";
import { useEffect, useState } from "react";
import ReactDatePicker from "react-datepicker";
import {BsPencil, BsTrash} from "react-icons/bs";
import {toast} from "react-toastify";
import { BsPencil, BsTrash } from "react-icons/bs";
import { toast } from "react-toastify";
const columnHelper = createColumnHelper<Discount>();
const DiscountCreator = ({discount, onClose}: {discount?: Discount; onClose: () => void}) => {
const DiscountCreator = ({ discount, onClose }: { discount?: Discount; onClose: () => void }) => {
const [percentage, setPercentage] = useState(discount?.percentage);
const [domain, setDomain] = useState(discount?.domain);
const [validUntil, setValidUntil] = useState(discount?.validUntil);
const submit = async () => {
const body = {percentage, domain, validUntil: validUntil?.toISOString() || undefined};
const body = { percentage, domain, validUntil: validUntil?.toISOString() || undefined };
if (discount) {
return axios
@@ -112,7 +111,7 @@ const DiscountCreator = ({discount, onClose}: {discount?: Discount; onClose: ()
);
};
export default function DiscountList({user}: {user: User}) {
export default function DiscountList({ user }: { user: User }) {
const [selectedDiscounts, setSelectedDiscounts] = useState<string[]>([]);
const [isCreating, setIsCreating] = useState(false);
@@ -120,8 +119,8 @@ export default function DiscountList({user}: {user: User}) {
const [filteredDiscounts, setFilteredDiscounts] = useState<Discount[]>([]);
const {users} = useUsers();
const {discounts, reload} = useDiscounts();
const { users } = useUsers();
const { discounts, reload } = useDiscounts();
useEffect(() => {
setFilteredDiscounts(discounts);
@@ -220,7 +219,7 @@ export default function DiscountList({user}: {user: User}) {
{
header: "",
id: "actions",
cell: ({row}: {row: {original: Discount}}) => {
cell: ({ row }: { row: { original: Discount } }) => {
return (
<div className="flex gap-4">
<div