Added last 5 deposit and withdrawal modal
This commit is contained in:
parent
85be86d736
commit
ad5e50d052
@ -6,6 +6,10 @@ type UserRow = {
|
|||||||
txId: string;
|
txId: string;
|
||||||
userEmail: string;
|
userEmail: string;
|
||||||
kycStatus: string;
|
kycStatus: string;
|
||||||
|
amount: number;
|
||||||
|
paymentMethod: string;
|
||||||
|
currency: string;
|
||||||
|
status: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const approveRows: UserRow[] = [
|
export const approveRows: UserRow[] = [
|
||||||
@ -15,6 +19,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078821",
|
txId: "1049078821",
|
||||||
userEmail: "dhkheni1@yopmail.com",
|
userEmail: "dhkheni1@yopmail.com",
|
||||||
kycStatus: "N/A",
|
kycStatus: "N/A",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 12,
|
id: 12,
|
||||||
@ -22,6 +30,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 11,
|
id: 11,
|
||||||
@ -29,6 +41,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 10,
|
id: 10,
|
||||||
@ -36,6 +52,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
@ -43,6 +63,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
@ -50,6 +74,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
@ -57,6 +85,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 4,
|
id: 4,
|
||||||
@ -64,6 +96,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 5,
|
id: 5,
|
||||||
@ -71,6 +107,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 6,
|
id: 6,
|
||||||
@ -78,6 +118,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 7,
|
id: 7,
|
||||||
@ -85,6 +129,10 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 8,
|
id: 8,
|
||||||
@ -92,14 +140,23 @@ export const approveRows: UserRow[] = [
|
|||||||
txId: "1049078822",
|
txId: "1049078822",
|
||||||
userEmail: "dhkheni2@yopmail.com",
|
userEmail: "dhkheni2@yopmail.com",
|
||||||
kycStatus: "Pending",
|
kycStatus: "Pending",
|
||||||
|
amount: 1000,
|
||||||
|
paymentMethod: "Credit Card",
|
||||||
|
currency: "USD",
|
||||||
|
status: "Pending",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const approveColumns: TableColumn<UserRow>[] = [
|
export const approveColumns: TableColumn<UserRow>[] = [
|
||||||
|
{ field: "id", headerName: "User ID" },
|
||||||
{ field: "merchantId", headerName: "Merchant ID" },
|
{ field: "merchantId", headerName: "Merchant ID" },
|
||||||
{ field: "txId", headerName: "Transaction ID" },
|
{ field: "txId", headerName: "Transaction ID" },
|
||||||
{ field: "userEmail", headerName: "User Email" },
|
{ field: "userEmail", headerName: "User Email" },
|
||||||
{ field: "kycStatus", headerName: "KYC Status" },
|
{ field: "kycStatus", headerName: "KYC Status" },
|
||||||
|
{ field: "amount", headerName: "Amount" },
|
||||||
|
{ field: "paymentMethod", headerName: "Payment Method" },
|
||||||
|
{ field: "currency", headerName: "Currency" },
|
||||||
|
{ field: "status", headerName: "Status" },
|
||||||
];
|
];
|
||||||
|
|
||||||
export const approveActions = [
|
export const approveActions = [
|
||||||
|
|||||||
@ -8,12 +8,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Completed",
|
status: "Completed",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-18 10:10:30",
|
dateTime: "2025-06-18 10:10:30",
|
||||||
@ -27,12 +27,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Completed",
|
status: "Completed",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-18 10:10:30",
|
dateTime: "2025-06-18 10:10:30",
|
||||||
@ -46,12 +46,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Completed",
|
status: "Completed",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-18 10:10:30",
|
dateTime: "2025-06-18 10:10:30",
|
||||||
@ -65,12 +65,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049136973,
|
transactionId: 1049136973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Completed",
|
status: "Completed",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-18 10:10:30",
|
dateTime: "2025-06-18 10:10:30",
|
||||||
@ -84,12 +84,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Completed",
|
status: "Completed",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-18 10:10:30",
|
dateTime: "2025-06-18 10:10:30",
|
||||||
@ -103,12 +103,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Pending",
|
status: "Pending",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-18 10:10:30",
|
dateTime: "2025-06-18 10:10:30",
|
||||||
@ -122,12 +122,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049136973,
|
transactionId: 1049136973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Pending",
|
status: "Pending",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-18 10:10:30",
|
dateTime: "2025-06-18 10:10:30",
|
||||||
@ -141,12 +141,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Card",
|
depositMethod: "Card",
|
||||||
status: "Pending",
|
status: "Pending",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-12 10:10:30",
|
dateTime: "2025-06-12 10:10:30",
|
||||||
@ -160,12 +160,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Bank Transfer",
|
depositMethod: "Bank Transfer",
|
||||||
status: "Inprogress",
|
status: "Inprogress",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-17 10:10:30",
|
dateTime: "2025-06-17 10:10:30",
|
||||||
@ -179,12 +179,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Bank Transfer",
|
depositMethod: "Bank Transfer",
|
||||||
status: "Inprogress",
|
status: "Inprogress",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-17 10:10:30",
|
dateTime: "2025-06-17 10:10:30",
|
||||||
@ -198,12 +198,12 @@ export const depositTransactionDummyData = [
|
|||||||
transactionId: 1049131973,
|
transactionId: 1049131973,
|
||||||
depositMethod: "Bank Transfer",
|
depositMethod: "Bank Transfer",
|
||||||
status: "Error",
|
status: "Error",
|
||||||
// options: [
|
options: [
|
||||||
// { value: "Pending", label: "Pending" },
|
{ value: "Pending", label: "Pending" },
|
||||||
// { value: "Completed", label: "Completed" },
|
{ value: "Completed", label: "Completed" },
|
||||||
// { value: "Inprogress", label: "Inprogress" },
|
{ value: "Inprogress", label: "Inprogress" },
|
||||||
// { value: "Error", label: "Error" },
|
{ value: "Error", label: "Error" },
|
||||||
// ],
|
],
|
||||||
amount: 4000,
|
amount: 4000,
|
||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
dateTime: "2025-06-17 10:10:30",
|
dateTime: "2025-06-17 10:10:30",
|
||||||
@ -218,7 +218,7 @@ export const depositTransactionsColumns: GridColDef[] = [
|
|||||||
{ field: "transactionId", headerName: "Transaction ID", width: 130 },
|
{ field: "transactionId", headerName: "Transaction ID", width: 130 },
|
||||||
{ field: "depositMethod", headerName: "Deposit Method", width: 130 },
|
{ field: "depositMethod", headerName: "Deposit Method", width: 130 },
|
||||||
{ field: "status", headerName: "Status", width: 130 },
|
{ field: "status", headerName: "Status", width: 130 },
|
||||||
// { field: "actions", headerName: "Actions", width: 150 },
|
{ field: "actions", headerName: "Actions", width: 150 },
|
||||||
{ field: "amount", headerName: "Amount", width: 130 },
|
{ field: "amount", headerName: "Amount", width: 130 },
|
||||||
{ field: "currency", headerName: "Currency", width: 130 },
|
{ field: "currency", headerName: "Currency", width: 130 },
|
||||||
{ field: "dateTime", headerName: "Date / Time", width: 130 },
|
{ field: "dateTime", headerName: "Date / Time", width: 130 },
|
||||||
@ -234,7 +234,6 @@ export const depositTransactionsExtraColumns: GridColDef[] = [
|
|||||||
|
|
||||||
// export const extraColumns = ["currency", "errorInfo", "fraudScore"]
|
// export const extraColumns = ["currency", "errorInfo", "fraudScore"]
|
||||||
|
|
||||||
|
|
||||||
export const depositTransactionsSearchLabels = [
|
export const depositTransactionsSearchLabels = [
|
||||||
{ label: "User", field: "userId", type: "text" },
|
{ label: "User", field: "userId", type: "text" },
|
||||||
{ label: "Transaction ID", field: "transactionId", type: "text" },
|
{ label: "Transaction ID", field: "transactionId", type: "text" },
|
||||||
|
|||||||
65
app/api/dashboard/transactionsHistory/mockData.ts
Normal file
65
app/api/dashboard/transactionsHistory/mockData.ts
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
interface Transaction {
|
||||||
|
userId: number | string;
|
||||||
|
date: string;
|
||||||
|
method: string;
|
||||||
|
amount: number | string;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const deposits: Transaction[] = [
|
||||||
|
{ userId: 17, date: "2025-08-01 10:10", method: "CC", amount: 120, status: "approved" },
|
||||||
|
{
|
||||||
|
userId: 17,
|
||||||
|
date: "2025-07-28 14:35",
|
||||||
|
method: "Bank Transfer",
|
||||||
|
amount: 250,
|
||||||
|
status: "approved",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
userId: 17,
|
||||||
|
date: "2025-07-20 09:05",
|
||||||
|
method: "PayPal",
|
||||||
|
amount: 75,
|
||||||
|
status: "pending",
|
||||||
|
},
|
||||||
|
{ userId: 17,
|
||||||
|
date: "2025-07-11 17:12", method: "CC", amount: 300, status: "rejected" },
|
||||||
|
{ userId: 17,
|
||||||
|
date: "2025-07-01 12:42", method: "CC", amount: 180, status: "approved" },
|
||||||
|
];
|
||||||
|
|
||||||
|
export const withdrawals: Transaction[] = [
|
||||||
|
{
|
||||||
|
userId: 17,
|
||||||
|
date: "2025-08-02 11:20",
|
||||||
|
method: "Crypto",
|
||||||
|
amount: 95,
|
||||||
|
status: "processing",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
userId: 17,
|
||||||
|
date: "2025-07-29 16:45",
|
||||||
|
method: "Bank Transfer",
|
||||||
|
amount: 220,
|
||||||
|
status: "approved",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
userId: 17,
|
||||||
|
date: "2025-07-21 15:10",
|
||||||
|
method: "eWallet",
|
||||||
|
amount: 60,
|
||||||
|
status: "pending",
|
||||||
|
},
|
||||||
|
{ userId: 17,
|
||||||
|
date: "2025-07-12 13:33",
|
||||||
|
method: "Crypto",
|
||||||
|
amount: 120,
|
||||||
|
status: "approved",
|
||||||
|
},
|
||||||
|
{ userId: 17,
|
||||||
|
date: "2025-07-03 08:50",
|
||||||
|
method: "Bank Transfer",
|
||||||
|
amount: 150,
|
||||||
|
status: "rejected",
|
||||||
|
},
|
||||||
|
];
|
||||||
20
app/api/dashboard/transactionsHistory/route.ts
Normal file
20
app/api/dashboard/transactionsHistory/route.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { NextRequest, NextResponse } from "next/server";
|
||||||
|
import { deposits, withdrawals } from "./mockData";
|
||||||
|
|
||||||
|
export async function GET(request: NextRequest) {
|
||||||
|
const { searchParams } = new URL(request.url);
|
||||||
|
const userId = searchParams.get("userId");
|
||||||
|
let filteredDeposits = [...deposits];
|
||||||
|
let filteredwithdrawals = [...withdrawals];
|
||||||
|
|
||||||
|
if( userId ){
|
||||||
|
filteredDeposits = filteredDeposits.filter((item) => item.userId.toString() === userId.toString())
|
||||||
|
filteredwithdrawals = filteredwithdrawals.filter((item) => item.userId.toString() === userId.toString())
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return NextResponse.json({
|
||||||
|
deposits: filteredDeposits,
|
||||||
|
withdrawals: filteredwithdrawals,
|
||||||
|
});
|
||||||
|
}
|
||||||
230
app/components/HistoryModal/HistoryModal.tsx
Normal file
230
app/components/HistoryModal/HistoryModal.tsx
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
import * as React from "react";
|
||||||
|
import {
|
||||||
|
Dialog,
|
||||||
|
DialogTitle,
|
||||||
|
DialogContent,
|
||||||
|
IconButton,
|
||||||
|
Table,
|
||||||
|
TableBody,
|
||||||
|
TableCell,
|
||||||
|
TableContainer,
|
||||||
|
TableHead,
|
||||||
|
TableRow,
|
||||||
|
Typography,
|
||||||
|
Paper,
|
||||||
|
Box,
|
||||||
|
} from "@mui/material";
|
||||||
|
import CloseIcon from "@mui/icons-material/Close";
|
||||||
|
|
||||||
|
interface Transaction {
|
||||||
|
date: string;
|
||||||
|
method: string;
|
||||||
|
amount: number | string;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TransactionHistoryModalProps {
|
||||||
|
open: boolean;
|
||||||
|
onClose: () => void;
|
||||||
|
deposits?: Transaction[];
|
||||||
|
withdrawals?: Transaction[];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TransactionHistoryModal
|
||||||
|
*
|
||||||
|
* Props:
|
||||||
|
* - open: boolean
|
||||||
|
* - onClose: () => void
|
||||||
|
* - deposits: Array<{ date: string; method: string; amount: number | string; status: string }>
|
||||||
|
* - withdrawals: Array<{ date: string; method: string; amount: number | string; status: string }>
|
||||||
|
*/
|
||||||
|
export function HistoryModal({
|
||||||
|
open,
|
||||||
|
onClose,
|
||||||
|
deposits = [],
|
||||||
|
withdrawals = [],
|
||||||
|
}: TransactionHistoryModalProps) {
|
||||||
|
const fmt = (n: number | string): string =>
|
||||||
|
typeof n === "number"
|
||||||
|
? n.toLocaleString(undefined, { style: "currency", currency: "EUR" })
|
||||||
|
: n;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Dialog open={open} onClose={onClose} maxWidth="lg" fullWidth>
|
||||||
|
<DialogTitle sx={{ p: 2, pr: 6 }}>
|
||||||
|
<Typography variant="h6" fontWeight={700} sx={{ textAlign: "center" }}>
|
||||||
|
History
|
||||||
|
</Typography>
|
||||||
|
<IconButton
|
||||||
|
aria-label="close"
|
||||||
|
onClick={onClose}
|
||||||
|
sx={{ position: "absolute", right: 8, top: 8 }}
|
||||||
|
>
|
||||||
|
<CloseIcon />
|
||||||
|
</IconButton>
|
||||||
|
</DialogTitle>
|
||||||
|
|
||||||
|
<DialogContent sx={{ pt: 0 }}>
|
||||||
|
<Box component={Paper} variant="outlined" sx={{ p: { xs: 1, sm: 2 } }}>
|
||||||
|
<Box
|
||||||
|
sx={{
|
||||||
|
display: "flex",
|
||||||
|
flexDirection: { xs: "column", md: "row" },
|
||||||
|
gap: 2,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Box sx={{ flex: 1 }}>
|
||||||
|
<Typography
|
||||||
|
variant="h6"
|
||||||
|
sx={{ mb: 1, fontWeight: 700, textAlign: "center" }}
|
||||||
|
>
|
||||||
|
Last 5 Deposits
|
||||||
|
</Typography>
|
||||||
|
<TableContainer component={Paper} variant="outlined">
|
||||||
|
<Table size="small">
|
||||||
|
<TableHead>
|
||||||
|
<TableRow>
|
||||||
|
<TableCell>Date/Time</TableCell>
|
||||||
|
<TableCell>Deposit Method</TableCell>
|
||||||
|
<TableCell>Amount</TableCell>
|
||||||
|
<TableCell>Status</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody>
|
||||||
|
{deposits.length === 0 ? (
|
||||||
|
<TableRow>
|
||||||
|
<TableCell colSpan={4}>
|
||||||
|
<Typography variant="body2" color="text.secondary">
|
||||||
|
No deposits yet
|
||||||
|
</Typography>
|
||||||
|
</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
) : (
|
||||||
|
deposits.slice(0, 5).map((row, idx) => (
|
||||||
|
<TableRow key={idx}>
|
||||||
|
<TableCell>{row.date}</TableCell>
|
||||||
|
<TableCell>{row.method}</TableCell>
|
||||||
|
<TableCell>{fmt(row.amount)}</TableCell>
|
||||||
|
<TableCell>{row.status}</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
))
|
||||||
|
)}
|
||||||
|
</TableBody>
|
||||||
|
</Table>
|
||||||
|
</TableContainer>
|
||||||
|
</Box>
|
||||||
|
|
||||||
|
<Box sx={{ flex: 1 }}>
|
||||||
|
<Typography
|
||||||
|
variant="h6"
|
||||||
|
sx={{ mb: 1, fontWeight: 700, textAlign: "center" }}
|
||||||
|
>
|
||||||
|
Last 5 Withdrawals
|
||||||
|
</Typography>
|
||||||
|
<TableContainer component={Paper} variant="outlined">
|
||||||
|
<Table size="small">
|
||||||
|
<TableHead>
|
||||||
|
<TableRow>
|
||||||
|
<TableCell>Date/Time</TableCell>
|
||||||
|
<TableCell>Withdrawal Method</TableCell>
|
||||||
|
<TableCell>Amount</TableCell>
|
||||||
|
<TableCell>Status</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody>
|
||||||
|
{withdrawals.length === 0 ? (
|
||||||
|
<TableRow>
|
||||||
|
<TableCell colSpan={4}>
|
||||||
|
<Typography variant="body2" color="text.secondary">
|
||||||
|
No withdrawals yet
|
||||||
|
</Typography>
|
||||||
|
</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
) : (
|
||||||
|
withdrawals.slice(0, 5).map((row, idx) => (
|
||||||
|
<TableRow key={idx}>
|
||||||
|
<TableCell>{row.date}</TableCell>
|
||||||
|
<TableCell>{row.method}</TableCell>
|
||||||
|
<TableCell>{fmt(row.amount)}</TableCell>
|
||||||
|
<TableCell>{row.status}</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
))
|
||||||
|
)}
|
||||||
|
</TableBody>
|
||||||
|
</Table>
|
||||||
|
</TableContainer>
|
||||||
|
</Box>
|
||||||
|
</Box>
|
||||||
|
</Box>
|
||||||
|
</DialogContent>
|
||||||
|
</Dialog>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function TransactionHistoryModalDemo() {
|
||||||
|
const [open, setOpen] = React.useState(false);
|
||||||
|
|
||||||
|
const deposits: Transaction[] = [
|
||||||
|
{ date: "2025-08-01 10:10", method: "CC", amount: 120, status: "approved" },
|
||||||
|
{
|
||||||
|
date: "2025-07-28 14:35",
|
||||||
|
method: "Bank Transfer",
|
||||||
|
amount: 250,
|
||||||
|
status: "approved",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: "2025-07-20 09:05",
|
||||||
|
method: "PayPal",
|
||||||
|
amount: 75,
|
||||||
|
status: "pending",
|
||||||
|
},
|
||||||
|
{ date: "2025-07-11 17:12", method: "CC", amount: 300, status: "rejected" },
|
||||||
|
{ date: "2025-07-01 12:42", method: "CC", amount: 180, status: "approved" },
|
||||||
|
];
|
||||||
|
|
||||||
|
const withdrawals: Transaction[] = [
|
||||||
|
{
|
||||||
|
date: "2025-08-02 11:20",
|
||||||
|
method: "Crypto",
|
||||||
|
amount: 95,
|
||||||
|
status: "processing",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: "2025-07-29 16:45",
|
||||||
|
method: "Bank Transfer",
|
||||||
|
amount: 220,
|
||||||
|
status: "approved",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: "2025-07-21 15:10",
|
||||||
|
method: "eWallet",
|
||||||
|
amount: 60,
|
||||||
|
status: "pending",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: "2025-07-12 13:33",
|
||||||
|
method: "Crypto",
|
||||||
|
amount: 120,
|
||||||
|
status: "approved",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: "2025-07-03 08:50",
|
||||||
|
method: "Bank Transfer",
|
||||||
|
amount: 150,
|
||||||
|
status: "rejected",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<button onClick={() => setOpen(true)}>Open Transaction History</button>
|
||||||
|
<HistoryModal
|
||||||
|
open={open}
|
||||||
|
onClose={() => setOpen(false)}
|
||||||
|
deposits={deposits}
|
||||||
|
withdrawals={withdrawals}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -133,24 +133,36 @@ const DataTable = <TRow extends TWithId, TColumn extends GridColDef>({
|
|||||||
if (col.field === "userId") {
|
if (col.field === "userId") {
|
||||||
return {
|
return {
|
||||||
...col,
|
...col,
|
||||||
|
headerAlign: "center",
|
||||||
|
align: "center",
|
||||||
renderCell: (params: GridRenderCellParams) => (
|
renderCell: (params: GridRenderCellParams) => (
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
display: "flex",
|
display: "grid",
|
||||||
|
gridTemplateColumns: "1fr auto",
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
justifyContent: "flex-start",
|
|
||||||
gap: 0.5,
|
|
||||||
width: "100%",
|
width: "100%",
|
||||||
px: 1,
|
px: 1,
|
||||||
}}
|
}}
|
||||||
|
onClick={(e) => e.stopPropagation()} // keep row click from firing when clicking inside
|
||||||
>
|
>
|
||||||
<span>{params.value}</span>
|
<Box
|
||||||
|
sx={{
|
||||||
|
fontWeight: 500,
|
||||||
|
fontSize: "0.875rem",
|
||||||
|
color: "text.primary",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{params.value}
|
||||||
|
</Box>
|
||||||
|
|
||||||
<IconButton
|
<IconButton
|
||||||
href={`/users/${params.value}`}
|
href={`/users/${params.value}`}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
size="small"
|
size="small"
|
||||||
|
sx={{ p: 0.5, ml: 1 }}
|
||||||
onClick={(e) => e.stopPropagation()}
|
onClick={(e) => e.stopPropagation()}
|
||||||
sx={{ p: 0.5 }}
|
|
||||||
>
|
>
|
||||||
<OpenInNewIcon fontSize="small" />
|
<OpenInNewIcon fontSize="small" />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
@ -159,6 +171,7 @@ const DataTable = <TRow extends TWithId, TColumn extends GridColDef>({
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (col.field === "actions") {
|
if (col.field === "actions") {
|
||||||
return {
|
return {
|
||||||
...col,
|
...col,
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import {
|
|||||||
Button,
|
Button,
|
||||||
TextField,
|
TextField,
|
||||||
} from "@mui/material";
|
} from "@mui/material";
|
||||||
|
import { useState, useEffect } from "react";
|
||||||
|
|
||||||
interface StatusChangeDialogProps {
|
interface StatusChangeDialogProps {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
@ -24,6 +25,14 @@ const StatusChangeDialog = ({
|
|||||||
handleClose,
|
handleClose,
|
||||||
handleSave,
|
handleSave,
|
||||||
}: StatusChangeDialogProps) => {
|
}: StatusChangeDialogProps) => {
|
||||||
|
const [isValid, setIsValid] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const noSpaces = reason.replace(/\s/g, ""); // remove all spaces
|
||||||
|
const length = noSpaces.length;
|
||||||
|
setIsValid(length >= 12 && length <= 400);
|
||||||
|
}, [reason]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dialog open={open} onClose={handleClose}>
|
<Dialog open={open} onClose={handleClose}>
|
||||||
<DialogTitle>Change Status</DialogTitle>
|
<DialogTitle>Change Status</DialogTitle>
|
||||||
@ -38,12 +47,13 @@ const StatusChangeDialog = ({
|
|||||||
rows={4}
|
rows={4}
|
||||||
value={reason}
|
value={reason}
|
||||||
onChange={(e) => setReason(e.target.value)}
|
onChange={(e) => setReason(e.target.value)}
|
||||||
|
helperText="Reason must be between 12 and 400 characters"
|
||||||
sx={{ mt: 2 }}
|
sx={{ mt: 2 }}
|
||||||
/>
|
/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<Button onClick={handleClose}>Cancel</Button>
|
<Button onClick={handleClose}>Cancel</Button>
|
||||||
<Button variant="contained" onClick={handleSave} disabled={!reason}>
|
<Button variant="contained" onClick={handleSave} disabled={!isValid}>
|
||||||
Save
|
Save
|
||||||
</Button>
|
</Button>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
|
|||||||
@ -18,10 +18,15 @@ import {
|
|||||||
Select,
|
Select,
|
||||||
FormControl,
|
FormControl,
|
||||||
SelectChangeEvent,
|
SelectChangeEvent,
|
||||||
debounce,
|
|
||||||
} from "@mui/material";
|
} from "@mui/material";
|
||||||
|
import { debounce } from "@mui/material/utils";
|
||||||
import SearchIcon from "@mui/icons-material/Search";
|
import SearchIcon from "@mui/icons-material/Search";
|
||||||
|
import OpenInNewIcon from "@mui/icons-material/OpenInNew";
|
||||||
|
import AddIcon from "@mui/icons-material/Add";
|
||||||
import { useRouter, useSearchParams } from "next/navigation";
|
import { useRouter, useSearchParams } from "next/navigation";
|
||||||
|
import StatusChangeDialog from "../../DataTable/StatusChangeDialog";
|
||||||
|
import { HistoryModal } from "@/app/components/HistoryModal/HistoryModal";
|
||||||
|
import { getTransactionsHistory } from "@/app/services/transactionsHistory";
|
||||||
|
|
||||||
export interface TableColumn<T> {
|
export interface TableColumn<T> {
|
||||||
field: keyof T | string;
|
field: keyof T | string;
|
||||||
@ -42,6 +47,12 @@ interface DynamicTableProps<T extends { id: string | number }> {
|
|||||||
};
|
};
|
||||||
searchParamKey?: string;
|
searchParamKey?: string;
|
||||||
}
|
}
|
||||||
|
interface Transaction {
|
||||||
|
date: string;
|
||||||
|
method: string;
|
||||||
|
amount: number | string;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
|
||||||
export function ApproveTable<T extends { id: string | number }>({
|
export function ApproveTable<T extends { id: string | number }>({
|
||||||
data,
|
data,
|
||||||
@ -54,6 +65,18 @@ export function ApproveTable<T extends { id: string | number }>({
|
|||||||
|
|
||||||
const [selected, setSelected] = useState<(string | number)[]>([]);
|
const [selected, setSelected] = useState<(string | number)[]>([]);
|
||||||
const [search, setSearch] = useState("");
|
const [search, setSearch] = useState("");
|
||||||
|
const [modalOpen, setModalOpen] = useState(false);
|
||||||
|
const [historyModal, setHistoryModal] = useState(false);
|
||||||
|
const [reason, setReason] = useState<string>("");
|
||||||
|
const [action, setAction] = useState("");
|
||||||
|
const [transactionsHistoryResponse, setTransactionsHistoryResponse] =
|
||||||
|
useState<{
|
||||||
|
deposits: Transaction[];
|
||||||
|
withdrawals: Transaction[];
|
||||||
|
}>({
|
||||||
|
deposits: [],
|
||||||
|
withdrawals: [],
|
||||||
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const urlValue = searchParams.get(searchParamKey) ?? "";
|
const urlValue = searchParams.get(searchParamKey) ?? "";
|
||||||
@ -88,20 +111,39 @@ export function ApproveTable<T extends { id: string | number }>({
|
|||||||
setSelected(checked ? rows.map((r) => r.id) : []);
|
setSelected(checked ? rows.map((r) => r.id) : []);
|
||||||
};
|
};
|
||||||
|
|
||||||
const [action, setAction] = useState("");
|
|
||||||
const handleActionChange = (e: SelectChangeEvent<string>) => {
|
const handleActionChange = (e: SelectChangeEvent<string>) => {
|
||||||
const selectedAction = e.target.value;
|
const selectedAction = e.target.value;
|
||||||
setAction(selectedAction);
|
setAction(selectedAction);
|
||||||
|
|
||||||
if (selected.length > 0) {
|
if (selected.length > 0) {
|
||||||
|
setModalOpen(true);
|
||||||
console.log("Selected Ids", selected);
|
console.log("Selected Ids", selected);
|
||||||
console.log("Selected Action:", selectedAction);
|
console.log("Selected Action:", selectedAction);
|
||||||
} else {
|
} else {
|
||||||
console.warn("No rows selected for action:", selectedAction);
|
alert("No rows selected for this action!");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleStatusSave = () => {
|
||||||
|
console.log(
|
||||||
|
`Status changed for row with ID ${selected}. New status: ${action}. Reason: ${reason}`,
|
||||||
|
);
|
||||||
|
setModalOpen(false);
|
||||||
|
setReason("");
|
||||||
|
};
|
||||||
|
|
||||||
|
// NEW: plus button handler
|
||||||
|
const handlePlusClick = async (row: T) => {
|
||||||
|
console.log("Plus clicked for", row);
|
||||||
|
const params = `userId=${row.id}`;
|
||||||
|
const response = await getTransactionsHistory({ query: params });
|
||||||
|
setTransactionsHistoryResponse(response);
|
||||||
|
setHistoryModal(true);
|
||||||
|
};
|
||||||
|
|
||||||
|
const stickySecondColLeft = 48;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<>
|
||||||
<Box p={2}>
|
<Box p={2}>
|
||||||
<Box
|
<Box
|
||||||
mb={2}
|
mb={2}
|
||||||
@ -145,11 +187,33 @@ export function ApproveTable<T extends { id: string | number }>({
|
|||||||
</Box>
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
<TableContainer component={Paper}>
|
<TableContainer
|
||||||
<Table size="small">
|
component={Paper}
|
||||||
|
sx={{
|
||||||
|
overflowX: "auto",
|
||||||
|
maxHeight: 500,
|
||||||
|
width: "calc(100vw - 300px)",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Table
|
||||||
|
stickyHeader
|
||||||
|
size="small"
|
||||||
|
sx={{
|
||||||
|
minWidth: 1200,
|
||||||
|
}}
|
||||||
|
>
|
||||||
<TableHead>
|
<TableHead>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell padding="checkbox">
|
{/* sticky select-all checkbox */}
|
||||||
|
<TableCell
|
||||||
|
padding="checkbox"
|
||||||
|
sx={{
|
||||||
|
position: "sticky",
|
||||||
|
left: 0,
|
||||||
|
backgroundColor: "white",
|
||||||
|
zIndex: 3,
|
||||||
|
}}
|
||||||
|
>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={selected.length === rows.length && rows.length > 0}
|
checked={selected.length === rows.length && rows.length > 0}
|
||||||
indeterminate={
|
indeterminate={
|
||||||
@ -158,15 +222,39 @@ export function ApproveTable<T extends { id: string | number }>({
|
|||||||
onChange={(e) => handleToggleAll(e.target.checked)}
|
onChange={(e) => handleToggleAll(e.target.checked)}
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
|
||||||
|
{/* NEW: sticky plus column header (empty) */}
|
||||||
|
<TableCell
|
||||||
|
padding="checkbox"
|
||||||
|
sx={{
|
||||||
|
position: "sticky",
|
||||||
|
left: stickySecondColLeft,
|
||||||
|
backgroundColor: "white",
|
||||||
|
zIndex: 2,
|
||||||
|
width: 48,
|
||||||
|
maxWidth: 48,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
{columns.map((col, i) => (
|
{columns.map((col, i) => (
|
||||||
<TableCell key={i}>{col.headerName}</TableCell>
|
<TableCell key={i}>{col.headerName}</TableCell>
|
||||||
))}
|
))}
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
|
|
||||||
<TableBody>
|
<TableBody>
|
||||||
{rows.map((row, idx) => (
|
{rows.map((row, idx) => (
|
||||||
<TableRow key={idx}>
|
<TableRow key={idx}>
|
||||||
<TableCell padding="checkbox">
|
{/* sticky checkbox per-row */}
|
||||||
|
<TableCell
|
||||||
|
padding="checkbox"
|
||||||
|
sx={{
|
||||||
|
position: "sticky",
|
||||||
|
left: 0,
|
||||||
|
backgroundColor: "white",
|
||||||
|
zIndex: 2,
|
||||||
|
}}
|
||||||
|
>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={selected.includes(row.id)}
|
checked={selected.includes(row.id)}
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
@ -174,18 +262,95 @@ export function ApproveTable<T extends { id: string | number }>({
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
{columns.map((col, colIdx) => (
|
|
||||||
<TableCell key={colIdx}>
|
{/* NEW: sticky plus button cell */}
|
||||||
{col.render
|
<TableCell
|
||||||
? col.render(row[col.field as keyof T], row)
|
padding="checkbox"
|
||||||
: (row[col.field as keyof T] as React.ReactNode)}
|
sx={{
|
||||||
|
position: "sticky",
|
||||||
|
left: stickySecondColLeft,
|
||||||
|
backgroundColor: "white",
|
||||||
|
zIndex: 1,
|
||||||
|
width: 48,
|
||||||
|
maxWidth: 48,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<IconButton
|
||||||
|
size="small"
|
||||||
|
onClick={() => handlePlusClick(row)}
|
||||||
|
sx={{ p: 0.5 }}
|
||||||
|
aria-label="expand"
|
||||||
|
>
|
||||||
|
<AddIcon fontSize="small" />
|
||||||
|
</IconButton>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
))}
|
|
||||||
|
{columns.map((col, colIdx) => {
|
||||||
|
const value = row[col.field as keyof T];
|
||||||
|
|
||||||
|
if (col.field === "id") {
|
||||||
|
return (
|
||||||
|
<TableCell
|
||||||
|
key={colIdx}
|
||||||
|
sx={{
|
||||||
|
p: "6px 16px",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Box
|
||||||
|
sx={{
|
||||||
|
display: "grid",
|
||||||
|
gridTemplateColumns: "1fr auto",
|
||||||
|
alignItems: "center",
|
||||||
|
width: "100%",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Box sx={{textAlign: "center"}}>{value as React.ReactNode}</Box>
|
||||||
|
|
||||||
|
<IconButton
|
||||||
|
size="small"
|
||||||
|
component="a"
|
||||||
|
href={`/details/${value}`}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
sx={{ p: 0.5, ml: 1 }}
|
||||||
|
>
|
||||||
|
<OpenInNewIcon fontSize="small" />
|
||||||
|
</IconButton>
|
||||||
|
</Box>
|
||||||
|
</TableCell>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<TableCell key={colIdx}>
|
||||||
|
{value as React.ReactNode}
|
||||||
|
</TableCell>
|
||||||
|
);
|
||||||
|
})}
|
||||||
</TableRow>
|
</TableRow>
|
||||||
))}
|
))}
|
||||||
</TableBody>
|
</TableBody>
|
||||||
</Table>
|
</Table>
|
||||||
</TableContainer>
|
</TableContainer>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
|
<StatusChangeDialog
|
||||||
|
open={modalOpen}
|
||||||
|
newStatus={action}
|
||||||
|
reason={reason}
|
||||||
|
setReason={setReason}
|
||||||
|
handleClose={() => setModalOpen(false)}
|
||||||
|
handleSave={handleStatusSave}
|
||||||
|
/>
|
||||||
|
<HistoryModal
|
||||||
|
open={historyModal}
|
||||||
|
onClose={() => {
|
||||||
|
setTransactionsHistoryResponse({ deposits: [], withdrawals: [] });
|
||||||
|
setHistoryModal(false);
|
||||||
|
}}
|
||||||
|
deposits={transactionsHistoryResponse.deposits}
|
||||||
|
withdrawals={transactionsHistoryResponse.withdrawals}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
22
app/services/transactionsHistory.ts
Normal file
22
app/services/transactionsHistory.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
export async function getTransactionsHistory({
|
||||||
|
query,
|
||||||
|
}: {
|
||||||
|
query: string;
|
||||||
|
}) {
|
||||||
|
const res = await fetch(
|
||||||
|
`http://localhost:3000/api/dashboard/transactionsHistory?${query}`,
|
||||||
|
{
|
||||||
|
cache: "no-store",
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!res.ok) {
|
||||||
|
// Handle error from the API
|
||||||
|
const errorData = await res
|
||||||
|
.json()
|
||||||
|
.catch(() => ({ message: "Unknown error" }));
|
||||||
|
throw new Error(errorData.message || `HTTP error! status: ${res.status}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.json();
|
||||||
|
}
|
||||||
417
yarn.lock
417
yarn.lock
@ -104,6 +104,28 @@
|
|||||||
"@types/tough-cookie" "^4.0.5"
|
"@types/tough-cookie" "^4.0.5"
|
||||||
tough-cookie "^4.1.4"
|
tough-cookie "^4.1.4"
|
||||||
|
|
||||||
|
"@emnapi/core@^1.4.3":
|
||||||
|
version "1.4.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.4.5.tgz#bfbb0cbbbb9f96ec4e2c4fd917b7bbe5495ceccb"
|
||||||
|
integrity sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==
|
||||||
|
dependencies:
|
||||||
|
"@emnapi/wasi-threads" "1.0.4"
|
||||||
|
tslib "^2.4.0"
|
||||||
|
|
||||||
|
"@emnapi/runtime@^1.4.3":
|
||||||
|
version "1.4.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.5.tgz#c67710d0661070f38418b6474584f159de38aba9"
|
||||||
|
integrity sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==
|
||||||
|
dependencies:
|
||||||
|
tslib "^2.4.0"
|
||||||
|
|
||||||
|
"@emnapi/wasi-threads@1.0.4":
|
||||||
|
version "1.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz#703fc094d969e273b1b71c292523b2f792862bf4"
|
||||||
|
integrity sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==
|
||||||
|
dependencies:
|
||||||
|
tslib "^2.4.0"
|
||||||
|
|
||||||
"@emotion/babel-plugin@^11.13.5":
|
"@emotion/babel-plugin@^11.13.5":
|
||||||
version "11.13.5"
|
version "11.13.5"
|
||||||
resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz"
|
resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz"
|
||||||
@ -149,7 +171,7 @@
|
|||||||
resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz"
|
resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz"
|
||||||
integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
|
integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
|
||||||
|
|
||||||
"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.14.0", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0", "@emotion/react@^11.9.0":
|
"@emotion/react@^11.14.0":
|
||||||
version "11.14.0"
|
version "11.14.0"
|
||||||
resolved "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz"
|
resolved "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz"
|
||||||
integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
|
integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
|
||||||
@ -179,7 +201,7 @@
|
|||||||
resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz"
|
resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz"
|
||||||
integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
|
integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
|
||||||
|
|
||||||
"@emotion/styled@^11.14.0", "@emotion/styled@^11.3.0", "@emotion/styled@^11.8.1":
|
"@emotion/styled@^11.14.0":
|
||||||
version "11.14.0"
|
version "11.14.0"
|
||||||
resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz"
|
resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz"
|
||||||
integrity sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==
|
integrity sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==
|
||||||
@ -312,6 +334,124 @@
|
|||||||
resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz"
|
resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz"
|
||||||
integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==
|
integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==
|
||||||
|
|
||||||
|
"@img/sharp-darwin-arm64@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.2.tgz#65049ef7c6be7857da742cd028f97602ce209635"
|
||||||
|
integrity sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-darwin-arm64" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-darwin-x64@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.2.tgz#d37ff7c75c46d5a68a3756e3f1924ef7ca7b285e"
|
||||||
|
integrity sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-darwin-x64" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-libvips-darwin-arm64@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz#843f7c09c7245dc0d3cfec2b3c83bb08799a704f"
|
||||||
|
integrity sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-darwin-x64@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz#1239c24426c06a8e833815562f78047a3bfbaaf8"
|
||||||
|
integrity sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-linux-arm64@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz#20d276cefd903ee483f0441ba35961679c286315"
|
||||||
|
integrity sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-linux-arm@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz#067c0b566eae8063738cf1b1db8f8a8573b5465c"
|
||||||
|
integrity sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-linux-ppc64@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz#682334595f2ca00e0a07a675ba170af165162802"
|
||||||
|
integrity sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-linux-s390x@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz#82fcd68444b3666384235279c145c2b28d8ee302"
|
||||||
|
integrity sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-linux-x64@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz#65b2b908bf47156b0724fde9095676c83a18cf5a"
|
||||||
|
integrity sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-linuxmusl-arm64@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz#72accf924e80b081c8db83b900b444a67c203f01"
|
||||||
|
integrity sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==
|
||||||
|
|
||||||
|
"@img/sharp-libvips-linuxmusl-x64@1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz#1fa052737e203f46bf44192acd01f9faf11522d7"
|
||||||
|
integrity sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==
|
||||||
|
|
||||||
|
"@img/sharp-linux-arm64@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.2.tgz#c9690fac5f3137eaab3f7ad6065390d10f66f1fa"
|
||||||
|
integrity sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-linux-arm64" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-linux-arm@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.2.tgz#771dd2ec645f85f98441359bfc118afaf38cbd8b"
|
||||||
|
integrity sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-linux-arm" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-linux-s390x@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.2.tgz#82132d158abff57bd90b53574f2865f72f94e6c8"
|
||||||
|
integrity sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-linux-s390x" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-linux-x64@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.2.tgz#d815fb87899d462b28b62a9252ad127f02fe0740"
|
||||||
|
integrity sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-linux-x64" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-linuxmusl-arm64@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.2.tgz#cfac45b2abbc04628f676e123bfe3aeb300266c7"
|
||||||
|
integrity sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-linuxmusl-arm64" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-linuxmusl-x64@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.2.tgz#b876c23ff51d0fb6d9f3b0a07e2f4d1436c203ad"
|
||||||
|
integrity sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==
|
||||||
|
optionalDependencies:
|
||||||
|
"@img/sharp-libvips-linuxmusl-x64" "1.1.0"
|
||||||
|
|
||||||
|
"@img/sharp-wasm32@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.34.2.tgz#b1dd0bab547dccf517586eb1fa5852160bba3b82"
|
||||||
|
integrity sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==
|
||||||
|
dependencies:
|
||||||
|
"@emnapi/runtime" "^1.4.3"
|
||||||
|
|
||||||
|
"@img/sharp-win32-arm64@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.2.tgz#f37bee0f60c167f825a09d2b8de6849b823e8b30"
|
||||||
|
integrity sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==
|
||||||
|
|
||||||
|
"@img/sharp-win32-ia32@0.34.2":
|
||||||
|
version "0.34.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.2.tgz#8fc30b6655bc6ff8910344a2020d334aa6361672"
|
||||||
|
integrity sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==
|
||||||
|
|
||||||
"@img/sharp-win32-x64@0.34.2":
|
"@img/sharp-win32-x64@0.34.2":
|
||||||
version "0.34.2"
|
version "0.34.2"
|
||||||
resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz"
|
resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz"
|
||||||
@ -405,7 +545,7 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime" "^7.27.1"
|
"@babel/runtime" "^7.27.1"
|
||||||
|
|
||||||
"@mui/material@^5.15.14 || ^6.0.0 || ^7.0.0", "@mui/material@^7.1.2":
|
"@mui/material@^7.1.2":
|
||||||
version "7.1.2"
|
version "7.1.2"
|
||||||
resolved "https://registry.npmjs.org/@mui/material/-/material-7.1.2.tgz"
|
resolved "https://registry.npmjs.org/@mui/material/-/material-7.1.2.tgz"
|
||||||
integrity sha512-Z5PYKkA6Kd8vS04zKxJNpwuvt6IoMwqpbidV7RCrRQQKwczIwcNcS8L6GnN4pzFYfEs+N9v6co27DmG07rcnoA==
|
integrity sha512-Z5PYKkA6Kd8vS04zKxJNpwuvt6IoMwqpbidV7RCrRQQKwczIwcNcS8L6GnN4pzFYfEs+N9v6co27DmG07rcnoA==
|
||||||
@ -444,7 +584,7 @@
|
|||||||
csstype "^3.1.3"
|
csstype "^3.1.3"
|
||||||
prop-types "^15.8.1"
|
prop-types "^15.8.1"
|
||||||
|
|
||||||
"@mui/system@^5.15.14 || ^6.0.0 || ^7.0.0", "@mui/system@^7.1.1":
|
"@mui/system@^7.1.1":
|
||||||
version "7.1.1"
|
version "7.1.1"
|
||||||
resolved "https://registry.npmjs.org/@mui/system/-/system-7.1.1.tgz"
|
resolved "https://registry.npmjs.org/@mui/system/-/system-7.1.1.tgz"
|
||||||
integrity sha512-Kj1uhiqnj4Zo7PDjAOghtXJtNABunWvhcRU0O7RQJ7WOxeynoH6wXPcilphV8QTFtkKaip8EiNJRiCD+B3eROA==
|
integrity sha512-Kj1uhiqnj4Zo7PDjAOghtXJtNABunWvhcRU0O7RQJ7WOxeynoH6wXPcilphV8QTFtkKaip8EiNJRiCD+B3eROA==
|
||||||
@ -511,6 +651,15 @@
|
|||||||
"@mui/utils" "^7.1.1"
|
"@mui/utils" "^7.1.1"
|
||||||
reselect "^5.1.1"
|
reselect "^5.1.1"
|
||||||
|
|
||||||
|
"@napi-rs/wasm-runtime@^0.2.11":
|
||||||
|
version "0.2.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz#3e78a8b96e6c33a6c517e1894efbd5385a7cb6f2"
|
||||||
|
integrity sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==
|
||||||
|
dependencies:
|
||||||
|
"@emnapi/core" "^1.4.3"
|
||||||
|
"@emnapi/runtime" "^1.4.3"
|
||||||
|
"@tybys/wasm-util" "^0.10.0"
|
||||||
|
|
||||||
"@next/env@15.3.3":
|
"@next/env@15.3.3":
|
||||||
version "15.3.3"
|
version "15.3.3"
|
||||||
resolved "https://registry.npmjs.org/@next/env/-/env-15.3.3.tgz"
|
resolved "https://registry.npmjs.org/@next/env/-/env-15.3.3.tgz"
|
||||||
@ -523,6 +672,41 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
fast-glob "3.3.1"
|
fast-glob "3.3.1"
|
||||||
|
|
||||||
|
"@next/swc-darwin-arm64@15.3.3":
|
||||||
|
version "15.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.3.3.tgz#994de8515cdfb74d337bdad645c33605de44c68b"
|
||||||
|
integrity sha512-WRJERLuH+O3oYB4yZNVahSVFmtxRNjNF1I1c34tYMoJb0Pve+7/RaLAJJizyYiFhjYNGHRAE1Ri2Fd23zgDqhg==
|
||||||
|
|
||||||
|
"@next/swc-darwin-x64@15.3.3":
|
||||||
|
version "15.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.3.3.tgz#71588bad245180ffd1af1e1f894477287e739eb0"
|
||||||
|
integrity sha512-XHdzH/yBc55lu78k/XwtuFR/ZXUTcflpRXcsu0nKmF45U96jt1tsOZhVrn5YH+paw66zOANpOnFQ9i6/j+UYvw==
|
||||||
|
|
||||||
|
"@next/swc-linux-arm64-gnu@15.3.3":
|
||||||
|
version "15.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.3.3.tgz#66a15f749c14f04a89f8c7e21c7a8d343fc34e6e"
|
||||||
|
integrity sha512-VZ3sYL2LXB8znNGcjhocikEkag/8xiLgnvQts41tq6i+wql63SMS1Q6N8RVXHw5pEUjiof+II3HkDd7GFcgkzw==
|
||||||
|
|
||||||
|
"@next/swc-linux-arm64-musl@15.3.3":
|
||||||
|
version "15.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.3.3.tgz#14bd66213f7f33d6909574750bcb05037221a2ac"
|
||||||
|
integrity sha512-h6Y1fLU4RWAp1HPNJWDYBQ+e3G7sLckyBXhmH9ajn8l/RSMnhbuPBV/fXmy3muMcVwoJdHL+UtzRzs0nXOf9SA==
|
||||||
|
|
||||||
|
"@next/swc-linux-x64-gnu@15.3.3":
|
||||||
|
version "15.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.3.3.tgz#4a19434545e5e752d9a3ed71f9b34982725f6293"
|
||||||
|
integrity sha512-jJ8HRiF3N8Zw6hGlytCj5BiHyG/K+fnTKVDEKvUCyiQ/0r5tgwO7OgaRiOjjRoIx2vwLR+Rz8hQoPrnmFbJdfw==
|
||||||
|
|
||||||
|
"@next/swc-linux-x64-musl@15.3.3":
|
||||||
|
version "15.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.3.3.tgz#41ab140dd0a04ab7291adbec5836c1ce251a588c"
|
||||||
|
integrity sha512-HrUcTr4N+RgiiGn3jjeT6Oo208UT/7BuTr7K0mdKRBtTbT4v9zJqCDKO97DUqqoBK1qyzP1RwvrWTvU6EPh/Cw==
|
||||||
|
|
||||||
|
"@next/swc-win32-arm64-msvc@15.3.3":
|
||||||
|
version "15.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.3.3.tgz#fcd1d7e0007b7b73d1acdbf0ad6d91f7aa2deb15"
|
||||||
|
integrity sha512-SxorONgi6K7ZUysMtRF3mIeHC5aA3IQLmKFQzU0OuhuUYwpOBc1ypaLJLP5Bf3M9k53KUUUj4vTPwzGvl/NwlQ==
|
||||||
|
|
||||||
"@next/swc-win32-x64-msvc@15.3.3":
|
"@next/swc-win32-x64-msvc@15.3.3":
|
||||||
version "15.3.3"
|
version "15.3.3"
|
||||||
resolved "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.3.tgz"
|
resolved "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.3.tgz"
|
||||||
@ -536,7 +720,7 @@
|
|||||||
"@nodelib/fs.stat" "2.0.5"
|
"@nodelib/fs.stat" "2.0.5"
|
||||||
run-parallel "^1.1.9"
|
run-parallel "^1.1.9"
|
||||||
|
|
||||||
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
|
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
|
||||||
version "2.0.5"
|
version "2.0.5"
|
||||||
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
|
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
|
||||||
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
||||||
@ -572,6 +756,66 @@
|
|||||||
resolved "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz"
|
resolved "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz"
|
||||||
integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==
|
integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==
|
||||||
|
|
||||||
|
"@parcel/watcher-android-arm64@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1"
|
||||||
|
integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==
|
||||||
|
|
||||||
|
"@parcel/watcher-darwin-arm64@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67"
|
||||||
|
integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==
|
||||||
|
|
||||||
|
"@parcel/watcher-darwin-x64@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8"
|
||||||
|
integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==
|
||||||
|
|
||||||
|
"@parcel/watcher-freebsd-x64@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b"
|
||||||
|
integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==
|
||||||
|
|
||||||
|
"@parcel/watcher-linux-arm-glibc@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1"
|
||||||
|
integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==
|
||||||
|
|
||||||
|
"@parcel/watcher-linux-arm-musl@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e"
|
||||||
|
integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==
|
||||||
|
|
||||||
|
"@parcel/watcher-linux-arm64-glibc@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30"
|
||||||
|
integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==
|
||||||
|
|
||||||
|
"@parcel/watcher-linux-arm64-musl@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2"
|
||||||
|
integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==
|
||||||
|
|
||||||
|
"@parcel/watcher-linux-x64-glibc@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz#4d2ea0f633eb1917d83d483392ce6181b6a92e4e"
|
||||||
|
integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==
|
||||||
|
|
||||||
|
"@parcel/watcher-linux-x64-musl@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee"
|
||||||
|
integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==
|
||||||
|
|
||||||
|
"@parcel/watcher-win32-arm64@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243"
|
||||||
|
integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==
|
||||||
|
|
||||||
|
"@parcel/watcher-win32-ia32@2.5.1":
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6"
|
||||||
|
integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==
|
||||||
|
|
||||||
"@parcel/watcher-win32-x64@2.5.1":
|
"@parcel/watcher-win32-x64@2.5.1":
|
||||||
version "2.5.1"
|
version "2.5.1"
|
||||||
resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz"
|
resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz"
|
||||||
@ -650,6 +894,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.8.0"
|
tslib "^2.8.0"
|
||||||
|
|
||||||
|
"@tybys/wasm-util@^0.10.0":
|
||||||
|
version "0.10.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.0.tgz#2fd3cd754b94b378734ce17058d0507c45c88369"
|
||||||
|
integrity sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==
|
||||||
|
dependencies:
|
||||||
|
tslib "^2.4.0"
|
||||||
|
|
||||||
"@types/cookie@^0.6.0":
|
"@types/cookie@^0.6.0":
|
||||||
version "0.6.0"
|
version "0.6.0"
|
||||||
resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz"
|
resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz"
|
||||||
@ -733,7 +984,7 @@
|
|||||||
resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
|
resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
|
||||||
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
|
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
|
||||||
|
|
||||||
"@types/node@^20", "@types/node@>=18":
|
"@types/node@^20":
|
||||||
version "20.19.1"
|
version "20.19.1"
|
||||||
resolved "https://registry.npmjs.org/@types/node/-/node-20.19.1.tgz"
|
resolved "https://registry.npmjs.org/@types/node/-/node-20.19.1.tgz"
|
||||||
integrity sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==
|
integrity sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==
|
||||||
@ -778,7 +1029,7 @@
|
|||||||
resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz"
|
resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz"
|
||||||
integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
|
integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
|
||||||
|
|
||||||
"@types/react@*", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^18.2.25 || ^19", "@types/react@^19", "@types/react@^19.0.0":
|
"@types/react@*", "@types/react@^19":
|
||||||
version "19.1.8"
|
version "19.1.8"
|
||||||
resolved "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz"
|
resolved "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz"
|
||||||
integrity sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==
|
integrity sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==
|
||||||
@ -815,7 +1066,7 @@
|
|||||||
natural-compare "^1.4.0"
|
natural-compare "^1.4.0"
|
||||||
ts-api-utils "^2.1.0"
|
ts-api-utils "^2.1.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser@^8.34.1":
|
"@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0":
|
||||||
version "8.34.1"
|
version "8.34.1"
|
||||||
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.1.tgz"
|
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.1.tgz"
|
||||||
integrity sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==
|
integrity sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==
|
||||||
@ -843,7 +1094,7 @@
|
|||||||
"@typescript-eslint/types" "8.34.1"
|
"@typescript-eslint/types" "8.34.1"
|
||||||
"@typescript-eslint/visitor-keys" "8.34.1"
|
"@typescript-eslint/visitor-keys" "8.34.1"
|
||||||
|
|
||||||
"@typescript-eslint/tsconfig-utils@^8.34.1", "@typescript-eslint/tsconfig-utils@8.34.1":
|
"@typescript-eslint/tsconfig-utils@8.34.1", "@typescript-eslint/tsconfig-utils@^8.34.1":
|
||||||
version "8.34.1"
|
version "8.34.1"
|
||||||
resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz"
|
resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz"
|
||||||
integrity sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==
|
integrity sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==
|
||||||
@ -858,7 +1109,7 @@
|
|||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
ts-api-utils "^2.1.0"
|
ts-api-utils "^2.1.0"
|
||||||
|
|
||||||
"@typescript-eslint/types@^8.34.1", "@typescript-eslint/types@8.34.1":
|
"@typescript-eslint/types@8.34.1", "@typescript-eslint/types@^8.34.1":
|
||||||
version "8.34.1"
|
version "8.34.1"
|
||||||
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.1.tgz"
|
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.1.tgz"
|
||||||
integrity sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==
|
integrity sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==
|
||||||
@ -897,6 +1148,98 @@
|
|||||||
"@typescript-eslint/types" "8.34.1"
|
"@typescript-eslint/types" "8.34.1"
|
||||||
eslint-visitor-keys "^4.2.1"
|
eslint-visitor-keys "^4.2.1"
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-android-arm-eabi@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.0.tgz#e91317973356eb845c9186db5f9ec43e8d0002eb"
|
||||||
|
integrity sha512-h1T2c2Di49ekF2TE8ZCoJkb+jwETKUIPDJ/nO3tJBKlLFPu+fyd93f0rGP/BvArKx2k2HlRM4kqkNarj3dvZlg==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-android-arm64@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.0.tgz#fbdd79b2a8e478e02e1c0751dfbc100017522161"
|
||||||
|
integrity sha512-sG1NHtgXtX8owEkJ11yn34vt0Xqzi3k9TJ8zppDmyG8GZV4kVWw44FHwKwHeEFl07uKPeC4ZoyuQaGh5ruJYPA==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-darwin-arm64@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.0.tgz#24bb42710227ae2f4fea191151f3acc6a75b50d6"
|
||||||
|
integrity sha512-nJ9z47kfFnCxN1z/oYZS7HSNsFh43y2asePzTEZpEvK7kGyuShSl3RRXnm/1QaqFL+iP+BjMwuB+DYUymOkA5A==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-darwin-x64@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.0.tgz#4a205940ec311ac8396c3f25043644b78cc98a20"
|
||||||
|
integrity sha512-TK+UA1TTa0qS53rjWn7cVlEKVGz2B6JYe0C++TdQjvWYIyx83ruwh0wd4LRxYBM5HeuAzXcylA9BH2trARXJTw==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-freebsd-x64@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.0.tgz#ed82e000f7248011696ecc8894f574caa197b0be"
|
||||||
|
integrity sha512-6uZwzMRFcD7CcCd0vz3Hp+9qIL2jseE/bx3ZjaLwn8t714nYGwiE84WpaMCYjU+IQET8Vu/+BNAGtYD7BG/0yA==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-arm-gnueabihf@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.0.tgz#534a8b32118590f7fb9edd21c6576243a89a8aad"
|
||||||
|
integrity sha512-bPUBksQfrgcfv2+mm+AZinaKq8LCFvt5PThYqRotqSuuZK1TVKkhbVMS/jvSRfYl7jr3AoZLYbDkItxgqMKRkg==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-arm-musleabihf@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.0.tgz#b31718752e77cecbbcf7ba1e01dea97c1a5ee7e0"
|
||||||
|
integrity sha512-uT6E7UBIrTdCsFQ+y0tQd3g5oudmrS/hds5pbU3h4s2t/1vsGWbbSKhBSCD9mcqaqkBwoqlECpUrRJCmldl8PA==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-arm64-gnu@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.0.tgz#0f11ba195020cfa869533fb74733d68162349d14"
|
||||||
|
integrity sha512-vdqBh911wc5awE2bX2zx3eflbyv8U9xbE/jVKAm425eRoOVv/VseGZsqi3A3SykckSpF4wSROkbQPvbQFn8EsA==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-arm64-musl@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.0.tgz#8b6bc086cf9efaa22e8f2fef381786d6636b8e19"
|
||||||
|
integrity sha512-/8JFZ/SnuDr1lLEVsxsuVwrsGquTvT51RZGvyDB/dOK3oYK2UqeXzgeyq6Otp8FZXQcEYqJwxb9v+gtdXn03eQ==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-ppc64-gnu@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.0.tgz#5cd15899af31c2bbf90bfca5f798f64a16770e23"
|
||||||
|
integrity sha512-FkJjybtrl+rajTw4loI3L6YqSOpeZfDls4SstL/5lsP2bka9TiHUjgMBjygeZEis1oC8LfJTS8FSgpKPaQx2tQ==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-riscv64-gnu@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.0.tgz#4f2c75af52437eb10b48ea5b72750fb65fb174be"
|
||||||
|
integrity sha512-w/NZfHNeDusbqSZ8r/hp8iL4S39h4+vQMc9/vvzuIKMWKppyUGKm3IST0Qv0aOZ1rzIbl9SrDeIqK86ZpUK37w==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-riscv64-musl@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.0.tgz#6a87e82e0dd39d34ff37ddba6accf73cdb396e86"
|
||||||
|
integrity sha512-bEPBosut8/8KQbUixPry8zg/fOzVOWyvwzOfz0C0Rw6dp+wIBseyiHKjkcSyZKv/98edrbMknBaMNJfA/UEdqw==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-s390x-gnu@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.0.tgz#6524cc3c01309022de86c4a7317fe7d9f9fb855c"
|
||||||
|
integrity sha512-LDtMT7moE3gK753gG4pc31AAqGUC86j3AplaFusc717EUGF9ZFJ356sdQzzZzkBk1XzMdxFyZ4f/i35NKM/lFA==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-x64-gnu@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.0.tgz#85fb8a45dccf3823cd73ea4b61b2c3f2e8ab6653"
|
||||||
|
integrity sha512-WmFd5KINHIXj8o1mPaT8QRjA9HgSXhN1gl9Da4IZihARihEnOylu4co7i/yeaIpcfsI6sYs33cNZKyHYDh0lrA==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-linux-x64-musl@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.0.tgz#235e539da5872df51c03e0e050a1c715e25044ca"
|
||||||
|
integrity sha512-CYuXbANW+WgzVRIl8/QvZmDaZxrqvOldOwlbUjIM4pQ46FJ0W5cinJ/Ghwa/Ng1ZPMJMk1VFdsD/XwmCGIXBWg==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-wasm32-wasi@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.0.tgz#1bc614ce2ba61330c16bffa1e50f41d95d25c0a6"
|
||||||
|
integrity sha512-6Rp2WH0OoitMYR57Z6VE8Y6corX8C6QEMWLgOV6qXiJIeZ1F9WGXY/yQ8yDC4iTraotyLOeJ2Asea0urWj2fKQ==
|
||||||
|
dependencies:
|
||||||
|
"@napi-rs/wasm-runtime" "^0.2.11"
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-win32-arm64-msvc@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.0.tgz#0d8704275a9f2634d81b35d8a00a2f4bd8dec7fa"
|
||||||
|
integrity sha512-rknkrTRuvujprrbPmGeHi8wYWxmNVlBoNW8+4XF2hXUnASOjmuC9FNF1tGbDiRQWn264q9U/oGtixyO3BT8adQ==
|
||||||
|
|
||||||
|
"@unrs/resolver-binding-win32-ia32-msvc@1.9.0":
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.0.tgz#46909cbeb9a38b3f31a64833fe03aa1aebb8da2b"
|
||||||
|
integrity sha512-Ceymm+iBl+bgAICtgiHyMLz6hjxmLJKqBim8tDzpX61wpZOx2bPK6Gjuor7I2RiUynVjvvkoRIkrPyMwzBzF3A==
|
||||||
|
|
||||||
"@unrs/resolver-binding-win32-x64-msvc@1.9.0":
|
"@unrs/resolver-binding-win32-x64-msvc@1.9.0":
|
||||||
version "1.9.0"
|
version "1.9.0"
|
||||||
resolved "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.0.tgz"
|
resolved "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.0.tgz"
|
||||||
@ -907,7 +1250,7 @@ acorn-jsx@^5.3.2:
|
|||||||
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
|
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
|
||||||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||||
|
|
||||||
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.15.0:
|
acorn@^8.15.0:
|
||||||
version "8.15.0"
|
version "8.15.0"
|
||||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
|
resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
|
||||||
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
|
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
|
||||||
@ -1283,7 +1626,7 @@ csstype@^3.0.2, csstype@^3.1.3:
|
|||||||
resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
|
resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
|
||||||
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
|
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
|
||||||
|
|
||||||
d3-array@^3.1.6, "d3-array@2 - 3", "d3-array@2.10.0 - 3":
|
"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6:
|
||||||
version "3.2.4"
|
version "3.2.4"
|
||||||
resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz"
|
resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz"
|
||||||
integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
|
integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
|
||||||
@ -1305,7 +1648,7 @@ d3-ease@^3.0.1:
|
|||||||
resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz"
|
resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz"
|
||||||
integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==
|
integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==
|
||||||
|
|
||||||
d3-interpolate@^3.0.1, "d3-interpolate@1.2.0 - 3":
|
"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz"
|
resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz"
|
||||||
integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
|
integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
|
||||||
@ -1342,7 +1685,7 @@ d3-shape@^3.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
d3-time "1 - 3"
|
d3-time "1 - 3"
|
||||||
|
|
||||||
d3-time@^3.0.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3":
|
"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz"
|
resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz"
|
||||||
integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==
|
integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==
|
||||||
@ -1393,12 +1736,12 @@ date-fns@^2.16.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime" "^7.21.0"
|
"@babel/runtime" "^7.21.0"
|
||||||
|
|
||||||
"date-fns@^2.25.0 || ^3.2.0 || ^4.0.0", date-fns@^4.1.0, "date-fns@3.0.6 || >=3.0.0":
|
date-fns@^4.1.0:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz"
|
resolved "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz"
|
||||||
integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==
|
integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==
|
||||||
|
|
||||||
dayjs@^1.10.7, dayjs@^1.11.13:
|
dayjs@^1.11.13:
|
||||||
version "1.11.13"
|
version "1.11.13"
|
||||||
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz"
|
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz"
|
||||||
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
|
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
|
||||||
@ -1676,7 +2019,7 @@ eslint-module-utils@^2.12.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
debug "^3.2.7"
|
debug "^3.2.7"
|
||||||
|
|
||||||
eslint-plugin-import@*, eslint-plugin-import@^2.31.0:
|
eslint-plugin-import@^2.31.0:
|
||||||
version "2.31.0"
|
version "2.31.0"
|
||||||
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz"
|
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz"
|
||||||
integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==
|
integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==
|
||||||
@ -1769,7 +2112,7 @@ eslint-visitor-keys@^4.2.1:
|
|||||||
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
|
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
|
||||||
integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
|
integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
|
||||||
|
|
||||||
eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.23.0 || ^8.0.0 || ^9.0.0", "eslint@^8.57.0 || ^9.0.0", eslint@^9:
|
eslint@^9:
|
||||||
version "9.29.0"
|
version "9.29.0"
|
||||||
resolved "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz"
|
resolved "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz"
|
||||||
integrity sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==
|
integrity sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==
|
||||||
@ -1858,17 +2201,6 @@ fast-equals@^5.0.1:
|
|||||||
resolved "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.2.tgz"
|
resolved "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.2.tgz"
|
||||||
integrity sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==
|
integrity sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==
|
||||||
|
|
||||||
fast-glob@^3.3.2:
|
|
||||||
version "3.3.3"
|
|
||||||
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
|
|
||||||
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
|
|
||||||
dependencies:
|
|
||||||
"@nodelib/fs.stat" "^2.0.2"
|
|
||||||
"@nodelib/fs.walk" "^1.2.3"
|
|
||||||
glob-parent "^5.1.2"
|
|
||||||
merge2 "^1.3.0"
|
|
||||||
micromatch "^4.0.8"
|
|
||||||
|
|
||||||
fast-glob@3.3.1:
|
fast-glob@3.3.1:
|
||||||
version "3.3.1"
|
version "3.3.1"
|
||||||
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz"
|
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz"
|
||||||
@ -1880,6 +2212,17 @@ fast-glob@3.3.1:
|
|||||||
merge2 "^1.3.0"
|
merge2 "^1.3.0"
|
||||||
micromatch "^4.0.4"
|
micromatch "^4.0.4"
|
||||||
|
|
||||||
|
fast-glob@^3.3.2:
|
||||||
|
version "3.3.3"
|
||||||
|
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
|
||||||
|
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
|
||||||
|
dependencies:
|
||||||
|
"@nodelib/fs.stat" "^2.0.2"
|
||||||
|
"@nodelib/fs.walk" "^1.2.3"
|
||||||
|
glob-parent "^5.1.2"
|
||||||
|
merge2 "^1.3.0"
|
||||||
|
micromatch "^4.0.8"
|
||||||
|
|
||||||
fast-json-stable-stringify@^2.0.0:
|
fast-json-stable-stringify@^2.0.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
|
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
|
||||||
@ -2793,7 +3136,7 @@ picomatch@^2.3.1:
|
|||||||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
|
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
|
||||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||||
|
|
||||||
"picomatch@^3 || ^4", picomatch@^4.0.2:
|
picomatch@^4.0.2:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz"
|
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz"
|
||||||
integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==
|
integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==
|
||||||
@ -2858,7 +3201,7 @@ react-date-range@^2.0.1:
|
|||||||
react-list "^0.8.13"
|
react-list "^0.8.13"
|
||||||
shallow-equal "^1.2.1"
|
shallow-equal "^1.2.1"
|
||||||
|
|
||||||
"react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react-dom@^19.0.0, react-dom@>=16.6.0:
|
react-dom@^19.0.0:
|
||||||
version "19.1.0"
|
version "19.1.0"
|
||||||
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz"
|
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz"
|
||||||
integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==
|
integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==
|
||||||
@ -2885,7 +3228,7 @@ react-list@^0.8.13:
|
|||||||
resolved "https://registry.npmjs.org/react-list/-/react-list-0.8.18.tgz"
|
resolved "https://registry.npmjs.org/react-list/-/react-list-0.8.18.tgz"
|
||||||
integrity sha512-1OSdDvzuKuwDJvQNuhXxxL+jTmmdtKg1i6KtYgxI9XR98kbOql1FcSGP+Lcvo91fk3cYng+Z6YkC6X9HRJwxfw==
|
integrity sha512-1OSdDvzuKuwDJvQNuhXxxL+jTmmdtKg1i6KtYgxI9XR98kbOql1FcSGP+Lcvo91fk3cYng+Z6YkC6X9HRJwxfw==
|
||||||
|
|
||||||
"react-redux@^7.2.1 || ^8.1.3 || ^9.0.0", react-redux@^9.2.0:
|
react-redux@^9.2.0:
|
||||||
version "9.2.0"
|
version "9.2.0"
|
||||||
resolved "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz"
|
resolved "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz"
|
||||||
integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==
|
integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==
|
||||||
@ -2912,7 +3255,7 @@ react-transition-group@^4.4.5:
|
|||||||
loose-envify "^1.4.0"
|
loose-envify "^1.4.0"
|
||||||
prop-types "^15.6.2"
|
prop-types "^15.6.2"
|
||||||
|
|
||||||
"react@^0.14 || ^15.0.0-rc || >=15.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18 || ^19", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^18.0 || ^19", "react@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react@^19.0.0, react@^19.1.0, "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", react@>=16.6.0, react@>=16.8.0, "react@0.14 || 15 - 19":
|
react@^19.0.0:
|
||||||
version "19.1.0"
|
version "19.1.0"
|
||||||
resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz"
|
resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz"
|
||||||
integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==
|
integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==
|
||||||
@ -2955,7 +3298,7 @@ redux@^4.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime" "^7.9.2"
|
"@babel/runtime" "^7.9.2"
|
||||||
|
|
||||||
redux@^5.0.0, redux@^5.0.1:
|
redux@^5.0.1:
|
||||||
version "5.0.1"
|
version "5.0.1"
|
||||||
resolved "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz"
|
resolved "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz"
|
||||||
integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==
|
integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==
|
||||||
@ -3069,7 +3412,7 @@ safe-regex-test@^1.0.3, safe-regex-test@^1.1.0:
|
|||||||
es-errors "^1.3.0"
|
es-errors "^1.3.0"
|
||||||
is-regex "^1.2.1"
|
is-regex "^1.2.1"
|
||||||
|
|
||||||
sass@^1.3.0, sass@^1.89.2:
|
sass@^1.89.2:
|
||||||
version "1.90.0"
|
version "1.90.0"
|
||||||
resolved "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz"
|
resolved "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz"
|
||||||
integrity sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==
|
integrity sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==
|
||||||
@ -3226,7 +3569,7 @@ simple-swizzle@^0.2.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-arrayish "^0.3.1"
|
is-arrayish "^0.3.1"
|
||||||
|
|
||||||
source-map-js@^1.0.2, "source-map-js@>=0.6.2 <2.0.0":
|
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
|
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
|
||||||
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
||||||
@ -3501,7 +3844,7 @@ typed-array-length@^1.0.7:
|
|||||||
possible-typed-array-names "^1.0.0"
|
possible-typed-array-names "^1.0.0"
|
||||||
reflect.getprototypeof "^1.0.6"
|
reflect.getprototypeof "^1.0.6"
|
||||||
|
|
||||||
typescript@^5, "typescript@>= 4.8.x", typescript@>=3.3.1, typescript@>=4.8.4, "typescript@>=4.8.4 <5.9.0":
|
typescript@^5:
|
||||||
version "5.8.3"
|
version "5.8.3"
|
||||||
resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz"
|
resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz"
|
||||||
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
|
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user