Compare commits

..

56 Commits

Author SHA1 Message Date
Flatlogic Bot
d5f32d622a Updated via schema editor on 2025-09-24 18:08 2025-09-24 18:09:35 +00:00
lora322
e5c4e5a9e2
Merge pull request #35 from lora322/copilot/fix-60978410-991b-4466-adc4-d7cc785820a4
Fix JSON parsing error in i18n configuration and API error handling
2025-09-23 23:12:13 -04:00
copilot-swe-agent[bot]
4ad8da4083 Fix JSON parsing error in i18n configuration and API error handling
Co-authored-by: lora322 <39804183+lora322@users.noreply.github.com>
2025-09-24 02:49:40 +00:00
copilot-swe-agent[bot]
ae996888b0 Initial analysis: Identify JSON parsing error in i18n configuration
Co-authored-by: lora322 <39804183+lora322@users.noreply.github.com>
2025-09-24 02:41:18 +00:00
copilot-swe-agent[bot]
37110b4a12 Initial plan 2025-09-24 02:32:23 +00:00
lora322
8e8c2d55c1
Refactor generateFilterRequests to return request correctly
Fix request generation in generateFilterRequests function.
2025-09-23 22:24:57 -04:00
lora322
7818dd740d
updated backend files 2025-09-24 02:10:46 +00:00
lora322
0ad418f20c
Implement filterStatus in TableOrders component
Added support for filtering orders by status in TableOrders component.
2025-09-23 22:04:43 -04:00
lora322
32d328eb25
Rename TableSampleOrders to TableOrders 2025-09-23 21:51:37 -04:00
lora322
92aa5d1622
Merge pull request #34 from lora322/master
Sync ai-dev branch with masterSync ai-dev branch with masterMerge pull request #33 from lora322/ai-dev
2025-09-23 21:20:47 -04:00
lora322
11fc2cf874
Merge pull request #33 from lora322/ai-dev
Ai dev
2025-09-23 21:17:23 -04:00
lora322
d9603c935b
Refactor import path for TableOrders component 2025-09-23 21:14:55 -04:00
lora322
00dd14f15a
Merge pull request #32 from lora322/master
Merge pull request #31 from lora322/ai-dev
2025-09-23 21:12:22 -04:00
lora322
5579b74e7c
Merge pull request #31 from lora322/ai-dev
added Open Orders table
2025-09-23 20:59:06 -04:00
lora322
036bb14c69
Add TableOrders component to dashboard 2025-09-23 20:54:39 -04:00
lora322
6e3f048d97
Display welcome message for current user
Add a welcome message displaying the user's first name.
2025-09-23 20:32:53 -04:00
lora322
40b7f2bc5d
Change red color value in tailwind config 2025-09-23 19:46:16 -04:00
lora322
8047166beb
Merge pull request #30 from lora322/master
Sync master commits to ai-dev branch
2025-09-23 15:54:41 -04:00
lora322
336e151889
Merge pull request #29 from lora322/ai-dev
Change column type to string and add value formatter
2025-09-23 15:53:25 -04:00
lora322
d0b8ed3955
Change column type to string and add value formatter 2025-09-23 15:50:39 -04:00
lora322
2fa57dfaa9
Merge pull request #28 from lora322/ai-dev
Update color styles to use 'pavitra' theme
2025-09-23 14:24:16 -04:00
lora322
1b6cc3fd83
Update color styles to use 'pavitra' theme 2025-09-23 14:23:09 -04:00
lora322
7cbee0668e
Merge pull request #27 from lora322/ai-dev
Ai dev
2025-09-23 13:46:17 -04:00
lora322
fc5bc11ef7
Merge pull request #26 from lora322/master
Merge pull request #25 from lora322/ai-dev
2025-09-23 13:45:19 -04:00
lora322
ca7ed177d5
Change iconsColor to use 'text-pavitra-600' 2025-09-23 13:44:01 -04:00
lora322
6a2553be58
Merge pull request #25 from lora322/ai-dev
update icon colours
2025-09-22 17:42:05 -04:00
lora322
37c1e09dc3
Change icons color from blue-500 to blue-600 2025-09-22 17:41:15 -04:00
lora322
3032326793
Update theme colors for blue variants 2025-09-22 17:35:25 -04:00
lora322
7d109b54a1
Merge pull request #24 from lora322/master
merge branches
2025-09-21 16:23:12 -04:00
lora322
332a86025e
Merge pull request #23 from lora322/ai-dev
Modify color palette in tailwind.config.js
2025-09-21 16:22:16 -04:00
lora322
9d3fe6d361
Modify color palette in tailwind.config.js
Updated color values for the theme in tailwind.config.js.
2025-09-21 16:21:46 -04:00
lora322
cc65f61948
Merge pull request #22 from lora322/ai-dev
Ai dev
2025-09-21 13:18:50 -04:00
lora322
110730015d
again i havee no clue but the ports aren't working 2025-09-21 16:19:09 +00:00
lora322
3a5501aac3
I don't know what changes
you made, but I hope they are good ones.
2025-09-21 16:17:50 +00:00
lora322
dc57621468
Merge pull request #21 from lora322/ai-dev
Ai dev
2025-09-21 11:35:47 -04:00
lora322
79ae464ddf
Merge pull request #20 from lora322/master
Merge pull request #19 from lora322/ai-dev
2025-09-21 11:34:23 -04:00
lora322
a248c6b0a0
Update welcome message and footer year 2025-09-21 11:32:03 -04:00
lora322
2f84fb7df3
Merge pull request #19 from lora322/ai-dev
Fix URL in FooterBar component
2025-09-21 10:48:28 -04:00
lora322
6ca42212be
Fix URL in FooterBar component
removed language switcher
2025-09-21 10:47:35 -04:00
lora322
18b39868ac
Update footer link to Flatlogic logo 2025-09-21 10:04:39 -04:00
lora322
d165a22fb3
Import useState and useEffect in orders-new.tsx 2025-09-19 22:20:29 -04:00
lora322
06651e8032
Fix import statement in FooterBar component 2025-09-19 21:13:46 -04:00
lora322
29f28522d5
Merge pull request #15 from lora322/master
Merge pull request #14 from lora322/ai-dev
2025-09-19 20:41:01 -04:00
lora322
ee92a77c27
Merge pull request #14 from lora322/ai-dev
Ai dev update
2025-09-19 20:39:39 -04:00
lora322
9e8611d76d
Merge pull request #13 from lora322/master
update
2025-09-19 20:38:56 -04:00
lora322
368d155be1
Update logo source and alt text in Logo component 2025-09-19 20:37:40 -04:00
lora322
52b12200bc
Update footer links to Veracity Real Estate Solutions 2025-09-19 20:29:45 -04:00
lora322
4533ceaf60
Merge pull request #12 from lora322/ai-dev
Ai dev update colours in Tailwind
2025-09-19 20:24:19 -04:00
lora322
2aabe9d930
Modify color values in tailwind.config.js 2025-09-19 20:22:16 -04:00
lora322
dc360d3183
Update copyright year from 2024 to 2025 2025-09-19 12:39:03 -04:00
lora322
2475ebce03
Merge pull request #11 from lora322/ai-dev
Merge pull request #10 from lora322/master
2025-09-11 12:38:46 -04:00
lora322
831bc3efba
Merge pull request #10 from lora322/master
updates from master
2025-09-11 12:37:13 -04:00
lora322
a5d34b970e
Merge pull request #9 from lora322/ai-dev
Ai dev
2025-09-11 12:35:32 -04:00
lora322
b6e0235f88
Change property options API endpoint to deployed URL 2025-09-11 12:27:54 -04:00
lora322
6de7feefc1
Fetch property options for new orders page 2025-09-11 11:58:33 -04:00
Flatlogic Bot
9441166571 Forced merge: merge ai-dev into master 2025-09-11 15:32:55 +00:00
36 changed files with 9078 additions and 299 deletions

15
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,15 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
}
]
}

File diff suppressed because one or more lines are too long

View File

