diff --git a/app/Http/Controllers/BorrowedItem/BorrowedController.php b/app/Http/Controllers/BorrowedItem/BorrowedController.php
new file mode 100644
index 0000000..cb411f4
--- /dev/null
+++ b/app/Http/Controllers/BorrowedItem/BorrowedController.php
@@ -0,0 +1,20 @@
+ $borrowedItem,
+ ]);
+ }
+}
diff --git a/app/Http/Controllers/Branch/BranchController.php b/app/Http/Controllers/Branch/BranchController.php
new file mode 100644
index 0000000..2b006b2
--- /dev/null
+++ b/app/Http/Controllers/Branch/BranchController.php
@@ -0,0 +1,38 @@
+ $branch,
+ ]);
+ }
+
+ public function create()
+ {
+ return Inertia::render('Admin/Branch/Create');
+ }
+
+ public function store(Request $request)
+ {
+ $branch = Branch::create([
+
+ // create a variable that will coordinated in my frontend form
+ 'branch' => $request->branch,
+ ]);
+
+ // You can optionally return a response or redirect the user
+ // For example, redirect them to the index page or return a success message
+ return redirect()->route('branch.index')->with('success', 'Category created successfully');
+ }
+}
diff --git a/app/Http/Controllers/Categories/CategoriesController.php b/app/Http/Controllers/Categories/CategoriesController.php
new file mode 100644
index 0000000..5a860f2
--- /dev/null
+++ b/app/Http/Controllers/Categories/CategoriesController.php
@@ -0,0 +1,41 @@
+ $categories,
+ ]);
+ }
+
+ public function create()
+ {
+ return Inertia::render('Admin/Categories/Create');
+ }
+
+ public function store(Request $request)
+ {
+ $categories = categories::create([
+
+ // create a variable that will coordinated in my frontend form
+ 'categories' => $request->categories,
+ ]);
+
+ // You can optionally return a response or redirect the user
+ // For example, redirect them to the index page or return a success message
+ return redirect()->route('categories.index')->with('success', 'Category created successfully');
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Equipment/EquipmentController.php b/app/Http/Controllers/Equipment/EquipmentController.php
new file mode 100644
index 0000000..b2f2e3e
--- /dev/null
+++ b/app/Http/Controllers/Equipment/EquipmentController.php
@@ -0,0 +1,41 @@
+ $equipments,
+ ]);
+ }
+
+ public function create()
+ {
+ return Inertia::render('Admin/Equipment/Create');
+ }
+
+ public function store(Request $request)
+ {
+ $equipments = Equipment::create([
+
+ // create a variable that will coordinated in my frontend form
+ 'equipments' => $request->equipments,
+ ]);
+
+ // You can optionally return a response or redirect the user
+ // For example, redirect them to the index page or return a success message
+ return redirect()->route('equipment.index')->with('success', 'Category created successfully');
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Library/SettingController.php b/app/Http/Controllers/Library/SettingController.php
new file mode 100644
index 0000000..ed0d477
--- /dev/null
+++ b/app/Http/Controllers/Library/SettingController.php
@@ -0,0 +1,15 @@
+ $product,
+ ]);
+ }
+
+ public function store(Request $request)
+ {
+
+ // i create a variable located my model named product same as the user
+
+ $product = Product::create([
+
+ // create a variable that will coordinated in my frontend form
+ 'productName' => $request->productName,
+ 'productId' => $request->productId,
+ 'branch' => $request->branch,
+ 'status' => $request->status,
+ 'productDescription' => $request->productDescription,
+ 'productFileUpload' => $request->productFileUpload,
+ ]);
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Management/UserManagementController.php b/app/Http/Controllers/Management/UserManagementController.php
new file mode 100644
index 0000000..5264f97
--- /dev/null
+++ b/app/Http/Controllers/Management/UserManagementController.php
@@ -0,0 +1,51 @@
+ $users,
+ ]);
+ }
+
+ public function create()
+ {
+ return Inertia::render('Admin/Management/User/Create');
+ }
+
+
+
+ public function store(Request $request)
+ {
+ $request->validate([
+ 'name' => 'required|string|max:255',
+ 'email' => 'required|string|email|max:255|unique:' . User::class,
+ 'password' => ['required', 'confirmed', Rules\Password::defaults()],
+ ]);
+
+ $user = User::create([
+ 'name' => $request->name,
+ 'email' => $request->email,
+ 'password' => Hash::make($request->password),
+ ]);
+
+ return redirect()->route('management.index')->with('success', 'Category created successfully');
+
+ // event(new Registered($user));
+
+ // Auth::login($user);
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index 873b4f7..29b52a2 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -24,6 +24,10 @@ public function edit(Request $request): Response
]);
}
+ public function show()
+ {
+ return Inertia::render('Profile/Show');
+ }
/**
* Update the user's profile information.
*/
diff --git a/app/Http/Controllers/Qr/GenerateQrController.php b/app/Http/Controllers/Qr/GenerateQrController.php
new file mode 100644
index 0000000..ed6c466
--- /dev/null
+++ b/app/Http/Controllers/Qr/GenerateQrController.php
@@ -0,0 +1,15 @@
+ $qrcodes,
+ ]);
+ }
+
+ public function create()
+ {
+ return Inertia::render('Admin/Qr/Create');
+ }
+
+ public function store(Request $request)
+ {
+ // Validate the request data
+ $validatedData = $request->validate([
+ 'productName' => 'required',
+ 'productId' => 'required',
+ 'branch' => 'required',
+ 'status' => 'required',
+ 'qrDescription' => 'required',
+ 'fileUpload' => 'required',
+ 'qrcode' => 'required',
+ ]);
+
+ // Create the Qrcode model with the validated data
+ $product = Qrcode::create($validatedData);
+
+ return redirect()->route('qr.index')->with('success', 'Category created successfully');
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Storage/StorageController.php b/app/Http/Controllers/Storage/StorageController.php
new file mode 100644
index 0000000..90ef740
--- /dev/null
+++ b/app/Http/Controllers/Storage/StorageController.php
@@ -0,0 +1,23 @@
+ $storage,
+ ]);
+ }
+}
diff --git a/app/Http/Controllers/Warranty/WarrantyController.php b/app/Http/Controllers/Warranty/WarrantyController.php
new file mode 100644
index 0000000..d6cf0aa
--- /dev/null
+++ b/app/Http/Controllers/Warranty/WarrantyController.php
@@ -0,0 +1,23 @@
+ $warranty,
+ ]);
+ }
+}
\ No newline at end of file
diff --git a/app/Models/Borrowed_item.php b/app/Models/Borrowed_item.php
new file mode 100644
index 0000000..e43dd4c
--- /dev/null
+++ b/app/Models/Borrowed_item.php
@@ -0,0 +1,22 @@
+
+ */
+
+ // i use fillable in my item that i need to be populated
+ protected $fillable = [
+ 'borrowed_item',
+
+ ];
+}
diff --git a/app/Models/Branch.php b/app/Models/Branch.php
new file mode 100644
index 0000000..973d00e
--- /dev/null
+++ b/app/Models/Branch.php
@@ -0,0 +1,22 @@
+
+ */
+
+ // i use fillable in my item that i need to be populated
+ protected $fillable = [
+ 'branch',
+
+ ];
+}
\ No newline at end of file
diff --git a/app/Models/Categories.php b/app/Models/Categories.php
new file mode 100644
index 0000000..4816d4e
--- /dev/null
+++ b/app/Models/Categories.php
@@ -0,0 +1,25 @@
+
+ */
+
+ // i use fillable in my item that i need to be populated
+ protected $fillable = [
+ 'categories',
+
+ ];
+}
\ No newline at end of file
diff --git a/app/Models/Equipment.php b/app/Models/Equipment.php
new file mode 100644
index 0000000..0267e72
--- /dev/null
+++ b/app/Models/Equipment.php
@@ -0,0 +1,22 @@
+
+ */
+
+ // i use fillable in my item that i need to be populated
+ protected $fillable = [
+ 'equipments',
+ ];
+}
\ No newline at end of file
diff --git a/app/Models/Product.php b/app/Models/Product.php
new file mode 100644
index 0000000..6db4e6f
--- /dev/null
+++ b/app/Models/Product.php
@@ -0,0 +1,29 @@
+
+ */
+
+ // i use fillable in my item that i need to be populated
+ protected $fillable = [
+ 'productName',
+ 'productId',
+ 'branch',
+ 'status',
+ 'productDescription',
+ 'productFileUpload',
+
+ ];
+
+}
diff --git a/app/Models/Qrcode.php b/app/Models/Qrcode.php
new file mode 100644
index 0000000..8083806
--- /dev/null
+++ b/app/Models/Qrcode.php
@@ -0,0 +1,31 @@
+
+ */
+
+ // i use fillable in my item that i need to be populated
+ protected $fillable = [
+ 'productName',
+ 'productId',
+ 'branch',
+ 'status',
+ 'qrDescription',
+ 'fileUpload',
+ 'qrcode',
+ // 'status',
+ // 'productDescription',
+
+ ];
+}
diff --git a/app/Models/Storage.php b/app/Models/Storage.php
new file mode 100644
index 0000000..54a29db
--- /dev/null
+++ b/app/Models/Storage.php
@@ -0,0 +1,11 @@
+id();
+ $table->string('productName');
+ $table->string('productId');
+ $table->string('branch');
+ $table->string('status')->default(true); // Default to true
+ $table->longText('productDescription');
+ $table->string('productFileUpload')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('products');
+ }
+};
diff --git a/database/migrations/2023_09_23_125944_create_storages_table.php b/database/migrations/2023_09_23_125944_create_storages_table.php
new file mode 100644
index 0000000..7ca5264
--- /dev/null
+++ b/database/migrations/2023_09_23_125944_create_storages_table.php
@@ -0,0 +1,31 @@
+id();
+ $table->string('productName');
+ $table->integer('productId');
+ $table->string('itemName');
+ $table->boolean('status')->default(true);
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('storages');
+ }
+};
diff --git a/database/migrations/2023_09_25_024820_create_qrcodes_table.php b/database/migrations/2023_09_25_024820_create_qrcodes_table.php
new file mode 100644
index 0000000..3f8cdc3
--- /dev/null
+++ b/database/migrations/2023_09_25_024820_create_qrcodes_table.php
@@ -0,0 +1,34 @@
+id();
+ $table->string('productName')->nullable();
+ $table->string('productId')->nullable();
+ $table->string('branch')->nullable();
+ $table->string('status')->default(true); // Default to true
+ $table->longText('qrDescription')->nullable();
+ $table->string('fileUpload')->nullable();
+ $table->string('qrcode')->nullable(); // Add an image column
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('qrcodes');
+ }
+};
diff --git a/database/migrations/2023_10_02_064541_create_categories_table.php b/database/migrations/2023_10_02_064541_create_categories_table.php
new file mode 100644
index 0000000..14182dc
--- /dev/null
+++ b/database/migrations/2023_10_02_064541_create_categories_table.php
@@ -0,0 +1,29 @@
+id();
+ $table->string('categories')->nullable();
+ $table->rememberToken();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('categories');
+ }
+};
\ No newline at end of file
diff --git a/database/migrations/2023_10_03_024857_create_equipment_table.php b/database/migrations/2023_10_03_024857_create_equipment_table.php
new file mode 100644
index 0000000..f5e8979
--- /dev/null
+++ b/database/migrations/2023_10_03_024857_create_equipment_table.php
@@ -0,0 +1,29 @@
+id();
+ $table->string('equipments')->nullable();
+ $table->rememberToken();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('equipment');
+ }
+};
\ No newline at end of file
diff --git a/database/migrations/2023_10_03_060621_create_branches_table.php b/database/migrations/2023_10_03_060621_create_branches_table.php
new file mode 100644
index 0000000..3de8663
--- /dev/null
+++ b/database/migrations/2023_10_03_060621_create_branches_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string('branch')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('branches');
+ }
+};
\ No newline at end of file
diff --git a/database/migrations/2023_10_03_065006_create_warranty_table.php b/database/migrations/2023_10_03_065006_create_warranty_table.php
new file mode 100644
index 0000000..8efd49e
--- /dev/null
+++ b/database/migrations/2023_10_03_065006_create_warranty_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string('warranty')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('warranties');
+ }
+};
\ No newline at end of file
diff --git a/database/migrations/2023_10_13_013556_create_borrowed_item_table.php b/database/migrations/2023_10_13_013556_create_borrowed_item_table.php
new file mode 100644
index 0000000..3993dee
--- /dev/null
+++ b/database/migrations/2023_10_13_013556_create_borrowed_item_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string('borrowed_item')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('borrowed_item');
+ }
+};
diff --git a/database/seeders/Borrowed_itemSeeder.php b/database/seeders/Borrowed_itemSeeder.php
new file mode 100644
index 0000000..1a50f70
--- /dev/null
+++ b/database/seeders/Borrowed_itemSeeder.php
@@ -0,0 +1,25 @@
+ $faker->word,
+ ]);
+ }
+ }
+}
diff --git a/database/seeders/BranchSeeder.php b/database/seeders/BranchSeeder.php
new file mode 100644
index 0000000..8318680
--- /dev/null
+++ b/database/seeders/BranchSeeder.php
@@ -0,0 +1,24 @@
+ $faker->word,
+ ]);
+ }
+ }
+}
\ No newline at end of file
diff --git a/database/seeders/CategoriesSeeder.php b/database/seeders/CategoriesSeeder.php
new file mode 100644
index 0000000..7225cd9
--- /dev/null
+++ b/database/seeders/CategoriesSeeder.php
@@ -0,0 +1,25 @@
+ $faker->word(),
+ ]);
+ }
+ }
+}
\ No newline at end of file
diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php
index a9f4519..87460aa 100644
--- a/database/seeders/DatabaseSeeder.php
+++ b/database/seeders/DatabaseSeeder.php
@@ -3,6 +3,8 @@
namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
+
+use App\Models\Branch;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
@@ -14,9 +16,27 @@ public function run(): void
{
// \App\Models\User::factory(10)->create();
- // \App\Models\User::factory()->create([
- // 'name' => 'Test User',
- // 'email' => 'test@example.com',
- // ]);
+ \App\Models\User::factory()->create([
+ 'name' => 'Jhunriz',
+ 'email' => 'jhunriz14@gmail.com',
+ 'password' => '123456789'
+ ]);
+
+ $this->call([
+ ProductsTableSeeder::class,
+ ]);
+
+ $this->call([
+ StorageTableSeeder::class,
+ ]);
+
+ $this->call([
+ QrcodeTableSeeder::class,
+ ]);
+ $this->call([CategoriesSeeder::class,]);
+ $this->call([EquipmentSeeder::class,]);
+ $this->call([BranchSeeder::class,]);
+ $this->call([WarrantySeeder::class,]);
+ $this->call([Borrowed_itemSeeder::class,]);
}
}
diff --git a/database/seeders/EquipmentSeeder.php b/database/seeders/EquipmentSeeder.php
new file mode 100644
index 0000000..3f4e4b5
--- /dev/null
+++ b/database/seeders/EquipmentSeeder.php
@@ -0,0 +1,25 @@
+ $faker->word(),
+ ]);
+ }
+ }
+}
\ No newline at end of file
diff --git a/database/seeders/ProductsTableSeeder.php b/database/seeders/ProductsTableSeeder.php
new file mode 100644
index 0000000..aa8f5e8
--- /dev/null
+++ b/database/seeders/ProductsTableSeeder.php
@@ -0,0 +1,43 @@
+ $faker->word(),
+ 'productId' => $faker->randomNumber(),
+ 'branch' => $faker->word(),
+ 'status' => true,
+ 'productDescription' => $faker->word(),
+ 'productFileUpload' => $faker->imageUrl($width = 640, $height = 480),
+ ]);
+ }
+
+
+
+ // \App\Models\User::factory()->create([
+ // 'productName' => 'Product 1',
+ // 'productId' => 'PROD001',
+ // 'itemName' => 'Item 1',
+ // 'status' => true,
+ // ]);
+ }
+}
\ No newline at end of file
diff --git a/database/seeders/QrcodeTableSeeder.php b/database/seeders/QrcodeTableSeeder.php
new file mode 100644
index 0000000..20c16bb
--- /dev/null
+++ b/database/seeders/QrcodeTableSeeder.php
@@ -0,0 +1,32 @@
+ $faker->word(),
+ 'productId' => $faker->randomNumber(),
+ 'branch' => $faker->word(),
+ 'status' => true,
+ 'qrDescription' => $faker->word(),
+ 'fileUpload' => $faker->imageUrl($width = 640, $height = 480),
+ 'qrcode' => $faker->imageUrl($width = 640, $height = 480), // Generate a fake image URL
+ ]);
+ }
+ }
+}
diff --git a/database/seeders/StorageTableSeeder.php b/database/seeders/StorageTableSeeder.php
new file mode 100644
index 0000000..5a312e2
--- /dev/null
+++ b/database/seeders/StorageTableSeeder.php
@@ -0,0 +1,25 @@
+insert([
+ 'productName' => \Faker\Factory::create()->word(),
+ 'productId' => \Faker\Factory::create()->randomNumber(),
+ 'itemName' => \Faker\Factory::create()->word(),
+ 'status' => true,
+ ]);
+ }
+ }
+}
diff --git a/database/seeders/WarrantySeeder.php b/database/seeders/WarrantySeeder.php
new file mode 100644
index 0000000..0b1e5b7
--- /dev/null
+++ b/database/seeders/WarrantySeeder.php
@@ -0,0 +1,25 @@
+ $faker->word,
+ ]);
+ }
+ }
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 35927a5..02f60b3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,15 @@
"@emotion/styled": "^11.11.0",
"@mui/icons-material": "^5.14.3",
"@mui/material": "^5.14.5",
- "mui-datatables": "^4.3.0"
+ "@mui/x-charts": "^6.0.0-alpha.9",
+ "html2canvas": "^1.4.1",
+ "mui-datatables": "^4.3.0",
+ "notistack": "^3.0.1",
+ "qrcode.react": "^3.1.0",
+ "react-barcode": "^1.4.6",
+ "react-html5-camera-photo": "^1.5.11",
+ "react-qr-code": "^2.0.12",
+ "react-qr-reader": "^3.0.0-beta-1"
},
"devDependencies": {
"@inertiajs/react": "^1.0.0",
@@ -1228,6 +1236,38 @@
"react": "^17.0.0 || ^18.0.0"
}
},
+ "node_modules/@mui/x-charts": {
+ "version": "6.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@mui/x-charts/-/x-charts-6.0.0-alpha.9.tgz",
+ "integrity": "sha512-2DVTbyxsm3g0D6kztQP9W4W9OOGeIQ/g6Ip6gjHj2wOOqkDB36bZxwVG/HlJuaVFBL001vI2VkYJYy+helw9gA==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.11",
+ "clsx": "^2.0.0",
+ "d3-color": "^3.1.0",
+ "d3-scale": "^4.0.2",
+ "d3-shape": "^3.2.0",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.9.0",
+ "@emotion/styled": "^11.8.1",
+ "@mui/material": "^5.4.1",
+ "@mui/system": "^5.4.1",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -1367,6 +1407,37 @@
"vite": "^4.2.0"
}
},
+ "node_modules/@zxing/browser": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/@zxing/browser/-/browser-0.0.7.tgz",
+ "integrity": "sha512-AepzMgDnD6EjxewqmXpHJsi4S3Gw9ilZJLIbTf6fWuWySEcHBodnGu3p7FWlgq1Sd5QyfPhTum5z3CBkkhMVng==",
+ "optionalDependencies": {
+ "@zxing/text-encoding": "^0.9.0"
+ },
+ "peerDependencies": {
+ "@zxing/library": "^0.18.3"
+ }
+ },
+ "node_modules/@zxing/library": {
+ "version": "0.18.6",
+ "resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.18.6.tgz",
+ "integrity": "sha512-bulZ9JHoLFd9W36pi+7e7DnEYNJhljYjZ1UTsKPOoLMU3qtC+REHITeCRNx40zTRJZx18W5TBRXt5pq2Uopjsw==",
+ "dependencies": {
+ "ts-custom-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.4.0"
+ },
+ "optionalDependencies": {
+ "@zxing/text-encoding": "~0.9.0"
+ }
+ },
+ "node_modules/@zxing/text-encoding": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz",
+ "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==",
+ "optional": true
+ },
"node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -1477,6 +1548,14 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
+ "node_modules/base64-arraybuffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+ "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -1728,6 +1807,14 @@
"node": ">=10"
}
},
+ "node_modules/css-line-break": {
+ "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"
+ }
+ },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -1745,6 +1832,100 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
+ "node_modules/d3-array": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
+ "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
+ "dependencies": {
+ "internmap": "1 - 2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-color": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-format": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+ "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-interpolate": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+ "dependencies": {
+ "d3-color": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+ "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-scale": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+ "dependencies": {
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-shape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+ "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+ "dependencies": {
+ "d3-path": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+ "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "dependencies": {
+ "d3-array": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time-format": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+ "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+ "dependencies": {
+ "d3-time": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -1993,7 +2174,6 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
@@ -2073,6 +2253,14 @@
"node": ">=4"
}
},
+ "node_modules/goober": {
+ "version": "2.1.13",
+ "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz",
+ "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==",
+ "peerDependencies": {
+ "csstype": "^3.0.10"
+ }
+ },
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -2129,6 +2317,18 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
+ "node_modules/html2canvas": {
+ "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"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -2160,6 +2360,14 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
+ "node_modules/internmap": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -2232,6 +2440,66 @@
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
+ "node_modules/jsbarcode": {
+ "version": "3.11.5",
+ "resolved": "https://registry.npmjs.org/jsbarcode/-/jsbarcode-3.11.5.tgz",
+ "integrity": "sha512-zv3KsH51zD00I/LrFzFSM6dst7rDn0vIMzaiZFL7qusTjPZiPtxg3zxetp0RR7obmjTw4f6NyGgbdkBCgZUIrA==",
+ "bin": {
+ "auto.js": "bin/barcodes/CODE128/auto.js",
+ "Barcode.js": "bin/barcodes/Barcode.js",
+ "barcodes": "bin/barcodes",
+ "canvas.js": "bin/renderers/canvas.js",
+ "checksums.js": "bin/barcodes/MSI/checksums.js",
+ "codabar": "bin/barcodes/codabar",
+ "CODE128": "bin/barcodes/CODE128",
+ "CODE128_AUTO.js": "bin/barcodes/CODE128/CODE128_AUTO.js",
+ "CODE128.js": "bin/barcodes/CODE128/CODE128.js",
+ "CODE128A.js": "bin/barcodes/CODE128/CODE128A.js",
+ "CODE128B.js": "bin/barcodes/CODE128/CODE128B.js",
+ "CODE128C.js": "bin/barcodes/CODE128/CODE128C.js",
+ "CODE39": "bin/barcodes/CODE39",
+ "constants.js": "bin/barcodes/ITF/constants.js",
+ "defaults.js": "bin/options/defaults.js",
+ "EAN_UPC": "bin/barcodes/EAN_UPC",
+ "EAN.js": "bin/barcodes/EAN_UPC/EAN.js",
+ "EAN13.js": "bin/barcodes/EAN_UPC/EAN13.js",
+ "EAN2.js": "bin/barcodes/EAN_UPC/EAN2.js",
+ "EAN5.js": "bin/barcodes/EAN_UPC/EAN5.js",
+ "EAN8.js": "bin/barcodes/EAN_UPC/EAN8.js",
+ "encoder.js": "bin/barcodes/EAN_UPC/encoder.js",
+ "ErrorHandler.js": "bin/exceptions/ErrorHandler.js",
+ "exceptions": "bin/exceptions",
+ "exceptions.js": "bin/exceptions/exceptions.js",
+ "fixOptions.js": "bin/help/fixOptions.js",
+ "GenericBarcode": "bin/barcodes/GenericBarcode",
+ "getOptionsFromElement.js": "bin/help/getOptionsFromElement.js",
+ "getRenderProperties.js": "bin/help/getRenderProperties.js",
+ "help": "bin/help",
+ "index.js": "bin/renderers/index.js",
+ "index.tmp.js": "bin/barcodes/index.tmp.js",
+ "ITF": "bin/barcodes/ITF",
+ "ITF.js": "bin/barcodes/ITF/ITF.js",
+ "ITF14.js": "bin/barcodes/ITF/ITF14.js",
+ "JsBarcode.js": "bin/JsBarcode.js",
+ "linearizeEncodings.js": "bin/help/linearizeEncodings.js",
+ "merge.js": "bin/help/merge.js",
+ "MSI": "bin/barcodes/MSI",
+ "MSI.js": "bin/barcodes/MSI/MSI.js",
+ "MSI10.js": "bin/barcodes/MSI/MSI10.js",
+ "MSI1010.js": "bin/barcodes/MSI/MSI1010.js",
+ "MSI11.js": "bin/barcodes/MSI/MSI11.js",
+ "MSI1110.js": "bin/barcodes/MSI/MSI1110.js",
+ "object.js": "bin/renderers/object.js",
+ "options": "bin/options",
+ "optionsFromStrings.js": "bin/help/optionsFromStrings.js",
+ "pharmacode": "bin/barcodes/pharmacode",
+ "renderers": "bin/renderers",
+ "shared.js": "bin/renderers/shared.js",
+ "svg.js": "bin/renderers/svg.js",
+ "UPC.js": "bin/barcodes/EAN_UPC/UPC.js",
+ "UPCE.js": "bin/barcodes/EAN_UPC/UPCE.js"
+ }
+ },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -2244,6 +2512,11 @@
"node": ">=4"
}
},
+ "node_modules/jslib-html5-camera-photo": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/jslib-html5-camera-photo/-/jslib-html5-camera-photo-3.3.4.tgz",
+ "integrity": "sha512-qysjLnP4bud0+g0qs5uA/7i569x+6ID2ufgezf9XQ+BE3EvhYjz177vi9WXLEuq+V6C/WXEv73NUICvHm5VGmQ=="
+ },
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -2524,6 +2797,35 @@
"node": ">=0.10.0"
}
},
+ "node_modules/notistack": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz",
+ "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==",
+ "dependencies": {
+ "clsx": "^1.1.0",
+ "goober": "^2.0.33"
+ },
+ "engines": {
+ "node": ">=12.0.0",
+ "npm": ">=6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/notistack"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/notistack/node_modules/clsx": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
+ "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/nprogress": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz",
@@ -2817,6 +3119,19 @@
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true
},
+ "node_modules/qr.js": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz",
+ "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ=="
+ },
+ "node_modules/qrcode.react": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz",
+ "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/qs": {
"version": "6.11.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
@@ -2871,6 +3186,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-barcode": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/react-barcode/-/react-barcode-1.4.6.tgz",
+ "integrity": "sha512-56WCPqjgpExPVi5LgKOfxM6uSCB4Wd1r94jY2VEwkIdigPjLp8P9RyIBIyQmDraxtYGOHE0e4Uer4+QrmOIy7Q==",
+ "dependencies": {
+ "jsbarcode": "^3.8.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/react-display-name": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz",
@@ -2911,6 +3238,18 @@
"react": "^18.2.0"
}
},
+ "node_modules/react-html5-camera-photo": {
+ "version": "1.5.11",
+ "resolved": "https://registry.npmjs.org/react-html5-camera-photo/-/react-html5-camera-photo-1.5.11.tgz",
+ "integrity": "sha512-5OpdW66UmwKwd0ZHvy/U9tEZj19GrcG6RDRXjs1bFBgJoWzLJoJ7YNd8rmdrizV/6go/z9GrwoWMovqCUyaJgQ==",
+ "dependencies": {
+ "jslib-html5-camera-photo": "3.3.4"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
"node_modules/react-is": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
@@ -2921,6 +3260,52 @@
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
+ "node_modules/react-qr-code": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/react-qr-code/-/react-qr-code-2.0.12.tgz",
+ "integrity": "sha512-k+pzP5CKLEGBRwZsDPp98/CAJeXlsYRHM2iZn1Sd5Th/HnKhIZCSg27PXO58zk8z02RaEryg+60xa4vyywMJwg==",
+ "dependencies": {
+ "prop-types": "^15.8.1",
+ "qr.js": "0.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.x || ^17.x || ^18.x",
+ "react-native-svg": "*"
+ },
+ "peerDependenciesMeta": {
+ "react-native-svg": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-qr-reader": {
+ "version": "3.0.0-beta-1",
+ "resolved": "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-3.0.0-beta-1.tgz",
+ "integrity": "sha512-5HeFH9x/BlziRYQYGK2AeWS9WiKYZtGGMs9DXy3bcySTX3C9UJL9EwcPnWw8vlf7JP4FcrAlr1SnZ5nsWLQGyw==",
+ "dependencies": {
+ "@zxing/browser": "0.0.7",
+ "@zxing/library": "^0.18.3",
+ "rollup": "^2.67.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/react-qr-reader/node_modules/rollup": {
+ "version": "2.79.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
+ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
"node_modules/react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
@@ -3292,6 +3677,14 @@
"node": ">=14.0.0"
}
},
+ "node_modules/text-segmentation": {
+ "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"
+ }
+ },
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
@@ -3333,6 +3726,14 @@
"node": ">=8.0"
}
},
+ "node_modules/ts-custom-error": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz",
+ "integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/ts-interface-checker": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
@@ -3395,6 +3796,14 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"dev": true
},
+ "node_modules/utrie": {
+ "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"
+ }
+ },
"node_modules/vite": {
"version": "4.4.9",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
diff --git a/package.json b/package.json
index 72ee7af..ce4c481 100644
--- a/package.json
+++ b/package.json
@@ -23,6 +23,14 @@
"@emotion/styled": "^11.11.0",
"@mui/icons-material": "^5.14.3",
"@mui/material": "^5.14.5",
- "mui-datatables": "^4.3.0"
+ "@mui/x-charts": "^6.0.0-alpha.9",
+ "html2canvas": "^1.4.1",
+ "mui-datatables": "^4.3.0",
+ "notistack": "^3.0.1",
+ "qrcode.react": "^3.1.0",
+ "react-barcode": "^1.4.6",
+ "react-html5-camera-photo": "^1.5.11",
+ "react-qr-code": "^2.0.12",
+ "react-qr-reader": "^3.0.0-beta-1"
}
}
diff --git a/resources/css/app.css b/resources/css/app.css
index b42ef0f..8a24077 100644
--- a/resources/css/app.css
+++ b/resources/css/app.css
@@ -6,3 +6,4 @@
/* @apply w-full sm:max-w-md mt-6 px-6 py-4 shadow-lg overflow-hidden sm:rounded-lg */
@apply rounded p-10 shadow-lg
}
+
diff --git a/resources/js/Components/Alert.jsx b/resources/js/Components/Alert.jsx
new file mode 100644
index 0000000..8d3ef79
--- /dev/null
+++ b/resources/js/Components/Alert.jsx
@@ -0,0 +1,31 @@
+import React, { useCallback } from "react";
+import Button from "@mui/material/Button";
+import { SnackbarProvider, useSnackbar } from "notistack";
+
+function SnackbarExample() {
+ const { enqueueSnackbar } = useSnackbar();
+ const handleClickVariant = (variant) => () => {
+ // variant could be success, error, warning, info, or default
+ enqueueSnackbar("The user is Added!", { variant });
+ };
+
+ return (
+
Decoded Result: {decodedResult}
+ +{formattedDateTime}
+