diff --git a/src/pages/master/products/blocks/AddDialog.tsx b/src/pages/master/products/blocks/AddDialog.tsx index 0690b4b..0a5e192 100644 --- a/src/pages/master/products/blocks/AddDialog.tsx +++ b/src/pages/master/products/blocks/AddDialog.tsx @@ -130,7 +130,7 @@ const AddDialog = () => { } doCreateProduct(e); - console.log(formField); + // console.log(formField); setAlert({ show: false, message: '' }); }; diff --git a/src/pages/master/products/blocks/EditDialog.tsx b/src/pages/master/products/blocks/EditDialog.tsx index 66c809d..d16ae0e 100644 --- a/src/pages/master/products/blocks/EditDialog.tsx +++ b/src/pages/master/products/blocks/EditDialog.tsx @@ -109,22 +109,22 @@ const EditDialog = () => { const doFetchData = useCallback(async (id: string) => { const response = await GetData(`${API_URL}/product/getdata/${id}`, { id }); - console.log(response); + // console.log(response); if (response?.status) { setFormField((prev) => ({ ...prev, - name: response.data.name, - type: response.data.type, - code: response.data.code, - description: response.data.description, - price_point: response.data.price_point, - price_cash: response.data.price_cash, - cashback_point: response.data.cashback_point, - cashback_cash: response.data.cashback_cash, - status: response.data.status, - provider: response.data.provider.id, - process_on_third_party: response.data.process_on_third_party + name: response.data?.name, + type: response.data?.type, + code: response.data?.code, + description: response.data?.description, + price_point: response.data?.price_point, + price_cash: response.data?.price_cash, + cashback_point: response.data?.cashback_point, + cashback_cash: response.data?.cashback_cash, + status: response.data?.status, + provider: response.data?.provider?.id, + process_on_third_party: response.data?.process_on_third_party })); } else { setFormField(initialState); diff --git a/src/pages/master/provider/blocks/DeleteDialog.tsx b/src/pages/master/provider/blocks/DeleteDialog.tsx index 20cbf0b..999ae18 100644 --- a/src/pages/master/provider/blocks/DeleteDialog.tsx +++ b/src/pages/master/provider/blocks/DeleteDialog.tsx @@ -37,6 +37,7 @@ const DeleteDialog = () => { setAlert({ show: false, message: '' }); handleDeleteDialog(false, null); toast.success('Success Delete Provider'); + reload(); const createActivity = { module: 'Manage Provider', description: `Delete Provider => ${selectedProvider}`, @@ -44,7 +45,6 @@ const DeleteDialog = () => { }; doSaveLogActivity(createActivity); - reload(); } else { setAlert({ show: true, message: response?.message }); toast.error('Failed Delete Provider'); diff --git a/src/pages/master/provider/blocks/EditDialog.tsx b/src/pages/master/provider/blocks/EditDialog.tsx index ba8cb68..702a620 100644 --- a/src/pages/master/provider/blocks/EditDialog.tsx +++ b/src/pages/master/provider/blocks/EditDialog.tsx @@ -136,7 +136,7 @@ const EditDialog = () => { const doFetchData = useCallback(async (id: string) => { const response = await GetData(`${API_URL_MASTERDATA}/provider/getdata/${id}`, { id }); - console.log(response); + // console.log(response); if (response?.status) { setFormField((prev) => ({ ...prev, diff --git a/src/pages/master/provider/blocks/ListToolbar.tsx b/src/pages/master/provider/blocks/ListToolbar.tsx index 83588b5..6915202 100644 --- a/src/pages/master/provider/blocks/ListToolbar.tsx +++ b/src/pages/master/provider/blocks/ListToolbar.tsx @@ -16,9 +16,9 @@ const ListToolbar = () => { - table.getColumn('provider_name')?.setFilterValue(event.target.value) + table.getColumn('name')?.setFilterValue(event.target.value) } /> diff --git a/src/pages/master/provider/hooks/ManageProviderContext.tsx b/src/pages/master/provider/hooks/ManageProviderContext.tsx index 85b25a9..0df1c51 100644 --- a/src/pages/master/provider/hooks/ManageProviderContext.tsx +++ b/src/pages/master/provider/hooks/ManageProviderContext.tsx @@ -75,7 +75,7 @@ const ManageProviderContextProvider = ({ children }: { children: React.ReactNode () => [ { accessorFn: (row) => row.provider_name, - id: 'provider_name', + id: 'name', header: ({ column }) => , enableSorting: true, enableHiding: false, @@ -113,7 +113,7 @@ const ManageProviderContextProvider = ({ children }: { children: React.ReactNode accessorFn: (row) => row.provider_status, id: 'status', header: ({ column }) => , - enableSorting: false, + enableSorting: true, enableHiding: false, cell: ({ row }) => { const isActive = row.original.provider_status === 'Y'; @@ -209,7 +209,7 @@ const ManageProviderContextProvider = ({ children }: { children: React.ReactNode pagination={{ size: 10 }} toolbar={} layout={{ card: true }} - sorting={[{ id: 'id', desc: false }]} + sorting={[{ id: 'created_at', desc: true }]} serverSide={true} onFetchData={({ pageIndex, pageSize, sorting, columnFilters }) => getProviderLists(pageIndex, pageSize, sorting, columnFilters) diff --git a/src/pages/master/reward/blocks/AddDialog.tsx b/src/pages/master/reward/blocks/AddDialog.tsx index 40df444..9f44be0 100644 --- a/src/pages/master/reward/blocks/AddDialog.tsx +++ b/src/pages/master/reward/blocks/AddDialog.tsx @@ -14,6 +14,7 @@ import { apiConfig } from '@/config/api.config'; import { toast } from 'sonner'; import { getAuth } from '@/auth'; import { useCallApi } from '@/hooks'; +import { NumericFormat } from 'react-number-format'; import { useManageRewardContext } from '../hooks/useManageRewardContext'; import { Select, @@ -57,7 +58,7 @@ const AddDialog = () => { const doCreateReward = useCallback( async (e: React.FormEvent) => { e.preventDefault(); - console.log('Data yang akan dikirim:', formField); + // console.log('Data yang akan dikirim:', formField); const response = await PostData(`${API_URL}/reward/create`, formField); if (response?.status) { @@ -91,20 +92,15 @@ const AddDialog = () => { setAlert({ show: false, message: '' }); }; - const handleReset = () => { - resetForm(); - setAlert({ show: false, message: '' }); - }; - useEffect(() => { if (showAddDialog) { - setFormField({ - ...formField, + setFormField((prev) => ({ + ...prev, created_by: parsedUser?.username, created_at: formattedTime - }); + })); } - }, [formattedTime]); + }, [showAddDialog, parsedUser?.username, formattedTime]); useEffect(() => { if (showAddDialog === false) { @@ -159,19 +155,19 @@ const AddDialog = () => { Amount* - { - const value = parseFloat(e.target.value); - setFormField({ - ...formField, - amount: isNaN(value) ? 0 : value - }); + thousandSeparator="." + decimalSeparator="," + allowNegative={false} + onValueChange={(values) => { + setFormField((prev) => ({ + ...prev, + amount: values.floatValue || 0 + })); }} + placeholder="Enter Amount" />
diff --git a/src/pages/master/reward/blocks/DeleteDialog.tsx b/src/pages/master/reward/blocks/DeleteDialog.tsx index dd7639c..70aaf5e 100644 --- a/src/pages/master/reward/blocks/DeleteDialog.tsx +++ b/src/pages/master/reward/blocks/DeleteDialog.tsx @@ -25,13 +25,16 @@ const DeleteDialog = () => { message: '' }); + // console.log('ini data :', selectedReward); + const doDeleteReward = useCallback(async () => { if (!selectedReward) { toast.error('No Reward selected'); return; } - const response = await DeleteData(`${API_URL}/reward/delete/${selectedReward}`, { - id: selectedReward + // console.log('Ini datanya:', selectedReward); + const response = await DeleteData(`${API_URL}/reward/delete/${selectedReward?.id}/true`, { + id: selectedReward.id }); if (response?.status) { diff --git a/src/pages/master/reward/blocks/EditDialog.tsx b/src/pages/master/reward/blocks/EditDialog.tsx index cb3695a..2dc8c83 100644 --- a/src/pages/master/reward/blocks/EditDialog.tsx +++ b/src/pages/master/reward/blocks/EditDialog.tsx @@ -14,6 +14,7 @@ import { } from '@/components/ui/dialog'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; +import { NumericFormat } from 'react-number-format'; import { Select, SelectContent, @@ -58,7 +59,8 @@ const EditDialog = () => { async (e: React.FormEvent) => { e.preventDefault(); - const response = await PutData(`${API_URL}/reward/update/${selectedReward}`, formField); + // console.log('Ini datanya:', selectedReward); + const response = await PutData(`${API_URL}/reward/update/${selectedReward?.id}`, formField); if (response?.status) { resetForm(); @@ -74,16 +76,17 @@ const EditDialog = () => { ); const doFetchData = useCallback(async (id: string) => { + // console.log('Ini datanya:', id); const response = await GetData(`${API_URL}/reward/getdata/${id}`, { id }); - console.log('API Response:', response); + // console.log('API Response:', response); if (response?.status) { setFormField((prev) => ({ ...prev, - name: response?.data.name, - type: response?.data.type, - amount: response?.data.amount, - status: response?.data.status + name: response.data.name, + type: response.data.type, + amount: response.data.amount, + status: response.data.status })); } }, []); @@ -107,21 +110,20 @@ const EditDialog = () => { // }; useEffect(() => { - // console.log('Selected Reward:', selectedReward); if (selectedReward) { - doFetchData(selectedReward); + doFetchData(selectedReward.id.toString()); } }, [selectedReward]); useEffect(() => { - if (showEditDialog) { - setFormField({ - ...formField, + if (showEditDialog && selectedReward) { + setFormField((prev) => ({ + ...prev, updated_by: parsedUser.username, updated_at: formattedTime - }); + })); } - }, [formattedTime]); + }, [showEditDialog, selectedReward]); useEffect(() => { if (showEditDialog === false) { @@ -142,67 +144,71 @@ const EditDialog = () => {
-
-