@ -18,6 +18,8 @@ module.exports = class OrdersDBApi {
requested_date: data.requested_date || null, requested_date: data.requested_date || null,
status: data.status || null, status: data.status || null,
fee: data.fee || null, fee: data.fee || null,
street_address: data.street_address || null,
Municipality: data.Municipality || null,
importHash: data.importHash || null, importHash: data.importHash || null,
createdById: currentUser.id, createdById: currentUser.id,
updatedById: currentUser.id, updatedById: currentUser.id,
@ -51,6 +53,8 @@ module.exports = class OrdersDBApi {
requested_date: item.requested_date || null, requested_date: item.requested_date || null,
status: item.status || null, status: item.status || null,
fee: item.fee || null, fee: item.fee || null,
street_address: item.street_address || null,
Municipality: item.Municipality || null,
importHash: item.importHash || null, importHash: item.importHash || null,
createdById: currentUser.id, createdById: currentUser.id,
updatedById: currentUser.id, updatedById: currentUser.id,
@ -81,6 +85,12 @@ module.exports = class OrdersDBApi {
if (data.fee !== undefined) updatePayload.fee = data.fee; if (data.fee !== undefined) updatePayload.fee = data.fee;
if (data.street_address !== undefined)
updatePayload.street_address = data.street_address;
if (data.Municipality !== undefined)
updatePayload.Municipality = data.Municipality;
updatePayload.updatedById = currentUser.id; updatePayload.updatedById = currentUser.id;
await orders.update(updatePayload, { transaction }); await orders.update(updatePayload, { transaction });
@ -273,6 +283,24 @@ module.exports = class OrdersDBApi {
}; };
} }
if (filter.street_address) {
where = {
...where,
[Op.and]: Utils.ilike(
'orders',
'street_address',
filter.street_address,
),
};
}
if (filter.Municipality) {
where = {
...where,
[Op.and]: Utils.ilike('orders', 'Municipality', filter.Municipality),
};
}
if (filter.requested_dateRange) { if (filter.requested_dateRange) {
const [start, end] = filter.requested_dateRange; const [start, end] = filter.requested_dateRange;

View File

@ -0,0 +1,62 @@
module.exports = {
/**
* @param {QueryInterface} queryInterface
* @param {Sequelize} Sequelize
* @returns {Promise<void>}
*/
async up(queryInterface, Sequelize) {
/**
* @type {Transaction}
*/
const transaction = await queryInterface.sequelize.transaction();
try {
await queryInterface.addColumn(
'orders',
'street_address',
{
type: Sequelize.DataTypes.TEXT,
},
{ transaction },
);
await queryInterface.addColumn(
'orders',
'Municipality',
{
type: Sequelize.DataTypes.TEXT,
},
{ transaction },
);
await transaction.commit();
} catch (err) {
await transaction.rollback();
throw err;
}
},
/**
* @param {QueryInterface} queryInterface
* @param {Sequelize} Sequelize
* @returns {Promise<void>}
*/
async down(queryInterface, Sequelize) {
/**
* @type {Transaction}
*/
const transaction = await queryInterface.sequelize.transaction();
try {
await queryInterface.removeColumn('orders', 'Municipality', {
transaction,
});
await queryInterface.removeColumn('orders', 'street_address', {
transaction,
});
await transaction.commit();
} catch (err) {
await transaction.rollback();
throw err;
}
},
};

View File

@ -42,6 +42,14 @@ module.exports = function (sequelize, DataTypes) {
type: DataTypes.DECIMAL, type: DataTypes.DECIMAL,
}, },
street_address: {
type: DataTypes.TEXT,
},
Municipality: {
type: DataTypes.TEXT,
},
importHash: { importHash: {
type: DataTypes.STRING(255), type: DataTypes.STRING(255),
allowNull: true, allowNull: true,

View File

@ -49,6 +49,16 @@ const ActivitiesData = [
// type code here for "relation_one" field // type code here for "relation_one" field
}, },
{
// type code here for "relation_one" field
action: 'Approved order for Metro Valuations.',
timestamp: new Date('2023-10-04T12:00:00Z'),
// type code here for "relation_one" field
},
]; ];
const AppraisalsData = [ const AppraisalsData = [
@ -61,7 +71,7 @@ const AppraisalsData = [
delivery_date: new Date('2023-10-05T17:00:00Z'), delivery_date: new Date('2023-10-05T17:00:00Z'),
status: 'assigned', status: 'scheduled',
fee: 1500, fee: 1500,
@ -77,7 +87,7 @@ const AppraisalsData = [
delivery_date: new Date('2023-10-06T16:00:00Z'), delivery_date: new Date('2023-10-06T16:00:00Z'),
status: 'assigned', status: 'in_progress',
fee: 2000, fee: 2000,
@ -93,12 +103,28 @@ const AppraisalsData = [
delivery_date: new Date('2023-10-07T15:00:00Z'), delivery_date: new Date('2023-10-07T15:00:00Z'),
status: 'delivered', status: 'in_progress',
fee: 2500, fee: 2500,
// type code here for "relation_one" field // type code here for "relation_one" field
}, },
{
// type code here for "relation_one" field
// type code here for "relation_one" field
accepted_date: new Date('2023-10-04T12:00:00Z'),
delivery_date: new Date('2023-10-08T14:00:00Z'),
status: 'delivered',
fee: 1800,
// type code here for "relation_one" field
},
]; ];
const ClientsData = [ const ClientsData = [
@ -131,6 +157,16 @@ const ClientsData = [
// type code here for "relation_one" field // type code here for "relation_one" field
}, },
{
name: 'Suburban Assessments',
contact_email: 'contact@suburbanassessments.com',
// type code here for "relation_many" field
// type code here for "relation_one" field
},
]; ];
const InvoicesData = [ const InvoicesData = [
@ -169,6 +205,18 @@ const InvoicesData = [
// type code here for "relation_one" field // type code here for "relation_one" field
}, },
{
// type code here for "relation_one" field
total_amount: 1800,
issue_date: new Date('2023-10-04T12:00:00Z'),
due_date: new Date('2023-10-18T17:00:00Z'),
// type code here for "relation_one" field
},
]; ];
const MessagesData = [ const MessagesData = [
@ -207,6 +255,18 @@ const MessagesData = [
// type code here for "relation_one" field // type code here for "relation_one" field
}, },
{
// type code here for "relation_one" field
// type code here for "relation_one" field
content: 'Please confirm the inspection date.',
sent_date: new Date('2023-10-04T12:00:00Z'),
// type code here for "relation_one" field
},
]; ];
const NotificationsData = [ const NotificationsData = [
@ -239,6 +299,16 @@ const NotificationsData = [
// type code here for "relation_one" field // type code here for "relation_one" field
}, },
{
// type code here for "relation_one" field
message: 'Order approved by Org Admin.',
date: new Date('2023-10-04T12:00:00Z'),
// type code here for "relation_one" field
},
]; ];
const OrdersData = [ const OrdersData = [
@ -249,11 +319,15 @@ const OrdersData = [
requested_date: new Date('2023-10-01T09:00:00Z'), requested_date: new Date('2023-10-01T09:00:00Z'),
status: 'scheduled', status: 'delivered',
fee: 1500, fee: 1500,
// type code here for "relation_one" field // type code here for "relation_one" field
street_address: 'Claude Bernard',
Municipality: 'Dmitri Mendeleev',
}, },
{ {
@ -263,11 +337,15 @@ const OrdersData = [
requested_date: new Date('2023-10-02T10:00:00Z'), requested_date: new Date('2023-10-02T10:00:00Z'),
status: 'delivered', status: 'in_progress',
fee: 2000, fee: 2000,
// type code here for "relation_one" field // type code here for "relation_one" field
street_address: 'Johannes Kepler',
Municipality: 'Hans Selye',
}, },
{ {
@ -277,11 +355,33 @@ const OrdersData = [
requested_date: new Date('2023-10-03T11:00:00Z'), requested_date: new Date('2023-10-03T11:00:00Z'),
status: 'delivered', status: 'scheduled',
fee: 2500, fee: 2500,
// type code here for "relation_one" field // type code here for "relation_one" field
street_address: 'Hans Bethe',
Municipality: 'Emil Kraepelin',
},
{
// type code here for "relation_one" field
// type code here for "relation_one" field
requested_date: new Date('2023-10-04T12:00:00Z'),
status: 'declined',
fee: 1800,
// type code here for "relation_one" field
street_address: 'Alfred Kinsey',
Municipality: 'Louis Pasteur',
}, },
]; ];
@ -315,6 +415,16 @@ const PropertiesData = [
// type code here for "relation_one" field // type code here for "relation_one" field
}, },
{
address: '101 Elm St, Metropolis, USA',
property_type: 'Residential',
// type code here for "relation_many" field
// type code here for "relation_one" field
},
]; ];
const OrganizationsData = [ const OrganizationsData = [
@ -329,6 +439,10 @@ const OrganizationsData = [
{ {
name: 'Urban Appraisals', name: 'Urban Appraisals',
}, },
{
name: 'Metro Valuations',
},
]; ];
// Similar logic for "relation_many" // Similar logic for "relation_many"
@ -366,6 +480,17 @@ async function associateUserWithOrganization() {
if (User2?.setOrganization) { if (User2?.setOrganization) {
await User2.setOrganization(relatedOrganization2); await User2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const User3 = await Users.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (User3?.setOrganization) {
await User3.setOrganization(relatedOrganization3);
}
} }
async function associateActivityWithUser() { async function associateActivityWithUser() {
@ -401,6 +526,17 @@ async function associateActivityWithUser() {
if (Activity2?.setUser) { if (Activity2?.setUser) {
await Activity2.setUser(relatedUser2); await Activity2.setUser(relatedUser2);
} }
const relatedUser3 = await Users.findOne({
offset: Math.floor(Math.random() * (await Users.count())),
});
const Activity3 = await Activities.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Activity3?.setUser) {
await Activity3.setUser(relatedUser3);
}
} }
async function associateActivityWithOrganization() { async function associateActivityWithOrganization() {
@ -436,6 +572,17 @@ async function associateActivityWithOrganization() {
if (Activity2?.setOrganization) { if (Activity2?.setOrganization) {
await Activity2.setOrganization(relatedOrganization2); await Activity2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Activity3 = await Activities.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Activity3?.setOrganization) {
await Activity3.setOrganization(relatedOrganization3);
}
} }
async function associateAppraisalWithProperty() { async function associateAppraisalWithProperty() {
@ -471,6 +618,17 @@ async function associateAppraisalWithProperty() {
if (Appraisal2?.setProperty) { if (Appraisal2?.setProperty) {
await Appraisal2.setProperty(relatedProperty2); await Appraisal2.setProperty(relatedProperty2);
} }
const relatedProperty3 = await Properties.findOne({
offset: Math.floor(Math.random() * (await Properties.count())),
});
const Appraisal3 = await Appraisals.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Appraisal3?.setProperty) {
await Appraisal3.setProperty(relatedProperty3);
}
} }
async function associateAppraisalWithAppraiser() { async function associateAppraisalWithAppraiser() {
@ -506,6 +664,17 @@ async function associateAppraisalWithAppraiser() {
if (Appraisal2?.setAppraiser) { if (Appraisal2?.setAppraiser) {
await Appraisal2.setAppraiser(relatedAppraiser2); await Appraisal2.setAppraiser(relatedAppraiser2);
} }
const relatedAppraiser3 = await Users.findOne({
offset: Math.floor(Math.random() * (await Users.count())),
});
const Appraisal3 = await Appraisals.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Appraisal3?.setAppraiser) {
await Appraisal3.setAppraiser(relatedAppraiser3);
}
} }
async function associateAppraisalWithOrganization() { async function associateAppraisalWithOrganization() {
@ -541,6 +710,17 @@ async function associateAppraisalWithOrganization() {
if (Appraisal2?.setOrganization) { if (Appraisal2?.setOrganization) {
await Appraisal2.setOrganization(relatedOrganization2); await Appraisal2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Appraisal3 = await Appraisals.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Appraisal3?.setOrganization) {
await Appraisal3.setOrganization(relatedOrganization3);
}
} }
// Similar logic for "relation_many" // Similar logic for "relation_many"
@ -578,6 +758,17 @@ async function associateClientWithOrganization() {
if (Client2?.setOrganization) { if (Client2?.setOrganization) {
await Client2.setOrganization(relatedOrganization2); await Client2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Client3 = await Clients.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Client3?.setOrganization) {
await Client3.setOrganization(relatedOrganization3);
}
} }
async function associateInvoiceWithClient() { async function associateInvoiceWithClient() {
@ -613,6 +804,17 @@ async function associateInvoiceWithClient() {
if (Invoice2?.setClient) { if (Invoice2?.setClient) {
await Invoice2.setClient(relatedClient2); await Invoice2.setClient(relatedClient2);
} }
const relatedClient3 = await Clients.findOne({
offset: Math.floor(Math.random() * (await Clients.count())),
});
const Invoice3 = await Invoices.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Invoice3?.setClient) {
await Invoice3.setClient(relatedClient3);
}
} }
async function associateInvoiceWithOrganization() { async function associateInvoiceWithOrganization() {
@ -648,6 +850,17 @@ async function associateInvoiceWithOrganization() {
if (Invoice2?.setOrganization) { if (Invoice2?.setOrganization) {
await Invoice2.setOrganization(relatedOrganization2); await Invoice2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Invoice3 = await Invoices.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Invoice3?.setOrganization) {
await Invoice3.setOrganization(relatedOrganization3);
}
} }
async function associateMessageWithSender() { async function associateMessageWithSender() {
@ -683,6 +896,17 @@ async function associateMessageWithSender() {
if (Message2?.setSender) { if (Message2?.setSender) {
await Message2.setSender(relatedSender2); await Message2.setSender(relatedSender2);
} }
const relatedSender3 = await Users.findOne({
offset: Math.floor(Math.random() * (await Users.count())),
});
const Message3 = await Messages.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Message3?.setSender) {
await Message3.setSender(relatedSender3);
}
} }
async function associateMessageWithRecipient() { async function associateMessageWithRecipient() {
@ -718,6 +942,17 @@ async function associateMessageWithRecipient() {
if (Message2?.setRecipient) { if (Message2?.setRecipient) {
await Message2.setRecipient(relatedRecipient2); await Message2.setRecipient(relatedRecipient2);
} }
const relatedRecipient3 = await Users.findOne({
offset: Math.floor(Math.random() * (await Users.count())),
});
const Message3 = await Messages.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Message3?.setRecipient) {
await Message3.setRecipient(relatedRecipient3);
}
} }
async function associateMessageWithOrganization() { async function associateMessageWithOrganization() {
@ -753,6 +988,17 @@ async function associateMessageWithOrganization() {
if (Message2?.setOrganization) { if (Message2?.setOrganization) {
await Message2.setOrganization(relatedOrganization2); await Message2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Message3 = await Messages.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Message3?.setOrganization) {
await Message3.setOrganization(relatedOrganization3);
}
} }
async function associateNotificationWithUser() { async function associateNotificationWithUser() {
@ -788,6 +1034,17 @@ async function associateNotificationWithUser() {
if (Notification2?.setUser) { if (Notification2?.setUser) {
await Notification2.setUser(relatedUser2); await Notification2.setUser(relatedUser2);
} }
const relatedUser3 = await Users.findOne({
offset: Math.floor(Math.random() * (await Users.count())),
});
const Notification3 = await Notifications.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Notification3?.setUser) {
await Notification3.setUser(relatedUser3);
}
} }
async function associateNotificationWithOrganization() { async function associateNotificationWithOrganization() {
@ -823,6 +1080,17 @@ async function associateNotificationWithOrganization() {
if (Notification2?.setOrganization) { if (Notification2?.setOrganization) {
await Notification2.setOrganization(relatedOrganization2); await Notification2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Notification3 = await Notifications.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Notification3?.setOrganization) {
await Notification3.setOrganization(relatedOrganization3);
}
} }
async function associateOrderWithClient() { async function associateOrderWithClient() {
@ -858,6 +1126,17 @@ async function associateOrderWithClient() {
if (Order2?.setClient) { if (Order2?.setClient) {
await Order2.setClient(relatedClient2); await Order2.setClient(relatedClient2);
} }
const relatedClient3 = await Clients.findOne({
offset: Math.floor(Math.random() * (await Clients.count())),
});
const Order3 = await Orders.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Order3?.setClient) {
await Order3.setClient(relatedClient3);
}
} }
async function associateOrderWithProperty() { async function associateOrderWithProperty() {
@ -893,6 +1172,17 @@ async function associateOrderWithProperty() {
if (Order2?.setProperty) { if (Order2?.setProperty) {
await Order2.setProperty(relatedProperty2); await Order2.setProperty(relatedProperty2);
} }
const relatedProperty3 = await Properties.findOne({
offset: Math.floor(Math.random() * (await Properties.count())),
});
const Order3 = await Orders.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Order3?.setProperty) {
await Order3.setProperty(relatedProperty3);
}
} }
async function associateOrderWithOrganization() { async function associateOrderWithOrganization() {
@ -928,6 +1218,17 @@ async function associateOrderWithOrganization() {
if (Order2?.setOrganization) { if (Order2?.setOrganization) {
await Order2.setOrganization(relatedOrganization2); await Order2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Order3 = await Orders.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Order3?.setOrganization) {
await Order3.setOrganization(relatedOrganization3);
}
} }
// Similar logic for "relation_many" // Similar logic for "relation_many"
@ -965,6 +1266,17 @@ async function associatePropertyWithOrganization() {
if (Property2?.setOrganization) { if (Property2?.setOrganization) {
await Property2.setOrganization(relatedOrganization2); await Property2.setOrganization(relatedOrganization2);
} }
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Property3 = await Properties.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Property3?.setOrganization) {
await Property3.setOrganization(relatedOrganization3);
}
} }
module.exports = { module.exports = {

View File

@ -22,6 +22,13 @@ router.use(checkCrudPermissions('orders'));
* type: object * type: object
* properties: * properties:
* street_address:
* type: string
* default: street_address
* Municipality:
* type: string
* default: Municipality
* fee: * fee:
* type: integer * type: integer
* format: int64 * format: int64
@ -306,7 +313,14 @@ router.get(
currentUser, currentUser,
}); });
if (filetype && filetype === 'csv') { if (filetype && filetype === 'csv') {
const fields = ['id', 'fee', 'requested_date']; const fields = [
'id',
'street_address',
'Municipality',
'fee',
'requested_date',
];
const opts = { fields }; const opts = { fields };
try { try {
const csv = parse(payload.rows, opts); const csv = parse(payload.rows, opts);

View File

@ -51,6 +51,8 @@ module.exports = class SearchService {
notifications: ['message'], notifications: ['message'],
orders: ['street_address', 'Municipality'],
properties: ['address', 'property_type'], properties: ['address', 'property_type'],
organizations: ['name'], organizations: ['name'],

View File

@ -442,9 +442,9 @@ append-field@^1.0.0:
integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw== integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==
"aproba@^1.0.3 || ^2.0.0": "aproba@^1.0.3 || ^2.0.0":
version "2.0.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.1.0.tgz#75500a190313d95c64e871e7e4284c6ac219f0b1"
integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== integrity sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==
are-we-there-yet@^2.0.0: are-we-there-yet@^2.0.0:
version "2.0.0" version "2.0.0"
@ -1124,9 +1124,9 @@ destroy@1.2.0:
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
detect-libc@^2.0.0: detect-libc@^2.0.0:
version "2.0.3" version "2.1.0"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.0.tgz#3ca811f60a7b504b0480e5008adacc660b0b8c4f"
integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== integrity sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==
dicer@0.2.5: dicer@0.2.5:
version "0.2.5" version "0.2.5"
@ -3547,7 +3547,12 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.5, semver@^7.5.3, semver@^7.5.4: semver@^7.3.5:
version "7.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58"
integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
semver@^7.5.3, semver@^7.5.4:
version "7.6.3" version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==

View File

@ -44,4 +44,4 @@ services:
max-file: "3" max-file: "3"
depends_on: depends_on:
- db - db
command: ["bash", "./wait-for-it.sh", "db:5432", "--timeout=0", "--strict", "--", "bash", "./start- command: ["bash", "./wait-for-it.sh", "db:5432", "--timeout=0", "--strict", "--", "bash", "./start-backend.sh"]

7858
frontend/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
{
"pages": {
"dashboard": {
"pageTitle": "Dashboard",
"overview": "Overview",
"loadingWidgets": "Loading widgets...",
"loading": "Loading..."
},
"login": {
"pageTitle": "Login",
"form": {
"loginLabel": "Login",
"loginHelp": "Please enter your login",
"passwordLabel": "Password",
"passwordHelp": "Please enter your password",
"remember": "Remember",
"forgotPassword": "Forgot password?",
"loginButton": "Login",
"loading": "Loading...",
"noAccountYet": "Dont have an account yet?",
"newAccount": "New Account"
},
"pexels": {
"photoCredit": "Photo by {{photographer}} on Pexels",
"videoCredit": "Video by {{name}} on Pexels",
"videoUnsupported": "Your browser does not support the video tag."
},
"footer": {
"copyright": "© {{year}} {{title}}. All rights reserved",
"privacy": "Privacy Policy"
}
}
},
"components": {
"widgetCreator": {
"title": "Create Chart or Widget",
"helpText": "Describe your new widget or chart in natural language. For example: \"Number of admin users\" OR \"red chart with number of closed contracts grouped by month\"",
"settingsTitle": "Widget Creator Settings",
"settingsDescription": "What role are we showing and creating widgets for?",
"doneButton": "Done",
"loading": "Loading..."
},
"search": {
"placeholder": "Search",
"required": "Required",
"minLength": "Minimum length: {{count}} characters"
}
}
}

View File

@ -16,8 +16,8 @@ export default function FooterBar({ children }: Props) {
<div className='text-center md:text-left mb-6 md:mb-0'> <div className='text-center md:text-left mb-6 md:mb-0'>
<b> <b>
&copy;{year},{` `} &copy;{year},{` `}
<a href='https://flatlogic.com/' rel='noreferrer' target='_blank'> <a href='https://flatlogic.com/logo.svg' rel='noreferrer' target='_blank'>
Flatlogic Veracity Real Estate Solutions
</a> </a>
. .
</b> </b>
@ -26,8 +26,7 @@ export default function FooterBar({ children }: Props) {
</div> </div>
<div className='flex item-center md:py-2 gap-4'> <div className='flex item-center md:py-2 gap-4'>
<LanguageSwitcher /> <a href='https://veracityres.com/' rel='noreferrer' target='_blank'>
<a href='https://flatlogic.com/' rel='noreferrer' target='_blank'>
<Logo className='w-auto h-8 md:h-6 mx-auto' /> <Logo className='w-auto h-8 md:h-6 mx-auto' />
</a> </a>
</div> </div>

View File

@ -7,9 +7,9 @@ type Props = {
export default function Logo({ className = '' }: Props) { export default function Logo({ className = '' }: Props) {
return ( return (
<img <img
src={'https://flatlogic.com/logo.svg'} src={'https://veracityres.com/wp-content/uploads/2024/08/VRES_logo_blk-red-tr.png'}
className={className} className={className}
alt={'Flatlogic logo'} alt={'VRES logo'}
></img> ></img>
); );
} }

View File

@ -126,6 +126,28 @@ const CardOrders = ({
<div className='font-medium line-clamp-4'>{item.fee}</div> <div className='font-medium line-clamp-4'>{item.fee}</div>
</dd> </dd>
</div> </div>
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>
Street Address
</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{item.street_address}
</div>
</dd>
</div>
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>
Municipality
</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{item.Municipality}
</div>
</dd>
</div>
</dl> </dl>
</li> </li>
))} ))}

View File

@ -87,6 +87,18 @@ const ListOrders = ({
<p className={'text-xs text-gray-500 '}>Fee</p> <p className={'text-xs text-gray-500 '}>Fee</p>
<p className={'line-clamp-2'}>{item.fee}</p> <p className={'line-clamp-2'}>{item.fee}</p>
</div> </div>
<div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>
Street Address
</p>
<p className={'line-clamp-2'}>{item.street_address}</p>
</div>
<div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Municipality</p>
<p className={'line-clamp-2'}>{item.Municipality}</p>
</div>
</Link> </Link>
<ListActionsPopover <ListActionsPopover
onDelete={onDelete} onDelete={onDelete}

View File

@ -20,8 +20,6 @@ import _ from 'lodash';
import dataFormatter from '../../helpers/dataFormatter'; import dataFormatter from '../../helpers/dataFormatter';
import { dataGridStyles } from '../../styles'; import { dataGridStyles } from '../../styles';
import ListOrders from './ListOrders';
const perPage = 10; const perPage = 10;
const TableSampleOrders = ({ const TableSampleOrders = ({
@ -466,16 +464,7 @@ const TableSampleOrders = ({
<p>Are you sure you want to delete this item?</p> <p>Are you sure you want to delete this item?</p>
</CardBoxModal> </CardBoxModal>
{orders && Array.isArray(orders) && !showGrid && ( {dataGrid}
<ListOrders
orders={orders}
loading={loading}
onDelete={handleDeleteModalAction}
currentPage={currentPage}
numPages={numPages}
onPageChange={onPageChange}
/>
)}
{showGrid && dataGrid} {showGrid && dataGrid}

View File

@ -120,6 +120,30 @@ export const loadColumns = async (
type: 'number', type: 'number',
}, },
{
field: 'street_address',
headerName: 'Street Address',
flex: 1,
minWidth: 120,
filterable: false,
headerClassName: 'datagrid--header',
cellClassName: 'datagrid--cell',
editable: hasUpdatePermission,
},
{
field: 'Municipality',
headerName: 'Municipality',
flex: 1,
minWidth: 120,
filterable: false,
headerClassName: 'datagrid--header',
cellClassName: 'datagrid--cell',
editable: hasUpdatePermission,
},
{ {
field: 'actions', field: 'actions',
type: 'actions', type: 'actions',

View File

@ -14,7 +14,7 @@
} }
.bg-blue-600 { .bg-blue-600 {
@apply bg-pavitra-800; @apply bg-pavitra-600;
} }
.border-blue-700 { .border-blue-700 {
@ -69,7 +69,7 @@
} }
.text-blue-600 { .text-blue-600 {
@apply text-pavitra-900; @apply text-pavitra-600;
} }
.checkbox input[type='checkbox']:checked + .check, .checkbox input[type='checkbox']:checked + .check,
@ -92,14 +92,14 @@
} }
.text-blue-500 { .text-blue-500 {
@apply text-pavitra-800; @apply text-pavitra-500;
} }
.hover\:text-blue-600:hover { .hover\:text-blue-600:hover {
@apply text-pavitra-800; @apply text-pavitra-600;
} }
.active\:text-blue-700:active { .active\:text-blue-700:active {
@apply text-pavitra-800; @apply text-pavitra-700;
} }
} }

View File

@ -6,7 +6,12 @@ export async function getPexelsImage() {
return response.data; return response.data;
} catch (error) { } catch (error) {
console.error('Error fetching image:', error); console.error('Error fetching image:', error);
return null; // Return fallback data when backend is not available
return {
src: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZGRkIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxOCIgZmlsbD0iIzk5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPkltYWdlIE5vdCBBdmFpbGFibGU8L3RleHQ+PC9zdmc+',
photographer: 'Placeholder',
photographer_url: '#'
};
} }
} }
@ -16,7 +21,11 @@ export async function getPexelsVideo() {
return response.data; return response.data;
} catch (error) { } catch (error) {
console.error('Error fetching video:', error); console.error('Error fetching video:', error);
return null; // Return fallback data when backend is not available
return {
src: '',
name: 'Video Not Available'
};
} }
} }
@ -63,7 +72,19 @@ export async function getMultiplePexelsImages(
localStorage.setItem('pexelsImagesCache', JSON.stringify(cachedImages)); localStorage.setItem('pexelsImagesCache', JSON.stringify(cachedImages));
} catch (error) { } catch (error) {
console.error(error); console.error('Error fetching multiple images:', error);
// Provide fallback images when backend is not available
missingQueries.forEach((query) => {
const normalizedQuery = normalizeQuery(query);
if (!cachedImages[normalizedQuery]) {
cachedImages[normalizedQuery] = {
src: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZGRkIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxOCIgZmlsbD0iIzk5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPkltYWdlIE5vdCBBdmFpbGFibGU8L3RleHQ+PC9zdmc+',
photographer: 'Placeholder',
photographer_url: '#'
};
}
});
localStorage.setItem('pexelsImagesCache', JSON.stringify(cachedImages));
} }
} }

View File

@ -99,6 +99,7 @@ export default function LayoutAuthenticated({
isAsideMobileExpanded ? 'ml-60 lg:ml-0' : '' isAsideMobileExpanded ? 'ml-60 lg:ml-0' : ''
}`} }`}
> >
<>
<NavBarItemPlain <NavBarItemPlain
display='flex lg:hidden' display='flex lg:hidden'
onClick={() => setIsAsideMobileExpanded(!isAsideMobileExpanded)} onClick={() => setIsAsideMobileExpanded(!isAsideMobileExpanded)}
@ -117,6 +118,7 @@ export default function LayoutAuthenticated({
<NavBarItemPlain useMargin> <NavBarItemPlain useMargin>
<Search /> <Search />
</NavBarItemPlain> </NavBarItemPlain>
</>
</NavBar> </NavBar>
<AsideMenu <AsideMenu
isAsideMobileExpanded={isAsideMobileExpanded} isAsideMobileExpanded={isAsideMobileExpanded}
@ -125,7 +127,7 @@ export default function LayoutAuthenticated({
onAsideLgClose={() => setIsAsideLgActive(false)} onAsideLgClose={() => setIsAsideLgActive(false)}
/> />
{children} {children}
<FooterBar>Hand-crafted & Made with </FooterBar> <FooterBar>Hand-crafted by Lora</FooterBar>
</div> </div>
</div> </div>
); );

View File

@ -83,6 +83,10 @@ const ClientsView = () => {
<th>Status</th> <th>Status</th>
<th>Fee</th> <th>Fee</th>
<th>Street Address</th>
<th>Municipality</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -104,6 +108,12 @@ const ClientsView = () => {
<td data-label='status'>{item.status}</td> <td data-label='status'>{item.status}</td>
<td data-label='fee'>{item.fee}</td> <td data-label='fee'>{item.fee}</td>
<td data-label='street_address'>
{item.street_address}
</td>
<td data-label='Municipality'>{item.Municipality}</td>
</tr> </tr>
))} ))}
</tbody> </tbody>
@ -185,6 +195,10 @@ const ClientsView = () => {
<th>Status</th> <th>Status</th>
<th>Fee</th> <th>Fee</th>
<th>Street Address</th>
<th>Municipality</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -206,6 +220,12 @@ const ClientsView = () => {
<td data-label='status'>{item.status}</td> <td data-label='status'>{item.status}</td>
<td data-label='fee'>{item.fee}</td> <td data-label='fee'>{item.fee}</td>
<td data-label='street_address'>
{item.street_address}
</td>
<td data-label='Municipality'>{item.Municipality}</td>
</tr> </tr>
))} ))}
</tbody> </tbody>

View File

@ -10,6 +10,7 @@ import BaseIcon from '../components/BaseIcon';
import { getPageTitle } from '../config'; import { getPageTitle } from '../config';
import Link from 'next/link'; import Link from 'next/link';
import { useTranslation } from 'next-i18next'; import { useTranslation } from 'next-i18next';
import TableOrders from '../components/Orders/TableOrders';
import { hasPermission } from '../helpers/userPermissions'; import { hasPermission } from '../helpers/userPermissions';
import { fetchWidgets } from '../stores/roles/rolesSlice'; import { fetchWidgets } from '../stores/roles/rolesSlice';
@ -137,6 +138,13 @@ const Dashboard = () => {
> >
{''} {''}
</SectionTitleLineWithButton> </SectionTitleLineWithButton>
{/* Welcome message under page title */}
{currentUser?.first_name && (
<p className="text-lg font-medium mt-2 mb-6">
Welcome to VRES, {currentUser.first_name}!
</p>
)}
{hasPermission(currentUser, 'CREATE_ROLES') && ( {hasPermission(currentUser, 'CREATE_ROLES') && (
<WidgetCreator <WidgetCreator
@ -612,6 +620,7 @@ const Dashboard = () => {
)} )}
</div> </div>
</SectionMain> </SectionMain>
<TableOrders filterStatus="open" />
</> </>
); );
}; };

View File

@ -12,8 +12,10 @@ import { getPageTitle } from '../config';
import { useAppSelector } from '../stores/hooks'; import { useAppSelector } from '../stores/hooks';
import CardBoxComponentTitle from '../components/CardBoxComponentTitle'; import CardBoxComponentTitle from '../components/CardBoxComponentTitle';
import { getPexelsImage, getPexelsVideo } from '../helpers/pexels'; import { getPexelsImage, getPexelsVideo } from '../helpers/pexels';
import { useTranslation } from 'react-i18next';
export default function Starter() { export default function Starter() {
const { t } = useTranslation('common');
const [illustrationImage, setIllustrationImage] = useState({ const [illustrationImage, setIllustrationImage] = useState({
src: undefined, src: undefined,
photographer: undefined, photographer: undefined,
@ -129,29 +131,7 @@ export default function Starter() {
: null} : null}
<div className='flex items-center justify-center flex-col space-y-4 w-full lg:w-full'> <div className='flex items-center justify-center flex-col space-y-4 w-full lg:w-full'>
<CardBox className='w-full md:w-3/5 lg:w-2/3'> <CardBox className='w-full md:w-3/5 lg:w-2/3'>
<CardBoxComponentTitle title='Welcome to your VRES app!' /> <CardBoxComponentTitle title='Welcome to Veracity RES Appraisal Management System' />
<div className='space-y-3'>
<p className='text-center text-gray-500'>
This is a React.js/Node.js app generated by the{' '}
<a
className={`${textColor}`}
href='https://flatlogic.com/generator'
>
Flatlogic Web App Generator
</a>
</p>
<p className='text-center text-gray-500'>
For guides and documentation please check your local README.md
and the{' '}
<a
className={`${textColor}`}
href='https://flatlogic.com/documentation'
>
Flatlogic documentation
</a>
</p>
</div>
<BaseButtons> <BaseButtons>
<BaseButton <BaseButton
@ -161,42 +141,20 @@ export default function Starter() {
className='w-full' className='w-full'
/> />
</BaseButtons> </BaseButtons>
<div className='grid grid-cols-1 gap-2 lg:grid-cols-4 mt-2'>
<div className='text-center'>
<a className={`${textColor}`} href='https://react.dev/'>
React.js
</a>
</div>
<div className='text-center'>
<a className={`${textColor}`} href='https://tailwindcss.com/'>
Tailwind CSS
</a>
</div>
<div className='text-center'>
<a className={`${textColor}`} href='https://nodejs.org/en'>
Node.js
</a>
</div>
<div className='text-center'>
<a
className={`${textColor}`}
href='https://flatlogic.com/forum'
>
Flatlogic Forum
</a>
</div>
</div>
</CardBox> </CardBox>
</div> </div>
</div> </div>
</SectionFullScreen> </SectionFullScreen>
<div className='bg-black text-white flex flex-col text-center justify-center md:flex-row'> <div className='bg-gray text-white flex flex-col text-center justify-center md:flex-row'>
<p className='py-6 text-sm'> <p className='py-6 text-sm'>
© 2024 <span>{title}</span>. All rights reserved {t('pages.login.footer.copyright', {
year: new Date().getFullYear(),
title: title,
defaultValue: '© {{year}} {{title}}. All rights reserved',
})}
</p> </p>
<Link className='py-6 ml-4 text-sm' href='/privacy-policy/'> <Link className='py-6 ml-4 text-sm' href='/privacy-policy/'>
Privacy Policy {t('pages.login.footer.privacy', { defaultValue: 'Privacy Policy' })}
</Link> </Link>
</div> </div>
</div> </div>

View File

@ -361,9 +361,10 @@ export default function Login() {
</SectionFullScreen> </SectionFullScreen>
<div className='bg-black text-white flex flex-col text-center justify-center md:flex-row'> <div className='bg-black text-white flex flex-col text-center justify-center md:flex-row'>
<p className='py-6 text-sm'> <p className='py-6 text-sm'>
© 2024 <span>{title}</span>.{' '}
{t('pages.login.footer.copyright', { {t('pages.login.footer.copyright', {
defaultValue: '© All rights reserved', year: new Date().getFullYear(),
title: title,
defaultValue: '© {{year}} {{title}}. All rights reserved',
})} })}
</p> </p>
<Link className='py-6 ml-4 text-sm' href='/privacy-policy/'> <Link className='py-6 ml-4 text-sm' href='/privacy-policy/'>

View File

@ -49,6 +49,10 @@ const EditOrders = () => {
fee: '', fee: '',
organizations: null, organizations: null,
street_address: '',
Municipality: '',
}; };
const [initialValues, setInitialValues] = useState(initVals); const [initialValues, setInitialValues] = useState(initVals);
@ -177,6 +181,14 @@ const EditOrders = () => {
></Field> ></Field>
</FormField> </FormField>
<FormField label='Street Address'>
<Field name='street_address' placeholder='Street Address' />
</FormField>
<FormField label='Municipality'>
<Field name='Municipality' placeholder='Municipality' />
</FormField>
<BaseDivider /> <BaseDivider />
<BaseButtons> <BaseButtons>
<BaseButton type='submit' color='info' label='Submit' /> <BaseButton type='submit' color='info' label='Submit' />

View File

@ -49,6 +49,10 @@ const EditOrdersPage = () => {
fee: '', fee: '',
organizations: null, organizations: null,
street_address: '',
Municipality: '',
}; };
const [initialValues, setInitialValues] = useState(initVals); const [initialValues, setInitialValues] = useState(initVals);
@ -175,6 +179,14 @@ const EditOrdersPage = () => {
></Field> ></Field>
</FormField> </FormField>
<FormField label='Street Address'>
<Field name='street_address' placeholder='Street Address' />
</FormField>
<FormField label='Municipality'>
<Field name='Municipality' placeholder='Municipality' />
</FormField>
<BaseDivider /> <BaseDivider />
<BaseButtons> <BaseButtons>
<BaseButton type='submit' color='info' label='Submit' /> <BaseButton type='submit' color='info' label='Submit' />

View File

@ -29,6 +29,9 @@ const OrdersTablesPage = () => {
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const [filters] = useState([ const [filters] = useState([
{ label: 'Street Address', title: 'street_address' },
{ label: 'Municipality', title: 'Municipality' },
{ label: 'Fee', title: 'fee', number: 'true' }, { label: 'Fee', title: 'fee', number: 'true' },
{ label: 'RequestedDate', title: 'requested_date', date: 'true' }, { label: 'RequestedDate', title: 'requested_date', date: 'true' },

View File

@ -44,6 +44,10 @@ const initialValues = {
fee: '', fee: '',
organizations: '', organizations: '',
street_address: '',
Municipality: '',
}; };
const OrdersNew = () => { const OrdersNew = () => {
@ -133,6 +137,14 @@ const OrdersNew = () => {
></Field> ></Field>
</FormField> </FormField>
<FormField label='Street Address'>
<Field name='street_address' placeholder='Street Address' />
</FormField>
<FormField label='Municipality'>
<Field name='Municipality' placeholder='Municipality' />
</FormField>
<BaseDivider /> <BaseDivider />
<BaseButtons> <BaseButtons>
<BaseButton type='submit' color='info' label='Submit' /> <BaseButton type='submit' color='info' label='Submit' />

View File

@ -29,6 +29,9 @@ const OrdersTablesPage = () => {
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const [filters] = useState([ const [filters] = useState([
{ label: 'Street Address', title: 'street_address' },
{ label: 'Municipality', title: 'Municipality' },
{ label: 'Fee', title: 'fee', number: 'true' }, { label: 'Fee', title: 'fee', number: 'true' },
{ label: 'RequestedDate', title: 'requested_date', date: 'true' }, { label: 'RequestedDate', title: 'requested_date', date: 'true' },
@ -144,7 +147,7 @@ const OrdersTablesPage = () => {
<div id='delete-rows-button'></div> <div id='delete-rows-button'></div>
<Link href={'/orders/orders-list'}> <Link href={'/orders/orders-list'}>
Back to <span className='capitalize'>list</span> Back to <span className='capitalize'></span>
</Link> </Link>
</div> </div>
</CardBox> </CardBox>

View File

@ -105,6 +105,16 @@ const OrdersView = () => {
<p>{orders?.organizations?.name ?? 'No data'}</p> <p>{orders?.organizations?.name ?? 'No data'}</p>
</div> </div>
<div className={'mb-4'}>
<p className={'block font-bold mb-2'}>Street Address</p>
<p>{orders?.street_address}</p>
</div>
<div className={'mb-4'}>
<p className={'block font-bold mb-2'}>Municipality</p>
<p>{orders?.Municipality}</p>
</div>
<BaseDivider /> <BaseDivider />
<BaseButton <BaseButton

View File

@ -417,6 +417,10 @@ const OrganizationsView = () => {
<th>Status</th> <th>Status</th>
<th>Fee</th> <th>Fee</th>
<th>Street Address</th>
<th>Municipality</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -438,6 +442,12 @@ const OrganizationsView = () => {
<td data-label='status'>{item.status}</td> <td data-label='status'>{item.status}</td>
<td data-label='fee'>{item.fee}</td> <td data-label='fee'>{item.fee}</td>
<td data-label='street_address'>
{item.street_address}
</td>
<td data-label='Municipality'>{item.Municipality}</td>
</tr> </tr>
))} ))}
</tbody> </tbody>

View File

@ -203,6 +203,10 @@ const PropertiesView = () => {
<th>Status</th> <th>Status</th>
<th>Fee</th> <th>Fee</th>
<th>Street Address</th>
<th>Municipality</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -224,6 +228,12 @@ const PropertiesView = () => {
<td data-label='status'>{item.status}</td> <td data-label='status'>{item.status}</td>
<td data-label='fee'>{item.fee}</td> <td data-label='fee'>{item.fee}</td>
<td data-label='street_address'>
{item.street_address}
</td>
<td data-label='Municipality'>{item.Municipality}</td>
</tr> </tr>
))} ))}
</tbody> </tbody>

View File

@ -32,19 +32,19 @@ export const white: StyleObject = {
'text-gray-700 hover:bg-gray-100/70 dark:text-dark-500 dark:hover:text-white dark:hover:bg-dark-800', 'text-gray-700 hover:bg-gray-100/70 dark:text-dark-500 dark:hover:text-white dark:hover:bg-dark-800',
asideMenuItemActive: 'font-bold text-black dark:text-white', asideMenuItemActive: 'font-bold text-black dark:text-white',
asideMenuDropdown: 'bg-gray-100/75', asideMenuDropdown: 'bg-gray-100/75',
navBarItemLabel: 'text-blue-600', navBarItemLabel: 'text-pavitra-600',
navBarItemLabelHover: 'hover:text-black', navBarItemLabelHover: 'hover:text-black',
navBarItemLabelActiveColor: 'text-black', navBarItemLabelActiveColor: 'text-black',
overlay: 'from-white via-gray-100 to-white', overlay: 'from-white via-gray-100 to-white',
activeLinkColor: 'bg-gray-100/70', activeLinkColor: 'bg-gray-100/70',
bgLayoutColor: 'bg-gray-50', bgLayoutColor: 'bg-gray-50',
iconsColor: 'text-blue-500', iconsColor: 'text-pavitra-600',
cardsColor: 'bg-white', cardsColor: 'bg-white',
focusRingColor: focusRingColor:
'focus:ring focus:ring-blue-600 focus:border-blue-600 focus:outline-none border-gray-300 dark:focus:ring-blue-600 dark:focus:border-blue-600', 'focus:ring focus:ring-pavitra-600 focus:border-pavitra-600 focus:outline-none border-gray-300 dark:focus:ring-blue-600 dark:focus:border-blue-600',
corners: 'rounded', corners: 'rounded',
cardsStyle: 'bg-white border border-pavitra-400', cardsStyle: 'bg-white border border-pavitra-400',
linkColor: 'text-blue-600', linkColor: 'text-pavitra-600',
websiteHeder: 'border-b border-gray-200', websiteHeder: 'border-b border-gray-200',
borders: 'border-gray-200', borders: 'border-gray-200',
shadow: '', shadow: '',
@ -56,14 +56,14 @@ export const pastelEmeraldTheme: StyleObject = {
aside: aside:
'bg-pastelEmeraldTheme-800 text-pastelEmeraldTheme-text dark:text-white lg:rounded-lg', 'bg-pastelEmeraldTheme-800 text-pastelEmeraldTheme-text dark:text-white lg:rounded-lg',
asideScrollbars: 'aside-scrollbars-blue', asideScrollbars: 'aside-scrollbars-blue',
asideBrand: 'text-blue-500 bg-white', asideBrand: 'text-pavitra-500 bg-white',
asideMenuItem: asideMenuItem:
'text-pastelEmeraldTheme-text hover:text-white dark:text-dark-500 dark:hover:text-white dark:hover:bg-dark-800 dark:text-white', 'text-pastelEmeraldTheme-text hover:text-white dark:text-dark-500 dark:hover:text-white dark:hover:bg-dark-800 dark:text-white',
asideMenuItemActive: 'font-bold text-white dark:text-white', asideMenuItemActive: 'font-bold text-white dark:text-white',
activeLinkColor: 'bg-pastelEmeraldTheme-buttonColor rounded-lg', activeLinkColor: 'bg-pastelEmeraldTheme-buttonColor rounded-lg',
asideMenuDropdown: 'bg-blue-700/50', asideMenuDropdown: 'bg-pavitra-700/50',
navBarItemLabel: 'text-primaryText', navBarItemLabel: 'text-primaryText',
iconsColor: 'text-pastelEmeraldTheme-iconsColor dark:text-blue-500', iconsColor: 'text-pastelEmeraldTheme-iconsColor dark:text-pavitra-600',
navBarItemLabelHover: 'hover:text-stone-400', navBarItemLabelHover: 'hover:text-stone-400',
navBarItemLabelActiveColor: 'text-pastelEmeraldTheme-800', navBarItemLabelActiveColor: 'text-pastelEmeraldTheme-800',
overlay: 'bg-pastelEmeraldTheme-mainBG', overlay: 'bg-pastelEmeraldTheme-mainBG',
@ -115,15 +115,15 @@ export const basic: StyleObject = {
asideMenuItemActive: 'font-bold text-white', asideMenuItemActive: 'font-bold text-white',
asideMenuDropdown: 'bg-gray-700/50', asideMenuDropdown: 'bg-gray-700/50',
navBarItemLabel: 'text-black', navBarItemLabel: 'text-black',
navBarItemLabelHover: 'hover:text-blue-500', navBarItemLabelHover: 'hover:text-pavitra-500',
navBarItemLabelActiveColor: 'text-blue-600', navBarItemLabelActiveColor: 'text-pavitra-600',
overlay: 'from-gray-700 via-gray-900 to-gray-700', overlay: 'from-gray-700 via-gray-900 to-gray-700',
activeLinkColor: 'bg-gray-100/70', activeLinkColor: 'bg-gray-100/70',
bgLayoutColor: 'bg-gray-50', bgLayoutColor: 'bg-gray-50',
iconsColor: 'text-blue-500', iconsColor: 'text-pavitra-600',
cardsColor: 'bg-white', cardsColor: 'bg-white',
focusRingColor: focusRingColor:
'focus:ring focus:ring-blue-600 focus:border-blue-600 focus:outline-none dark:focus:ring-blue-600 border-gray-300 dark:focus:border-blue-600', 'focus:ring focus:ring-pavitra-600 focus:border-pavitra-600 focus:outline-none dark:focus:ring-blue-600 border-gray-300 dark:focus:border-blue-600',
corners: 'rounded', corners: 'rounded',
cardsStyle: 'bg-white border border-pavitra-400', cardsStyle: 'bg-white border border-pavitra-400',
linkColor: 'text-black', linkColor: 'text-black',

View File

@ -51,24 +51,24 @@ module.exports = {
text: '#45B26B', text: '#45B26B',
}, },
pavitra: { pavitra: {
blue: '#0162FD', blue: '#244E5E',
green: '#00B448', green: '#00B448',
orange: '#FFAA00', orange: '#FFAA00',
red: '#F20041', red: '#BD021E',
900: '#14142A', 900: '#141F2A',
800: '#4E4B66', 800: '#4b5b66',
700: '#6E7191', 700: '#5e7785',
600: '#A0A3BD', 600: '#244E5E',
500: '#D9DBE9', 500: '#B8C8D4',
400: '#EFF0F6', 400: '#EFF3F6',
300: '#F7F7FC', 300: '#F7FAFC',
}, },
pastelEmeraldTheme: { pastelEmeraldTheme: {
text: '#515564', text: '#515564',
iconsColor: '#030A0D', iconsColor: '#244E5E',
mainBG: '#DFECF2', mainBG: '#FFFFFF',
buttonColor: '#030A0D', buttonColor: '#244E5E',
outsideCardColor: '#D0E1E9', outsideCardColor: '#D0E1E9',
cardColor: '#DFECF2', cardColor: '#DFECF2',
webSiteComponentBg: '#030A0D', webSiteComponentBg: '#030A0D',

View File

@ -60,12 +60,10 @@
core-js-pure "^3.20.2" core-js-pure "^3.20.2"
regenerator-runtime "^0.13.4" regenerator-runtime "^0.13.4"
"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.26.0", "@babel/runtime@^7.27.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.26.0" version "7.28.4"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz"
integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
dependencies:
regenerator-runtime "^0.14.0"
"@babel/template@^7.25.9": "@babel/template@^7.25.9":
version "7.25.9" version "7.25.9"
@ -263,6 +261,23 @@
resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@img/colour@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz"
integrity sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==
"@img/sharp-libvips-linux-x64@1.2.3":
version "1.2.3"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz"
integrity sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==
"@img/sharp-linux-x64@0.34.4":
version "0.34.4"
resolved "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz"
integrity sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==
optionalDependencies:
"@img/sharp-libvips-linux-x64" "1.2.3"
"@isaacs/cliui@^8.0.2": "@isaacs/cliui@^8.0.2":
version "8.0.2" version "8.0.2"
resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz"
@ -317,68 +332,70 @@
resolved "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz" resolved "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz"
integrity sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ== integrity sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==
"@mui/core-downloads-tracker@^5.16.13": "@mui/core-downloads-tracker@^6.5.0":
version "5.16.13" version "6.5.0"
resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.13.tgz" resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.5.0.tgz"
integrity sha512-xe5RwI0Q2O709Bd2Y7l1W1NIwNmln0y+xaGk5VgX3vDJbkQEqzdfTFZ73e0CkEZgJwyiWgk5HY0l8R4nysOxjw== integrity sha512-LGb8t8i6M2ZtS3Drn3GbTI1DVhDY6FJ9crEey2lZ0aN2EMZo8IZBZj9wRf4vqbZHaWjsYgtbOnJw5V8UWbmK2Q==
"@mui/material@^5.15.7": "@mui/material@^6.3.0":
version "5.16.13" version "6.5.0"
resolved "https://registry.npmjs.org/@mui/material/-/material-5.16.13.tgz" resolved "https://registry.npmjs.org/@mui/material/-/material-6.5.0.tgz"
integrity sha512-FhLDkDPYDzvrWCHFsdXzRArhS4AdYufU8d69rmLL+bwhodPcbm2C7cS8Gq5VR32PsW6aKZb58gvAgvEVaiiJbA== integrity sha512-yjvtXoFcrPLGtgKRxFaH6OQPtcLPhkloC0BML6rBG5UeldR0nPULR/2E2BfXdo5JNV7j7lOzrrLX2Qf/iSidow==
dependencies: dependencies:
"@babel/runtime" "^7.23.9" "@babel/runtime" "^7.26.0"
"@mui/core-downloads-tracker" "^5.16.13" "@mui/core-downloads-tracker" "^6.5.0"
"@mui/system" "^5.16.13" "@mui/system" "^6.5.0"
"@mui/types" "^7.2.15" "@mui/types" "~7.2.24"
"@mui/utils" "^5.16.13" "@mui/utils" "^6.4.9"
"@popperjs/core" "^2.11.8" "@popperjs/core" "^2.11.8"
"@types/react-transition-group" "^4.4.10" "@types/react-transition-group" "^4.4.12"
clsx "^2.1.0" clsx "^2.1.1"
csstype "^3.1.3" csstype "^3.1.3"
prop-types "^15.8.1" prop-types "^15.8.1"
react-is "^19.0.0" react-is "^19.0.0"
react-transition-group "^4.4.5" react-transition-group "^4.4.5"
"@mui/private-theming@^5.16.13": "@mui/private-theming@^6.4.9":
version "5.16.13" version "6.4.9"
resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.13.tgz" resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.9.tgz"
integrity sha512-+s0FklvDvO7j0yBZn19DIIT3rLfub2fWvXGtMX49rG/xHfDFcP7fbWbZKHZMMP/2/IoTRDrZCbY1iP0xZlmuJA== integrity sha512-LktcVmI5X17/Q5SkwjCcdOLBzt1hXuc14jYa7NPShog0GBDCDvKtcnP0V7a2s6EiVRlv7BzbWEJzH6+l/zaCxw==
dependencies: dependencies:
"@babel/runtime" "^7.23.9" "@babel/runtime" "^7.26.0"
"@mui/utils" "^5.16.13" "@mui/utils" "^6.4.9"
prop-types "^15.8.1" prop-types "^15.8.1"
"@mui/styled-engine@^5.16.13": "@mui/styled-engine@^6.5.0":
version "5.16.13" version "6.5.0"
resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.13.tgz" resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.5.0.tgz"
integrity sha512-2XNHEG8/o1ucSLhTA9J+HIIXjzlnEc0OV7kneeUQ5JukErPYT2zc6KYBDLjlKWrzQyvnQzbiffjjspgHUColZg== integrity sha512-8woC2zAqF4qUDSPIBZ8v3sakj+WgweolpyM/FXf8jAx6FMls+IE4Y8VDZc+zS805J7PRz31vz73n2SovKGaYgw==
dependencies: dependencies:
"@babel/runtime" "^7.23.9" "@babel/runtime" "^7.26.0"
"@emotion/cache" "^11.13.5" "@emotion/cache" "^11.13.5"
"@emotion/serialize" "^1.3.3"
"@emotion/sheet" "^1.4.0"
csstype "^3.1.3" csstype "^3.1.3"
prop-types "^15.8.1" prop-types "^15.8.1"
"@mui/system@^5.16.13": "@mui/system@^6.5.0":
version "5.16.13" version "6.5.0"
resolved "https://registry.npmjs.org/@mui/system/-/system-5.16.13.tgz" resolved "https://registry.npmjs.org/@mui/system/-/system-6.5.0.tgz"
integrity sha512-JnO3VH3yNoAmgyr44/2jiS1tcNwshwAqAaG5fTEEjHQbkuZT/mvPYj2GC1cON0zEQ5V03xrCNl/D+gU9AXibpw== integrity sha512-XcbBYxDS+h/lgsoGe78ExXFZXtuIlSBpn/KsZq8PtZcIkUNJInkuDqcLd2rVBQrDC1u+rvVovdaWPf2FHKJf3w==
dependencies: dependencies:
"@babel/runtime" "^7.23.9" "@babel/runtime" "^7.26.0"
"@mui/private-theming" "^5.16.13" "@mui/private-theming" "^6.4.9"
"@mui/styled-engine" "^5.16.13" "@mui/styled-engine" "^6.5.0"
"@mui/types" "^7.2.15" "@mui/types" "~7.2.24"
"@mui/utils" "^5.16.13" "@mui/utils" "^6.4.9"
clsx "^2.1.0" clsx "^2.1.1"
csstype "^3.1.3" csstype "^3.1.3"
prop-types "^15.8.1" prop-types "^15.8.1"
"@mui/types@^7.2.15": "@mui/types@^7.2.15", "@mui/types@~7.2.24":
version "7.2.20" version "7.2.24"
resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.20.tgz" resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz"
integrity sha512-straFHD7L8v05l/N5vcWk+y7eL9JF0C2mtph/y4BPm3gn2Eh61dDwDB65pa8DLss3WJfDXYC7Kx5yjP0EmXpgw== integrity sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==
"@mui/utils@^5.14.16", "@mui/utils@^5.16.13": "@mui/utils@^5.14.16":
version "5.16.13" version "5.16.13"
resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.16.13.tgz" resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.16.13.tgz"
integrity sha512-35kLiShnDPByk57Mz4PP66fQUodCFiOD92HfpW6dK9lc7kjhZsKHRKeYPgWuwEHeXwYsCSFtBCW4RZh/8WT+TQ== integrity sha512-35kLiShnDPByk57Mz4PP66fQUodCFiOD92HfpW6dK9lc7kjhZsKHRKeYPgWuwEHeXwYsCSFtBCW4RZh/8WT+TQ==
@ -390,6 +407,18 @@
prop-types "^15.8.1" prop-types "^15.8.1"
react-is "^19.0.0" react-is "^19.0.0"
"@mui/utils@^6.4.9":
version "6.4.9"
resolved "https://registry.npmjs.org/@mui/utils/-/utils-6.4.9.tgz"
integrity sha512-Y12Q9hbK9g+ZY0T3Rxrx9m2m10gaphDuUMgWxyV5kNJevVxXYCLclYUCC9vXaIk1/NdNDTcW2Yfr2OGvNFNmHg==
dependencies:
"@babel/runtime" "^7.26.0"
"@mui/types" "~7.2.24"
"@types/prop-types" "^15.7.14"
clsx "^2.1.1"
prop-types "^15.8.1"
react-is "^19.0.0"
"@mui/x-data-grid@^6.19.2": "@mui/x-data-grid@^6.19.2":
version "6.20.4" version "6.20.4"
resolved "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.20.4.tgz" resolved "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.20.4.tgz"
@ -401,10 +430,10 @@
prop-types "^15.8.1" prop-types "^15.8.1"
reselect "^4.1.8" reselect "^4.1.8"
"@next/env@14.2.22": "@next/env@15.5.4":
version "14.2.22" version "15.5.4"
resolved "https://registry.npmjs.org/@next/env/-/env-14.2.22.tgz" resolved "https://registry.npmjs.org/@next/env/-/env-15.5.4.tgz"
integrity sha512-EQ6y1QeNQglNmNIXvwP/Bb+lf7n9WtgcWvtoFsHquVLCJUuxRs+6SfZ5EK0/EqkkLex4RrDySvKgKNN7PXip7Q== integrity sha512-27SQhYp5QryzIT5uO8hq99C69eLQ7qkzkDPsk3N+GuS2XgOgoYEeOav7Pf8Tn4drECOVDsDg8oj+/DVy8qQL2A==
"@next/eslint-plugin-next@13.0.4": "@next/eslint-plugin-next@13.0.4":
version "13.0.4" version "13.0.4"
@ -413,10 +442,10 @@
dependencies: dependencies:
glob "7.1.7" glob "7.1.7"
"@next/swc-darwin-arm64@14.2.22": "@next/swc-linux-x64-gnu@15.5.4":
version "14.2.22" version "15.5.4"
resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.22.tgz" resolved "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.4.tgz"
integrity sha512-HUaLiehovgnqY4TMBZJ3pDaOsTE1spIXeR10pWgdQVPYqDGQmHJBj3h3V6yC0uuo/RoY2GC0YBFRkOX3dI9WVQ== integrity sha512-7HKolaj+481FSW/5lL0BcTkA4Ueam9SPYWyN/ib/WGAFZf0DGAN8frNpNZYFHtM4ZstrHZS3LY3vrwlIQfsiMA==
"@nodelib/fs.scandir@2.1.5": "@nodelib/fs.scandir@2.1.5":
version "2.1.5" version "2.1.5"
@ -461,6 +490,21 @@
resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz"
integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
"@react-dnd/asap@^5.0.1":
version "5.0.2"
resolved "https://registry.npmjs.org/@react-dnd/asap/-/asap-5.0.2.tgz"
integrity sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==
"@react-dnd/invariant@^4.0.1":
version "4.0.2"
resolved "https://registry.npmjs.org/@react-dnd/invariant/-/invariant-4.0.2.tgz"
integrity sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==
"@react-dnd/shallowequal@^4.0.1":
version "4.0.2"
resolved "https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-4.0.2.tgz"
integrity sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==
"@reduxjs/toolkit@^2.1.0": "@reduxjs/toolkit@^2.1.0":
version "2.5.0" version "2.5.0"
resolved "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.0.tgz" resolved "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.0.tgz"
@ -488,18 +532,12 @@
resolved "https://registry.npmjs.org/@seznam/compose-react-refs/-/compose-react-refs-1.0.6.tgz" resolved "https://registry.npmjs.org/@seznam/compose-react-refs/-/compose-react-refs-1.0.6.tgz"
integrity sha512-izzOXQfeQLonzrIQb8u6LQ8dk+ymz3WXTIXjvOlTXHq6sbzROg3NWU+9TTAOpEoK9Bth24/6F/XrfHJ5yR5n6Q== integrity sha512-izzOXQfeQLonzrIQb8u6LQ8dk+ymz3WXTIXjvOlTXHq6sbzROg3NWU+9TTAOpEoK9Bth24/6F/XrfHJ5yR5n6Q==
"@swc/counter@^0.1.3": "@swc/helpers@0.5.15":
version "0.1.3" version "0.5.15"
resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz"
integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==
"@swc/helpers@0.5.5":
version "0.5.5"
resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz"
integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==
dependencies: dependencies:
"@swc/counter" "^0.1.3" tslib "^2.8.0"
tslib "^2.4.0"
"@tailwindcss/forms@^0.5.7": "@tailwindcss/forms@^0.5.7":
version "0.5.9" version "0.5.9"
@ -536,12 +574,11 @@
resolved "https://registry.npmjs.org/@types/date-arithmetic/-/date-arithmetic-4.1.4.tgz" resolved "https://registry.npmjs.org/@types/date-arithmetic/-/date-arithmetic-4.1.4.tgz"
integrity sha512-p9eZ2X9B80iKiTW4ukVj8B4K6q9/+xFtQ5MGYA5HWToY9nL4EkhV9+6ftT2VHpVMEZb5Tv00Iel516bVdO+yRw== integrity sha512-p9eZ2X9B80iKiTW4ukVj8B4K6q9/+xFtQ5MGYA5HWToY9nL4EkhV9+6ftT2VHpVMEZb5Tv00Iel516bVdO+yRw==
"@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1": "@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1", "@types/hoist-non-react-statics@^3.3.6":
version "3.3.1" version "3.3.7"
resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz"
integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== integrity sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==
dependencies: dependencies:
"@types/react" "*"
hoist-non-react-statics "^3.3.0" hoist-non-react-statics "^3.3.0"
"@types/json-schema@^7.0.9": "@types/json-schema@^7.0.9":
@ -569,10 +606,10 @@
resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz"
integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
"@types/prop-types@*", "@types/prop-types@^15.7.12": "@types/prop-types@*", "@types/prop-types@^15.7.12", "@types/prop-types@^15.7.14":
version "15.7.14" version "15.7.15"
resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz"
integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==
"@types/react-big-calendar@^1.8.8": "@types/react-big-calendar@^1.8.8":
version "1.16.0" version "1.16.0"
@ -593,7 +630,7 @@
hoist-non-react-statics "^3.3.0" hoist-non-react-statics "^3.3.0"
redux "^4.0.0" redux "^4.0.0"
"@types/react-transition-group@^4.4.0", "@types/react-transition-group@^4.4.10": "@types/react-transition-group@^4.4.0", "@types/react-transition-group@^4.4.12":
version "4.4.12" version "4.4.12"
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==
@ -896,13 +933,13 @@ axe-core@^4.4.3:
resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz" resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz"
integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==
axios@^1.6.7: axios@^1.8.4:
version "1.7.9" version "1.12.2"
resolved "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz" resolved "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz"
integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== integrity sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==
dependencies: dependencies:
follow-redirects "^1.15.6" follow-redirects "^1.15.6"
form-data "^4.0.0" form-data "^4.0.4"
proxy-from-env "^1.1.0" proxy-from-env "^1.1.0"
axobject-query@^2.2.0: axobject-query@^2.2.0:
@ -924,6 +961,11 @@ balanced-match@^1.0.0:
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
base64-arraybuffer@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz"
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
binary-extensions@^2.0.0: binary-extensions@^2.0.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
@ -966,12 +1008,13 @@ buffer-equal-constant-time@1.0.1:
resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz"
integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
busboy@1.6.0: call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
version "1.6.0" version "1.0.2"
resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz"
integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
dependencies: dependencies:
streamsearch "^1.1.0" es-errors "^1.3.0"
function-bind "^1.1.2"
call-bind@^1.0.0, call-bind@^1.0.2: call-bind@^1.0.0, call-bind@^1.0.2:
version "1.0.2" version "1.0.2"
@ -1041,17 +1084,12 @@ client-only@0.0.1:
resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz"
integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
clsx@^1.1.1:
version "1.2.1"
resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
clsx@^1.2.1: clsx@^1.2.1:
version "1.2.1" version "1.2.1"
resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
clsx@^2.0.0, clsx@^2.1.0, clsx@^2.1.1: clsx@^2.0.0, clsx@^2.1.1:
version "2.1.1" version "2.1.1"
resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz"
integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
@ -1095,6 +1133,11 @@ core-js-pure@^3.20.2:
resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.1.tgz" resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.1.tgz"
integrity sha512-7Fr74bliUDdeJCBMxkkIuQ4xfxn/SwrVg+HkJUAoNEXVqYLv55l6Af0dJ5Lq2YBUW9yKqSkLXaS5SYPK6MGa/A== integrity sha512-7Fr74bliUDdeJCBMxkkIuQ4xfxn/SwrVg+HkJUAoNEXVqYLv55l6Af0dJ5Lq2YBUW9yKqSkLXaS5SYPK6MGa/A==
core-js@^3:
version "3.45.1"
resolved "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz"
integrity sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==
cosmiconfig@^7.0.0: cosmiconfig@^7.0.0:
version "7.1.0" version "7.1.0"
resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz"
@ -1113,6 +1156,13 @@ cross-env@^7.0.3:
dependencies: dependencies:
cross-spawn "^7.0.1" cross-spawn "^7.0.1"
cross-fetch@4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz"
integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==
dependencies:
node-fetch "^2.6.12"
cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3" version "7.0.3"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
@ -1122,6 +1172,13 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0" shebang-command "^2.0.0"
which "^2.0.1" which "^2.0.1"
css-line-break@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz"
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
dependencies:
utrie "^1.0.2"
cssesc@^3.0.0: cssesc@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
@ -1213,6 +1270,11 @@ dequal@^2.0.3:
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
detect-libc@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.0.tgz"
integrity sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==
didyoumean@^1.2.2: didyoumean@^1.2.2:
version "1.2.2" version "1.2.2"
resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"
@ -1230,6 +1292,15 @@ dlv@^1.1.3:
resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz"
integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
dnd-core@^16.0.1:
version "16.0.1"
resolved "https://registry.npmjs.org/dnd-core/-/dnd-core-16.0.1.tgz"
integrity sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng==
dependencies:
"@react-dnd/asap" "^5.0.1"
"@react-dnd/invariant" "^4.0.1"
redux "^4.2.0"
doctrine@^2.1.0: doctrine@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz"
@ -1252,6 +1323,15 @@ dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1:
"@babel/runtime" "^7.8.7" "@babel/runtime" "^7.8.7"
csstype "^3.0.2" csstype "^3.0.2"
dunder-proto@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz"
integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
dependencies:
call-bind-apply-helpers "^1.0.1"
es-errors "^1.3.0"
gopd "^1.2.0"
eastasianwidth@^0.2.0: eastasianwidth@^0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
@ -1324,6 +1404,33 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19
string.prototype.trimstart "^1.0.5" string.prototype.trimstart "^1.0.5"
unbox-primitive "^1.0.2" unbox-primitive "^1.0.2"
es-define-property@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz"
integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz"
integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
dependencies:
es-errors "^1.3.0"
es-set-tostringtag@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz"
integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
dependencies:
es-errors "^1.3.0"
get-intrinsic "^1.2.6"
has-tostringtag "^1.0.2"
hasown "^2.0.2"
es-shim-unscopables@^1.0.0: es-shim-unscopables@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz"
@ -1673,13 +1780,15 @@ foreground-child@^3.1.0:
cross-spawn "^7.0.0" cross-spawn "^7.0.0"
signal-exit "^4.0.1" signal-exit "^4.0.1"
form-data@^4.0.0: form-data@^4.0.4:
version "4.0.0" version "4.0.4"
resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz"
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==
dependencies: dependencies:
asynckit "^0.4.0" asynckit "^0.4.0"
combined-stream "^1.0.8" combined-stream "^1.0.8"
es-set-tostringtag "^2.1.0"
hasown "^2.0.2"
mime-types "^2.1.12" mime-types "^2.1.12"
formik@^2.4.5: formik@^2.4.5:
@ -1731,14 +1840,29 @@ functions-have-names@^1.2.2:
resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.6:
version "1.1.3" version "1.3.0"
resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz"
integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
dependencies: dependencies:
function-bind "^1.1.1" call-bind-apply-helpers "^1.0.2"
has "^1.0.3" es-define-property "^1.0.1"
has-symbols "^1.0.3" es-errors "^1.3.0"
es-object-atoms "^1.1.1"
function-bind "^1.1.2"
get-proto "^1.0.1"
gopd "^1.2.0"
has-symbols "^1.1.0"
hasown "^2.0.2"
math-intrinsics "^1.1.0"
get-proto@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz"
integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
dependencies:
dunder-proto "^1.0.1"
es-object-atoms "^1.0.0"
get-symbol-description@^1.0.0: get-symbol-description@^1.0.0:
version "1.0.0" version "1.0.0"
@ -1848,7 +1972,12 @@ globrex@^0.1.2:
resolved "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz" resolved "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz"
integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==
graceful-fs@^4.2.11, graceful-fs@^4.2.4: gopd@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz"
integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
graceful-fs@^4.2.4:
version "4.2.11" version "4.2.11"
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@ -1875,17 +2004,17 @@ has-property-descriptors@^1.0.0:
dependencies: dependencies:
get-intrinsic "^1.1.1" get-intrinsic "^1.1.1"
has-symbols@^1.0.2, has-symbols@^1.0.3: has-symbols@^1.0.2, has-symbols@^1.0.3, has-symbols@^1.1.0:
version "1.0.3" version "1.1.0"
resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
has-tostringtag@^1.0.0: has-tostringtag@^1.0.0, has-tostringtag@^1.0.2:
version "1.0.0" version "1.0.2"
resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz"
integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
dependencies: dependencies:
has-symbols "^1.0.2" has-symbols "^1.0.3"
has@^1.0.3: has@^1.0.3:
version "1.0.3" version "1.0.3"
@ -1908,6 +2037,47 @@ hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-
dependencies: dependencies:
react-is "^16.7.0" react-is "^16.7.0"
html-parse-stringify@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz"
integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==
dependencies:
void-elements "3.1.0"
html2canvas@^1.4.1:
version "1.4.1"
resolved "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz"
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
dependencies:
css-line-break "^2.1.0"
text-segmentation "^1.0.3"
i18next-browser-languagedetector@^8.1.0:
version "8.2.0"
resolved "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.2.0.tgz"
integrity sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==
dependencies:
"@babel/runtime" "^7.23.2"
i18next-fs-backend@^2.6.0:
version "2.6.0"
resolved "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-2.6.0.tgz"
integrity sha512-3ZlhNoF9yxnM8pa8bWp5120/Ob6t4lVl1l/tbLmkml/ei3ud8IWySCHt2lrY5xWRlSU5D9IV2sm5bEbGuTqwTw==
i18next-http-backend@^3.0.2:
version "3.0.2"
resolved "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-3.0.2.tgz"
integrity sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==
dependencies:
cross-fetch "4.0.0"
i18next@^25.1.2:
version "25.5.2"
resolved "https://registry.npmjs.org/i18next/-/i18next-25.5.2.tgz"
integrity sha512-lW8Zeh37i/o0zVr+NoCHfNnfvVw+M6FQbRp36ZZ/NyHDJ3NJVpp2HhAUyU9WafL5AssymNoOjMRB48mmx2P6Hw==
dependencies:
"@babel/runtime" "^7.27.6"
ignore@^5.2.0: ignore@^5.2.0:
version "5.2.0" version "5.2.0"
resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz"
@ -2321,6 +2491,11 @@ luxon@^3.2.1:
resolved "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz" resolved "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz"
integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==
math-intrinsics@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
memoize-one@^6.0.0: memoize-one@^6.0.0:
version "6.0.0" version "6.0.0"
resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz" resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz"
@ -2387,7 +2562,7 @@ moment-timezone@^0.5.40:
dependencies: dependencies:
moment "^2.29.4" moment "^2.29.4"
moment@^2.29.4: moment@^2.29.4, moment@^2.30.1:
version "2.30.1" version "2.30.1"
resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz"
integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==
@ -2421,28 +2596,44 @@ natural-compare@^1.4.0:
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
next@^14.1.0: next-i18next@^15.4.2:
version "14.2.22" version "15.4.2"
resolved "https://registry.npmjs.org/next/-/next-14.2.22.tgz" resolved "https://registry.npmjs.org/next-i18next/-/next-i18next-15.4.2.tgz"
integrity sha512-Ps2caobQ9hlEhscLPiPm3J3SYhfwfpMqzsoCMZGWxt9jBRK9hoBZj2A37i8joKhsyth2EuVKDVJCTF5/H4iEDw== integrity sha512-zgRxWf7kdXtM686ecGIBQL+Bq0+DqAhRlasRZ3vVF0TmrNTWkVhs52n//oU3Fj5O7r/xOKkECDUwfOuXVwTK/g==
dependencies: dependencies:
"@next/env" "14.2.22" "@babel/runtime" "^7.23.2"
"@swc/helpers" "0.5.5" "@types/hoist-non-react-statics" "^3.3.6"
busboy "1.6.0" core-js "^3"
hoist-non-react-statics "^3.3.2"
i18next-fs-backend "^2.6.0"
next@^15.3.1:
version "15.5.4"
resolved "https://registry.npmjs.org/next/-/next-15.5.4.tgz"
integrity sha512-xH4Yjhb82sFYQfY3vbkJfgSDgXvBB6a8xPs9i35k6oZJRoQRihZH+4s9Yo2qsWpzBmZ3lPXaJ2KPXLfkvW4LnA==
dependencies:
"@next/env" "15.5.4"
"@swc/helpers" "0.5.15"
caniuse-lite "^1.0.30001579" caniuse-lite "^1.0.30001579"
graceful-fs "^4.2.11"
postcss "8.4.31" postcss "8.4.31"
styled-jsx "5.1.1" styled-jsx "5.1.6"
optionalDependencies: optionalDependencies:
"@next/swc-darwin-arm64" "14.2.22" "@next/swc-darwin-arm64" "15.5.4"
"@next/swc-darwin-x64" "14.2.22" "@next/swc-darwin-x64" "15.5.4"
"@next/swc-linux-arm64-gnu" "14.2.22" "@next/swc-linux-arm64-gnu" "15.5.4"
"@next/swc-linux-arm64-musl" "14.2.22" "@next/swc-linux-arm64-musl" "15.5.4"
"@next/swc-linux-x64-gnu" "14.2.22" "@next/swc-linux-x64-gnu" "15.5.4"
"@next/swc-linux-x64-musl" "14.2.22" "@next/swc-linux-x64-musl" "15.5.4"
"@next/swc-win32-arm64-msvc" "14.2.22" "@next/swc-win32-arm64-msvc" "15.5.4"
"@next/swc-win32-ia32-msvc" "14.2.22" "@next/swc-win32-x64-msvc" "15.5.4"
"@next/swc-win32-x64-msvc" "14.2.22" sharp "^0.34.3"
node-fetch@^2.6.12:
version "2.7.0"
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz"
integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
dependencies:
whatwg-url "^5.0.0"
node-releases@^2.0.6: node-releases@^2.0.6:
version "2.0.6" version "2.0.6"
@ -2822,6 +3013,24 @@ react-datepicker@^4.10.0:
react-onclickoutside "^6.13.0" react-onclickoutside "^6.13.0"
react-popper "^2.3.0" react-popper "^2.3.0"
react-dnd-html5-backend@^16.0.1:
version "16.0.1"
resolved "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-16.0.1.tgz"
integrity sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==
dependencies:
dnd-core "^16.0.1"
react-dnd@^16.0.1:
version "16.0.1"
resolved "https://registry.npmjs.org/react-dnd/-/react-dnd-16.0.1.tgz"
integrity sha512-QeoM/i73HHu2XF9aKksIUuamHPDvRglEwdHL4jsp784BgUuWcg6mzfxT0QDdQz8Wj0qyRKx2eMg8iZtWvU4E2Q==
dependencies:
"@react-dnd/invariant" "^4.0.1"
"@react-dnd/shallowequal" "^4.0.1"
dnd-core "^16.0.1"
fast-deep-equal "^3.1.3"
hoist-non-react-statics "^3.3.2"
react-dom@^19.0.0: react-dom@^19.0.0:
version "19.0.0" version "19.0.0"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz"
@ -2839,7 +3048,20 @@ react-fast-compare@^3.0.1:
resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz"
integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==
react-is@^16.13.1, react-is@^16.7.0: react-i18next@^15.5.1:
version "15.7.3"
resolved "https://registry.npmjs.org/react-i18next/-/react-i18next-15.7.3.tgz"
integrity sha512-AANws4tOE+QSq/IeMF/ncoHlMNZaVLxpa5uUGW1wjike68elVYr0018L9xYoqBr1OFO7G7boDPrbn0HpMCJxTw==
dependencies:
"@babel/runtime" "^7.27.6"
html-parse-stringify "^3.0.1"
react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-is@^16.7.0:
version "16.13.1" version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@ -2932,12 +3154,12 @@ react-switch@^7.0.0:
dependencies: dependencies:
prop-types "^15.7.2" prop-types "^15.7.2"
react-toastify@^9.1.2: react-toastify@^11.0.2:
version "9.1.3" version "11.0.5"
resolved "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz" resolved "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz"
integrity sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg== integrity sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==
dependencies: dependencies:
clsx "^1.1.1" clsx "^2.1.1"
react-transition-group@^4.3.0, react-transition-group@^4.4.5: react-transition-group@^4.3.0, react-transition-group@^4.4.5:
version "4.4.5" version "4.4.5"
@ -2980,6 +3202,13 @@ redux@^4.0.0:
dependencies: dependencies:
"@babel/runtime" "^7.9.2" "@babel/runtime" "^7.9.2"
redux@^4.2.0:
version "4.2.1"
resolved "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz"
integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==
dependencies:
"@babel/runtime" "^7.9.2"
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"
@ -2990,11 +3219,6 @@ regenerator-runtime@^0.13.4:
resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
regenerator-runtime@^0.14.0:
version "0.14.1"
resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3:
version "1.4.3" version "1.4.3"
resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz"
@ -3085,10 +3309,42 @@ semver@^6.3.0:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.3.7, semver@^7.5.4: semver@^7.3.7, semver@^7.5.4, semver@^7.7.2:
version "7.6.3" version "7.7.2"
resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
sharp@^0.34.3:
version "0.34.4"
resolved "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz"
integrity sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==
dependencies:
"@img/colour" "^1.0.0"
detect-libc "^2.1.0"
semver "^7.7.2"
optionalDependencies:
"@img/sharp-darwin-arm64" "0.34.4"
"@img/sharp-darwin-x64" "0.34.4"
"@img/sharp-libvips-darwin-arm64" "1.2.3"
"@img/sharp-libvips-darwin-x64" "1.2.3"
"@img/sharp-libvips-linux-arm" "1.2.3"
"@img/sharp-libvips-linux-arm64" "1.2.3"
"@img/sharp-libvips-linux-ppc64" "1.2.3"
"@img/sharp-libvips-linux-s390x" "1.2.3"
"@img/sharp-libvips-linux-x64" "1.2.3"
"@img/sharp-libvips-linuxmusl-arm64" "1.2.3"
"@img/sharp-libvips-linuxmusl-x64" "1.2.3"
"@img/sharp-linux-arm" "0.34.4"
"@img/sharp-linux-arm64" "0.34.4"
"@img/sharp-linux-ppc64" "0.34.4"
"@img/sharp-linux-s390x" "0.34.4"
"@img/sharp-linux-x64" "0.34.4"
"@img/sharp-linuxmusl-arm64" "0.34.4"
"@img/sharp-linuxmusl-x64" "0.34.4"
"@img/sharp-wasm32" "0.34.4"
"@img/sharp-win32-arm64" "0.34.4"
"@img/sharp-win32-ia32" "0.34.4"
"@img/sharp-win32-x64" "0.34.4"
shebang-command@^2.0.0: shebang-command@^2.0.0:
version "2.0.0" version "2.0.0"
@ -3146,11 +3402,6 @@ split-on-first@^3.0.0:
resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz" resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz"
integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA== integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==
streamsearch@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz"
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
"string-width-cjs@npm:string-width@^4.2.0": "string-width-cjs@npm:string-width@^4.2.0":
version "4.2.3" version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
@ -3241,10 +3492,10 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
styled-jsx@5.1.1: styled-jsx@5.1.6:
version "5.1.1" version "5.1.6"
resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz"
integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== integrity sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==
dependencies: dependencies:
client-only "0.0.1" client-only "0.0.1"
@ -3379,6 +3630,13 @@ tapable@^2.2.0:
resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
text-segmentation@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz"
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
dependencies:
utrie "^1.0.2"
text-table@^0.2.0: text-table@^0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
@ -3423,6 +3681,11 @@ to-regex-range@^5.0.1:
dependencies: dependencies:
is-number "^7.0.0" is-number "^7.0.0"
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
ts-interface-checker@^0.1.9: ts-interface-checker@^0.1.9:
version "0.1.13" version "0.1.13"
resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
@ -3448,6 +3711,11 @@ tslib@^2.0.0, tslib@^2.4.0:
resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
tslib@^2.8.0:
version "2.8.1"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
tsutils@^3.21.0: tsutils@^3.21.0:
version "3.21.0" version "3.21.0"
resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz"
@ -3467,10 +3735,10 @@ type-fest@^0.20.2:
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
typescript@^4.8.3: typescript@^5.4.5:
version "4.8.3" version "5.9.2"
resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz" resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz"
integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==
unbox-primitive@^1.0.2: unbox-primitive@^1.0.2:
version "1.0.2" version "1.0.2"
@ -3534,11 +3802,23 @@ util-deprecate@^1.0.2:
resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
utrie@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz"
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
dependencies:
base64-arraybuffer "^1.0.2"
uuid@^9.0.0: uuid@^9.0.0:
version "9.0.1" version "9.0.1"
resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz"
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
void-elements@3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz"
integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==
warning@^4.0.2, warning@^4.0.3: warning@^4.0.2, warning@^4.0.3:
version "4.0.3" version "4.0.3"
resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz" resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz"
@ -3546,6 +3826,19 @@ warning@^4.0.2, warning@^4.0.3:
dependencies: dependencies:
loose-envify "^1.0.0" loose-envify "^1.0.0"
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
which-boxed-primitive@^1.0.2: which-boxed-primitive@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"