From d1e06e99aae5979f2451355ebc55741eb0846ab1 Mon Sep 17 00:00:00 2001 From: alealien666 Date: Wed, 26 Feb 2025 03:04:33 +0700 Subject: [PATCH] fe --- app/Http/Controllers/PaymentController.php | 87 +++- package-lock.json | 370 ++++++++++++++---- package.json | 8 +- public/assets/android-chrome-192x192.png | Bin 0 -> 14556 bytes public/assets/android-chrome-512x512.png | Bin 0 -> 77240 bytes public/assets/apple-touch-icon.png | Bin 0 -> 13017 bytes public/assets/favicon-16x16.png | Bin 0 -> 411 bytes public/assets/favicon-32x32.png | Bin 0 -> 979 bytes public/assets/favicon.ico | Bin 0 -> 15406 bytes public/assets/intro.png | Bin 0 -> 189330 bytes public/assets/logo.jpg | Bin 0 -> 13950 bytes public/assets/logo192.png | Bin 0 -> 14556 bytes public/assets/logo512.png | Bin 0 -> 77240 bytes public/assets/manifest.json | 25 ++ public/assets/robots.txt | 3 + public/index.html | 14 + public/utils/dummyData.jsx | 44 +++ public/utils/globalConstantUtil.jsx | 15 + resources/js/App.css | 38 ++ resources/js/Auth/auth.jsx | 37 ++ resources/js/Auth/init.jsx | 27 ++ resources/js/Auth/store.jsx | 16 + .../js/Components/CalendarView/index.jsx | 146 +++++++ resources/js/Components/CalendarView/util.jsx | 10 + resources/js/Components/Cards/TitleCard.jsx | 30 ++ resources/js/Components/Header.jsx | 83 ++++ resources/js/Components/Input/InputText.jsx | 24 ++ resources/js/Components/Input/SearchBar.jsx | 22 ++ resources/js/Components/Input/SelectBox.jsx | 41 ++ .../js/Components/Input/TextAreaInput.jsx | 24 ++ resources/js/Components/Input/ToogleInput.jsx | 24 ++ resources/js/Components/Layout.jsx | 47 +++ resources/js/Components/LeftSidebar.jsx | 58 +++ resources/js/Components/ModalInput.jsx | 14 +- resources/js/Components/ModalLayout.jsx | 46 +++ resources/js/Components/PageContent.jsx | 55 +++ resources/js/Components/RightSidebar.jsx | 60 +++ resources/js/Components/SidebarSubmenu.jsx | 49 +++ resources/js/Components/SuspenseContent.jsx | 9 + .../js/Components/Typography/ErrorText.jsx | 7 + .../js/Components/Typography/HelperText.jsx | 7 + .../js/Components/Typography/Subtitle.jsx | 7 + resources/js/Components/Typography/Title.jsx | 7 + .../CalendarEventsBodyRightDrawer.jsx | 19 + .../js/Components/features/calendar/index.jsx | 45 +++ .../features/charts/components/BarChart.jsx | 53 +++ .../charts/components/DoughnutChart.jsx | 66 ++++ .../features/charts/components/LineChart.jsx | 62 +++ .../features/charts/components/PieChart.jsx | 66 ++++ .../charts/components/ScatterChart.jsx | 55 +++ .../charts/components/StackBarChart.jsx | 61 +++ .../js/Components/features/charts/index.jsx | 58 +++ .../components/ConfirmationModalBody.jsx | 40 ++ .../NotificationBodyRightDrawer.jsx | 15 + .../features/common/headerSlice.jsx | 30 ++ .../Components/features/common/modalSlice.jsx | 35 ++ .../features/common/rightDrawerSlice.jsx | 33 ++ .../dashboard/components/AmountStats.js | 25 ++ .../features/dashboard/components/BarChart.js | 53 +++ .../dashboard/components/DashboardStats.js | 23 ++ .../dashboard/components/DashboardTopBar.js | 75 ++++ .../dashboard/components/DoughnutChart.js | 66 ++++ .../dashboard/components/LineChart.js | 62 +++ .../dashboard/components/PageStats.js | 30 ++ .../dashboard/components/UserChannels.js | 45 +++ .../js/Components/features/dashboard/index.js | 78 ++++ .../features/documentation/DocComponents.js | 39 ++ .../features/documentation/DocFeatures.js | 39 ++ .../documentation/DocGettingStarted.js | 37 ++ .../components/DocComponentsContent.js | 99 +++++ .../components/DocComponentsNav.js | 35 ++ .../components/FeaturesContent.js | 147 +++++++ .../documentation/components/FeaturesNav.js | 39 ++ .../components/GettingStartedContent.js | 173 ++++++++ .../components/GettingStartedNav.js | 40 ++ .../Components/features/integration/index.js | 60 +++ .../leads/components/AddLeadModalBody.jsx | 62 +++ .../js/Components/features/leads/index.jsx | 104 +++++ .../Components/features/leads/leadSlice.jsx | 49 +++ .../features/settings/billing/index.js | 82 ++++ .../settings/profilesettings/index.js | 51 +++ .../features/settings/team/index.js | 97 +++++ .../Components/features/transactions/index.js | 128 ++++++ .../features/user/ForgotPassword.js | 86 ++++ .../Components/features/user/LandingIntro.js | 27 ++ .../js/Components/features/user/Login.js | 72 ++++ .../js/Components/features/user/Register.js | 73 ++++ .../user/components/TemplatePointers.js | 14 + resources/js/Layouts/GuestLayout.jsx | 2 +- resources/js/Pages/Auth/Login.jsx | 12 +- .../list-admin/payment/ManualPayment.jsx | 11 +- resources/js/Pages/protected/404.jsx | 26 ++ resources/js/Pages/protected/Bills.jsx | 19 + resources/js/Pages/protected/Blank.jsx | 27 ++ resources/js/Pages/protected/Calendar.jsx | 19 + resources/js/Pages/protected/Charts.jsx | 19 + resources/js/Pages/protected/Dashboard.jsx | 19 + resources/js/Pages/protected/Integration.jsx | 19 + resources/js/Pages/protected/Leads.jsx | 19 + .../js/Pages/protected/ProfileSettings.jsx | 19 + resources/js/Pages/protected/Team.jsx | 19 + resources/js/Pages/protected/Transactions.jsx | 19 + resources/js/Pages/protected/Welcome.js | 27 ++ resources/js/Routes/index.jsx | 85 ++++ resources/js/Routes/sidebar.jsx | 46 +++ resources/js/app.jsx | 28 +- resources/js/index.css | 32 ++ resources/js/reportWebVitals.jsx | 13 + resources/js/store.js | 16 + routes/web.php | 5 +- 110 files changed, 4491 insertions(+), 112 deletions(-) create mode 100644 public/assets/android-chrome-192x192.png create mode 100644 public/assets/android-chrome-512x512.png create mode 100644 public/assets/apple-touch-icon.png create mode 100644 public/assets/favicon-16x16.png create mode 100644 public/assets/favicon-32x32.png create mode 100644 public/assets/favicon.ico create mode 100644 public/assets/intro.png create mode 100644 public/assets/logo.jpg create mode 100644 public/assets/logo192.png create mode 100644 public/assets/logo512.png create mode 100644 public/assets/manifest.json create mode 100644 public/assets/robots.txt create mode 100644 public/index.html create mode 100644 public/utils/dummyData.jsx create mode 100644 public/utils/globalConstantUtil.jsx create mode 100644 resources/js/App.css create mode 100644 resources/js/Auth/auth.jsx create mode 100644 resources/js/Auth/init.jsx create mode 100644 resources/js/Auth/store.jsx create mode 100644 resources/js/Components/CalendarView/index.jsx create mode 100644 resources/js/Components/CalendarView/util.jsx create mode 100644 resources/js/Components/Cards/TitleCard.jsx create mode 100644 resources/js/Components/Header.jsx create mode 100644 resources/js/Components/Input/InputText.jsx create mode 100644 resources/js/Components/Input/SearchBar.jsx create mode 100644 resources/js/Components/Input/SelectBox.jsx create mode 100644 resources/js/Components/Input/TextAreaInput.jsx create mode 100644 resources/js/Components/Input/ToogleInput.jsx create mode 100644 resources/js/Components/Layout.jsx create mode 100644 resources/js/Components/LeftSidebar.jsx create mode 100644 resources/js/Components/ModalLayout.jsx create mode 100644 resources/js/Components/PageContent.jsx create mode 100644 resources/js/Components/RightSidebar.jsx create mode 100644 resources/js/Components/SidebarSubmenu.jsx create mode 100644 resources/js/Components/SuspenseContent.jsx create mode 100644 resources/js/Components/Typography/ErrorText.jsx create mode 100644 resources/js/Components/Typography/HelperText.jsx create mode 100644 resources/js/Components/Typography/Subtitle.jsx create mode 100644 resources/js/Components/Typography/Title.jsx create mode 100644 resources/js/Components/features/calendar/CalendarEventsBodyRightDrawer.jsx create mode 100644 resources/js/Components/features/calendar/index.jsx create mode 100644 resources/js/Components/features/charts/components/BarChart.jsx create mode 100644 resources/js/Components/features/charts/components/DoughnutChart.jsx create mode 100644 resources/js/Components/features/charts/components/LineChart.jsx create mode 100644 resources/js/Components/features/charts/components/PieChart.jsx create mode 100644 resources/js/Components/features/charts/components/ScatterChart.jsx create mode 100644 resources/js/Components/features/charts/components/StackBarChart.jsx create mode 100644 resources/js/Components/features/charts/index.jsx create mode 100644 resources/js/Components/features/common/components/ConfirmationModalBody.jsx create mode 100644 resources/js/Components/features/common/components/NotificationBodyRightDrawer.jsx create mode 100644 resources/js/Components/features/common/headerSlice.jsx create mode 100644 resources/js/Components/features/common/modalSlice.jsx create mode 100644 resources/js/Components/features/common/rightDrawerSlice.jsx create mode 100644 resources/js/Components/features/dashboard/components/AmountStats.js create mode 100644 resources/js/Components/features/dashboard/components/BarChart.js create mode 100644 resources/js/Components/features/dashboard/components/DashboardStats.js create mode 100644 resources/js/Components/features/dashboard/components/DashboardTopBar.js create mode 100644 resources/js/Components/features/dashboard/components/DoughnutChart.js create mode 100644 resources/js/Components/features/dashboard/components/LineChart.js create mode 100644 resources/js/Components/features/dashboard/components/PageStats.js create mode 100644 resources/js/Components/features/dashboard/components/UserChannels.js create mode 100644 resources/js/Components/features/dashboard/index.js create mode 100644 resources/js/Components/features/documentation/DocComponents.js create mode 100644 resources/js/Components/features/documentation/DocFeatures.js create mode 100644 resources/js/Components/features/documentation/DocGettingStarted.js create mode 100644 resources/js/Components/features/documentation/components/DocComponentsContent.js create mode 100644 resources/js/Components/features/documentation/components/DocComponentsNav.js create mode 100644 resources/js/Components/features/documentation/components/FeaturesContent.js create mode 100644 resources/js/Components/features/documentation/components/FeaturesNav.js create mode 100644 resources/js/Components/features/documentation/components/GettingStartedContent.js create mode 100644 resources/js/Components/features/documentation/components/GettingStartedNav.js create mode 100644 resources/js/Components/features/integration/index.js create mode 100644 resources/js/Components/features/leads/components/AddLeadModalBody.jsx create mode 100644 resources/js/Components/features/leads/index.jsx create mode 100644 resources/js/Components/features/leads/leadSlice.jsx create mode 100644 resources/js/Components/features/settings/billing/index.js create mode 100644 resources/js/Components/features/settings/profilesettings/index.js create mode 100644 resources/js/Components/features/settings/team/index.js create mode 100644 resources/js/Components/features/transactions/index.js create mode 100644 resources/js/Components/features/user/ForgotPassword.js create mode 100644 resources/js/Components/features/user/LandingIntro.js create mode 100644 resources/js/Components/features/user/Login.js create mode 100644 resources/js/Components/features/user/Register.js create mode 100644 resources/js/Components/features/user/components/TemplatePointers.js create mode 100644 resources/js/Pages/protected/404.jsx create mode 100644 resources/js/Pages/protected/Bills.jsx create mode 100644 resources/js/Pages/protected/Blank.jsx create mode 100644 resources/js/Pages/protected/Calendar.jsx create mode 100644 resources/js/Pages/protected/Charts.jsx create mode 100644 resources/js/Pages/protected/Dashboard.jsx create mode 100644 resources/js/Pages/protected/Integration.jsx create mode 100644 resources/js/Pages/protected/Leads.jsx create mode 100644 resources/js/Pages/protected/ProfileSettings.jsx create mode 100644 resources/js/Pages/protected/Team.jsx create mode 100644 resources/js/Pages/protected/Transactions.jsx create mode 100644 resources/js/Pages/protected/Welcome.js create mode 100644 resources/js/Routes/index.jsx create mode 100644 resources/js/Routes/sidebar.jsx create mode 100644 resources/js/index.css create mode 100644 resources/js/reportWebVitals.jsx create mode 100644 resources/js/store.js diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index bcdef03..490b97b 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -10,6 +10,7 @@ use Inertia\Inertia; use App\Services\cekDenda; use App\Services\GenerateMonthlyBill; +use Illuminate\Support\Facades\DB; use Exception; class PaymentController extends Controller @@ -53,16 +54,90 @@ public function indexManualPayment(cekDenda $cekDenda, GenerateMonthlyBill $gene ]); } - public function manualPayment(Request $request, $id) + public function manualPayment(Request $request, $paymentId) { - $request->validate([ - '' - ], [ - 'amount.required' => 'wajib mengisi nominal pembayaran', - ]); + // $request->validate([ + // 'range' => 'required|integer|min:1', + // ], [ + // 'range.required' => 'Jumlah bulan pembayaran harus diisi.', + // 'range.integer' => 'Jumlah bulan pembayaran harus berupa angka.', + // 'range.min' => 'Minimal pembayaran adalah 1 bulan.', + // ]); try { + DB::beginTransaction(); + $range = (int) $request->input('range'); + $payment = Payment::find($paymentId); + + $unpaidDetails = DetailPayment::where('payment_id', $paymentId) + ->where('status', 'unpaid') + ->orderBy('payment_year', 'asc') + ->orderBy('payment_month', 'asc') + ->get(); + + $jumlahUnpaid = $unpaidDetails->count(); + $totalAmount = 0; + + if ($jumlahUnpaid >= $range) { + foreach ($unpaidDetails->take($range) as $detail) { + $total = $detail->amount + $detail->penalty; + $detail->update([ + 'status' => 'paid' + ]); + $totalAmount += $total; + } + } else { + foreach ($unpaidDetails as $detail) { + $total = $detail->amount + $detail->penalty; + $detail->update([ + 'status' => 'paid' + ]); + + $totalAmount += $total; + } + + $sisa = $range - $jumlahUnpaid; + $latestUnpaid = $unpaidDetails->last(); + $bulanTerakhir = $latestUnpaid ? $latestUnpaid->payment_month : now()->month; + $tahunTerakhir = $latestUnpaid ? $latestUnpaid->payment_year : now()->year; + + $typeId = $latestUnpaid ? $latestUnpaid->type_id : PaymentType::first()->id; + $nominal = PaymentType::where('id', $typeId)->value('nominal'); + + for ($i = 1; $i <= $sisa; $i++) { + $bulanTerakhir++; + if ($bulanTerakhir > 12) { + $bulanTerakhir = 1; + $tahunTerakhir++; + } + + $penalty = 0; + $totalAmount += $nominal + $penalty; + + DetailPayment::create([ + 'payment_id' => $paymentId, + 'payment_month' => $bulanTerakhir, + 'payment_year' => $tahunTerakhir, + 'amount' => $nominal, + 'penalty' => $penalty, + 'status' => 'paid', + 'type_id' => $typeId + ]); + } + } + + $payment->update([ + 'amount_payment' => $totalAmount + ]); + DB::commit(); + + // return redirect()->back()->with('success', 'Berhasil Melakukan Pembayaran'); + // return $request->all(); + return $payment; } catch (Exception $e) { + DB::rollBack(); + // return redirect()->back()->with('error', $e->getMessage()); + return $e->getMessage(); } } } diff --git a/package-lock.json b/package-lock.json index f65c348..5a272d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,13 @@ "packages": { "": { "dependencies": { - "@inertiajs/inertia": "^0.11.1" + "@heroicons/react": "^2.2.0", + "@inertiajs/inertia": "^0.11.1", + "@reduxjs/toolkit": "^2.6.0", + "react-redux": "^9.2.0", + "react-router-dom": "^7.2.0", + "theme-change": "^2.5.0", + "web-vitals": "^4.2.4" }, "devDependencies": { "@headlessui/react": "^1.4.2", @@ -63,30 +69,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", - "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", - "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", + "@babel/generator": "^7.26.9", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.7", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.26.7", - "@babel/types": "^7.26.7", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -102,13 +108,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", - "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", "dev": true, "dependencies": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -200,25 +206,25 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", "dev": true, "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", - "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "dev": true, "dependencies": { - "@babel/types": "^7.26.7" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -258,30 +264,30 @@ } }, "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", - "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -290,9 +296,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -671,6 +677,14 @@ "react-dom": "^16 || ^17 || ^18" } }, + "node_modules/@heroicons/react": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.2.0.tgz", + "integrity": "sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==", + "peerDependencies": { + "react": ">= 16 || ^19.0.0-rc" + } + }, "node_modules/@inertiajs/core": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-1.3.0.tgz", @@ -824,6 +838,29 @@ "node": ">=14" } }, + "node_modules/@reduxjs/toolkit": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.6.0.tgz", + "integrity": "sha512-mWJCYpewLRyTuuzRSEC/IwIBBkYg2dKtQas8mty5MaV2iXzcmicS3gW554FDeOvLnY3x13NIk8MB1e8wHO7rqQ==", + "dependencies": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@tailwindcss/forms": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz", @@ -837,12 +874,12 @@ } }, "node_modules/@tanstack/react-virtual": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.11.3.tgz", - "integrity": "sha512-vCU+OTylXN3hdC8RKg68tPlBPjjxtzon7Ys46MgrSLE+JhSjSTPvoQifV6DQJeJmA8Q3KT6CphJbejupx85vFw==", + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.2.tgz", + "integrity": "sha512-LceSUgABBKF6HSsHK2ZqHzQ37IKV/jlaWbHm+NyTa3/WNb/JZVcThDuTainf+PixltOOcFCYXwxbLpOX9sCx+g==", "dev": true, "dependencies": { - "@tanstack/virtual-core": "3.11.3" + "@tanstack/virtual-core": "3.13.2" }, "funding": { "type": "github", @@ -854,9 +891,9 @@ } }, "node_modules/@tanstack/virtual-core": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.11.3.tgz", - "integrity": "sha512-v2mrNSnMwnPJtcVqNvV0c5roGCBqeogN8jDtgtuHCphdwBasOZ17x8UV8qpHUh+u0MLfX43c0uUHKje0s+Zb0w==", + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.2.tgz", + "integrity": "sha512-Qzz4EgzMbO5gKrmqUondCjiHcuu4B1ftHb0pjCut661lXZdGoHeze9f/M8iwsK1t5LGR6aNuNGU7mxkowaW6RQ==", "dev": true, "funding": { "type": "github", @@ -904,6 +941,16 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==" + }, "node_modules/@vitejs/plugin-react": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", @@ -1098,9 +1145,9 @@ } }, "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" @@ -1134,9 +1181,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001696", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001696.tgz", - "integrity": "sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==", + "version": "1.0.30001700", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", + "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", "dev": true, "funding": [ { @@ -1240,6 +1287,14 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -1370,9 +1425,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.88", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.88.tgz", - "integrity": "sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==", + "version": "1.5.104", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.104.tgz", + "integrity": "sha512-Us9M2L4cO/zMBqVkJtnj353nQhMju9slHm62NprKTmdF3HH8wYOtNvDFq/JB2+ZRoGLzdvYDiATlMHs98XBM1g==", "dev": true }, "node_modules/emoji-regex": { @@ -1408,6 +1463,21 @@ "node": ">= 0.4" } }, + "node_modules/es-set-tostringtag": { + "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==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", @@ -1489,9 +1559,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -1529,12 +1599,12 @@ } }, "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -1545,13 +1615,14 @@ } }, "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -1603,16 +1674,16 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", + "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.0", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", @@ -1700,6 +1771,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -1711,6 +1797,15 @@ "node": ">= 0.4" } }, + "node_modules/immer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", + "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -1810,8 +1905,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/jsesc": { "version": "3.1.0", @@ -1882,7 +1976,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -2067,9 +2160,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "engines": { "node": ">= 0.4" }, @@ -2157,9 +2250,9 @@ } }, "node_modules/postcss": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", - "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -2343,7 +2436,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dev": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -2355,7 +2447,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "dev": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -2364,6 +2455,28 @@ "react": "^18.3.1" } }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, "node_modules/react-refresh": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", @@ -2373,6 +2486,44 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.2.0.tgz", + "integrity": "sha512-fXyqzPgCPZbqhrk7k3hPcCpYIlQ2ugIXDboHUzhJISFVy2DEPsmHgN588MyGmkIOv3jDgNfUE3kJi83L28s/LQ==", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.2.0.tgz", + "integrity": "sha512-cU7lTxETGtQRQbafJubvZKHEn5izNABxZhBY0Jlzdv0gqQhCPQt2J8aN5ZPjS6mQOXn5NnirWNh+FpE8TTYN0Q==", + "dependencies": { + "react-router": "7.2.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -2394,6 +2545,24 @@ "node": ">=8.10.0" } }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==" + }, "node_modules/resolve": { "version": "1.22.10", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", @@ -2467,7 +2636,6 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dev": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -2481,6 +2649,11 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2758,6 +2931,11 @@ "node": ">=14.0.0" } }, + "node_modules/theme-change": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/theme-change/-/theme-change-2.5.0.tgz", + "integrity": "sha512-B/UdsgdHAGhSKHTAQnxg/etN0RaMDpehuJmZIjLMDVJ6DGIliRHGD6pODi1CXLQAN9GV0GSyB3G6yCuK05PkPQ==" + }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -2797,6 +2975,11 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==" + }, "node_modules/update-browserslist-db": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", @@ -2827,6 +3010,14 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -2898,6 +3089,11 @@ "picomatch": "^2.3.1" } }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==" + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index ab4f2c7..991955f 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,12 @@ "vite": "^4.0.0" }, "dependencies": { - "@inertiajs/inertia": "^0.11.1" + "@heroicons/react": "^2.2.0", + "@inertiajs/inertia": "^0.11.1", + "@reduxjs/toolkit": "^2.6.0", + "react-redux": "^9.2.0", + "react-router-dom": "^7.2.0", + "theme-change": "^2.5.0", + "web-vitals": "^4.2.4" } } diff --git a/public/assets/android-chrome-192x192.png b/public/assets/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..87472a7556e02f64aca2bd4aa5206b1af190c0ff GIT binary patch literal 14556 zcmeHu<9FWA7wspuZQE#UyJ2HDXl$E}lQy=K#%5zDjqNi@;w|1Egf|915aJGlP>gsZx&1W+?Yd;$REfV`Br zrkBx$A>3bLt%r}&^UE_fwlPIC^u$7J3{_2RY4lEdY4l=qYjJW-`Qynj>U&H*vFJby zXlXT7sX<6YIY)Up37=b^RRON2&)2COd81p80TuYczg>H5gMWDi1)nzVHhsrErMgMZII(cf%v-WP1*|>W`{R;pV`T*(h56hw2iu55cL;DFM z)oF?Eqw9EVI4+?zL+Xr&;9LvhBp-;c29FkgTJ(JrNsdk1J{$F7pnLDGm+3abYQcc$ zE$Fz0`kFi_!wB7L6VB`@l@!e+`~aUEVy}jv9z-v2McxJp5r!FFW_GQurMKhpEvzPy z{>gUPnXIRbTtV)jHF0^T5K{-_TXpjTiP6b)AkrKHW6kpi7vX8fOXt+%d| z2^=Cs1;({7zi%p>A`N^_FbaTCl@pmWN(tY#Mh&E(2WwFK9K^di9{|Y>7*a%0y}@Ge z%a5w1nyfVqJNxL!Z&*$b6gn?oHM3h2rDq_SBc~6>zryTP;9uH727O`6u%m-x$_vpd zm)N2AY6(#U=*f4WCjQz%W>wavgecU6S?Cf1g+@b3#i~I^dbj+%`Y4Jp*E!ke#Fd`o zoJK*NhKXS$e5xwEJNuyZFF_R%aZN#HlT1M{Wa6r5+oij{PVHD;2+%f?%u-jMQ$+S~ zPQOS!R_6PUFCbT6%Aawy&2*r+r4Pp!OSZeS8s*Pev&=Eh*M> zBx*(=g)Wg>jBr3=FbvNQ(g*c-S8UBs?E~^JD;C>~$m^VFqH;emZQRCFHSXub-EafF z^N}iC`I7gdQ)-N$DJir3V^jJNROb z0?SOSD$(28ueB!N$RHeH7*-e)4VP-J`mDN*;)X$spl=O_D-X=Bel_XxEoe=X+FqA8 zM)|5FnL`Khe(#s-)_@#$u``(F0o?CNRA6TlXaq(6(cP)=2Rlw@2nP+mt^74e8-B+E z>bpSDBM#yOt|iCkBKP4NZ|K3*>h;`)ce$M=F&yHM-J(}N3Z^jMZK2P(yEP6rUD{!K zi^G7Yp?(1ic#~&J5Nu!N<>U?l6b$8_QJR02d~+l@$NN+jVCrkXV& z=L(Q7l&=ZH;W0~3i0N)S2H4-?F;!<+Tcgi)XiCIO@OrH<${CTLb#SdFiDM6|t?_W~ z&iJ&U$vlbBTGIM|Ke_E*GOZ_#@}_!id%4~Ocsfb}-<|hyP*(1Oupwi3jM<2tDod&K zKBAYWv-39zS@m$!)M|WhxnN2l-&?IH)-6oOvbl}CDu`-De)mOtBev&aYX*1A#cI|5 z41*dOso926>GWaO91m$I?|1wANAo?8MU;VlgZ~Hrhf4xfmcrM@zOTIvt{fz;WQ?Fa zrbs4Yo<9UpnZ@*+lU?dXg%pJ$klEScF=)Ec-k&Pb^5ceIQW)!QrzM=W)o0ipf z@R`a8S44W%Rj*OHEDDC8K>~H0@&=;Lq#t*3B*YxSyP17gWtZ=PJ+nY!)ieUo?PY=) zoH92>sZIZ(8~AQ4-2detiaoxR_V@6KZx;-1EE?%|F0gEGB}8nWEHRfQi%yU#K?!2X zsUnEAPLYtxboLq=-Y>y3kP&`WcxfMI)Tgp@q)YKR-EHeQYD44+fgcq?`qLNUi4&0G zIge3QZr1(DyzNcf8qK7rxtif!@#PUY<(PR2a0Ah@%lMe^nxyfy*Vp$dLVl94HE9y$ z5MlT+5T3|As65;4jFJ8cmBSEL$PxPXeGE3kQS-3Ikho$aA&{k{yl9HXWR#s?S!etI z)okG)Ze=f@kbWY`J#U>nXLwWxOb?xJ?`qFu(Fys_mnLq+!Eq?-t3G^#)-`@+lOacZ zTeYIs+;~)uEgY*~=g*#g!_o>Eynk!RWUms4<0V{*7Nr#!o6=%fV4ZuJpozdH%+&+U zVi_;jX9sO^go(DCyAaa;$=ds9i~iGbf2bjxpqZdc z5^k#97MXAu-R+tEv$v~aFuG+>H-_97))%9|v<3uLHG#fJ~LfsY$<;Gzc+c1g0Fnf{QZ?;lHpkM}F^0VIC9}R8r=eH?+u7VsNR-yGr6rt1* zc9Ez~_ZQMy(NTI?mGzP2=6ijW`ZpsPh~hOX6^42YFn~v^knJ>?F5kKt$mEyGT(k%Pno`HDX&}*eYu6wTPX1ZL{*)zuTM3)+5*go8kp?)0-C2x*AINd z9`h~0s{{H4-ui2wn!XVcBx6j;u`K8_zhpJ*{E$9h-02)ddq|Ave(P{pGmM8@JSm`p zl5Ml<*8>n7#4*+8+7mz0epS)b9j6GfirNvlFcEpDoiLJ8a)va1A=c*yEcTkjb&mS;KAi8Ma8#iAt6EyRNka0 zP^4X)XUdnNY}1Q)q0m*aA*GAtMi&3dF(AiW*b)x2;iQLTDLSG`<_fW2h0Vp>)(Ni5 zHi}&p3Ff-A9?s`j%Wb*9jQF{$U>tO7FXZEoMw-2Zuv{xk9`F5`)l zs+u$KgO>;Nd%Ge5qkB1?zDTxV{rXRCWG9=$P~O!wO+C$A;Q(8wvU)AIbhf!npb&4u zyGr$txYd#b|Gu``M9hTN8_U7KRh{#=$lVMT2Jed^hf(0WyRk_72@qu3ZvnF*_|9_A z`~&&IaWY>sDkL3$j1lfna$Ke!k^2J#VFUv*sc!gTy_PlUZ?TG{5Er?od3Ez*aSdz( zdXdLfn*tnb0Q;5F z((l9s>Pl!njwwMGVv!5`wnX|EB=9Q6m|^L(rh*$fTLtag=A$+z_PaC` z(&$AJcR698)dXg}gLvrL9^qvGnwaT#3I~j3m(M|%^Qf8%)=(08Daf3Xzqy4G z>+H}x`XlrYC>Ik)u36?+>}&P>9&M>+_%@_>U{zbtjQQns+~(XAA}9s|UYG$@OvDSF zUGs5pi4NEd2Xoipme)3mo)Cynk=fDVb92FbCFRxhU`7ct>ja)feI6!ik)19B91Gt! zG3qjW=^G}jvyA6k?f3J~xkWxo2$kBp2_7WP`D!SnRo?6%#DKXUf_OS@*S*ij1`G6- z$Unw8$AhT9TmsUC+^LZTdyo*II(vVeU!XD;JwhNhScI<&CcyxU9JENelf9zEEl}y- zicUX8b@K? z0Di<6xLLhgD6lCn4| z#EJVFHl?h-P4#yR6`n`4Wq&(juQ?s$^>5|*nH8$hWmtqti2o`Cjt#1uE+HCcU$^RZ zy(ty1@KIBiAJsa&VYP*X2vMju=VpaL?^q#-Dm$P*f&$LdB?RRLap#=xtu&Oa`k2o9 zt26iD*%E~F=TO>}`vfzC-H%9P3c<{V9cT#Bo&uC7W!p$CYeXnyQ%&W^kkMo+lR+nl zU;KXWIz(`}v&dzsv^bMoH6L#VO-v8<*En_H3+__l&5%pa%3|~p&ry`!qj9wNVf<5C zJ4k1^^efOWvaYzPRY~_R1j>kO>!8!-!{b7F6+V9dZ-u>MgE6?4l9{Bud>VB}6CgSAYbl;!Lp$y*GUb^mYOe#M0ieFm; zv_CvAUHO#+Eooe;zeu0JXM%q8-MBYvPaZpDbGUN1ti@qup%r3Q;(>W{PljT#)k9Rws6F?u=7t;FTb<7X9yfmXSsE&#+INnG6S^v~MDrDgix`l~CGVPiWKJLN2%Ync zHB&|-OqTYg!B395+xq*0{eNM9>{khFz5Zm5|7*>BZX-}dB%{Vj zBH|$G$zTLl#=QPzmd7=k&vo!733KGdZS~`y1C#Ssj=36FvL%`=fm`t3DY6;p)3fZ? zQ8(zehwKusk0gPWh5__rYRI|2Ot=Os?0XenfLs}j3GDa zpZf8V;u>qzZQuFs#NO**x?{#7j_DtpHNXyWSma!Zo9(}@6T2B~I{2~72!suCv)O`X zv(k2x&RoPwyGP;VxJ+c$B>Uv|7S1Bfp59MsMAa2O$4qy%qEqW0)4=>>J?+jg0iHP_ zX_g>?zLXS0?PYtsCIou5CgN^4FH%_}PDB-TLBl0RMAs3J;FV6D2psfo)>QaeE>o*{4p_DhlVYUQ=v0T|rquUKsSkXzsd`=2?r_iCuY1u0sePw^LM;TZ z!)h>kA6TGUw$Mb+D>)&^MM5uylCJHrH$1X^&g9PDE*SY}yv``}l>l_7GC#nFCg$Z)Bkt6WRdPlQPjV*AoUgtJ!&v#K92QOx!~^EGFt z*_#>_k!l{{LILhabOp0BVLf*5rKLI>0t~8?4nAOoRpuFSRf)9up+jS^gBaHMS%>zj z4xj0$(I2_7KWHz~8$u=)($dd2k+1GC=v9LRK168(GpZRC1T1HD`I_T z-du6K@LUVse*qQ@9_v=bkdb37kfl<8zV|ZnqjAwP_pg6l>ZhSoD6fgVOtjAoCRw0# zw5nUg<80fxoCGc1yL$}nAO_3){$2SuvC_nX*}!AP?4LIe14LB!c#Y@{h^goACTKuA z09#O56q)vn*9eKwE?a;0W5n3IE8$p9->{w9KwNPE-X%Z8Zj#r}R+Vfgh|=L01VayTuc&k$Kbr zaU0EFOGwzq)B zB_(Td(;2Q%-zoXX=zJ+np@E_1_(1X~SVw0OTOwn}K>$kQL-G;3e}^*}HvK9m*o}`Mj z#GBZ{XDSUcw?lh>XV8w{XVB5s^?CiQtcN>8($A-w)mIiIqy2!n*%|K`_4X20( zz&Q%9Qd=fEwwtg3T@fK!!=5S-sF{3--_%=iXFnNgG%sRq+b;Kq(%w? zUg_3vGSYT^DBCa9J=c%=`!jXhfZ!u@E{cQmj;1tWeQXMdbA7*nk~v9dW(&& z#sNHH0XUXgRGdJwqLm%cnHD=xQSw<*xiZBTb!zIZ)W#8h@npw{1>B>vWV`P4)E}2P z*CDYIcWP@#NpGeXbqlD64R{2j{u=0H->`R{G>VH13i zoPF&Y2GHY}AYPJ(Q?bE4uJq`>I4OKHkVqU#bv4<#BTyphf!>VCtQ)e@<>x_E>4IsM zdZwU~G5K25+pp0$*LGI;?FX?Xl6}_Di>{6X={BE0`1`bd#00d18t@aMbhRY_^Xl(R z_{m5sMNgY}CO`xvui{!rs!=o@jX@F$RPww5pgG5!GT-LFN943T~uyCp(t#yvW}R4ap5YP2Yhs--YlPr-QzPMXB5Eg}gdcQX0*ekq$8h(Y_3f&hpJ1b5Wi^PRPruAKjNi``7*GN$xZOqqfP zKYUTVUYQiBvg`62R&?Kq%?Pc#>vk_Zi$|ZrS4L#9$&@rZP1;T#*f=6KaJj|=hbIpv zmH*9qNsYXj&s3e)tZLWZPxIX^DG!Mpv3%SusKkD&VtNnMQEnP3&?WX=)zM-2wx>1} zQ+?X8lyNxqYx%D2G#$rUf2Y^|6vXsj?=d&TK?5S_R$sy_e(#l0?_B_-?B){Bf{b`$EJQD@D1RB*63PfAAW``$aenn zg-3fsHzpTii)66f9&oI=8m=w7<)b83EN0rtY^`^m+Em6DsA*!rByhEZxtq&tXmd7$ zYp6!4n}zb|6FJF*_4D|IeHMA47`l)R#Q8i5AMtU14@2eiUgAG~vD<@ogr?);4917F zp!ud{jym#H*=+f0m_1m?CCS%P)ITC}&4f+hN|$%MYxxCWxg0@Zuadc^wzu@jZ06>#(X0PtJOI+}8!FC=i4~%ux*g zbtja8>l)_Yw^sqa)KC`D-+j_(u|UOrpO5;Rx*KwLov14bE-SdtuF9)OT;)W~fv4(# zmG`^_gi?YC4YZy@hUCjAFdFWgJfo@)Ao4wT*qk>lC*DFN!qL9(hh0ny5wnVv1Q;!|IalPR?omxK@dd3Pi{ z5sf*2^_c5hERuA7ju<7PPS)Rf$=HNY8y@F%zNl6oW?VY*7k_WRxY2y`QYgN^T8?Wx z4~g8~*a(IzvkCI^g><^+mn@De;AvCHa3(dxVD>Hva_#8>99ke0>Y=18AEuf??wwV1 z-{=7$(0QE(^cYOjgsqH~({Q!qb-iKC-9tGB<&nIQ--pg{GZs!C{kiHrfHOchq6MI$2^U4!zK;6YjFIUEfM|h0|pf2>-8iJud66^{50h zPMbGbPfrO+f)ZQr^pe8ix7T4UiD5;a7LzsO7U_YXb#b5y%G7d=2%Z`1ey7&#&ydJ5 zQ3G<+D}JsKv&dTZi1AF&Xxd3nCK7!Y5ZLBUbJ-&l3B6h`jsn?=mCC)wDJZ6U1Z9^l z1ZZnQ<}19wpQLw%XR-*eKi5pM`v^YXFp77Egbrw=LrHh7qUOyt%MU@%MLFdmj#hQvJW* z1^oYIE`$e)9*ZZHAE5(ppGp<&st&xg8wPQkJ&VP@i4pt|U72UO1%+!a`<#MztKbvy znEmbFm&Cz`EYD|}WFLXf0^T(f1MX$41C(fL)pxK1GPO#ylc+<{@tD+XYdb>kNx8j;d3R1X zpK%cisi%3{bQNO*ES=b_uQzsfJ-$$=*)zz3x`@DRMz1`BV79X#QEFHELXLV#Eax~5 z^&lPic9wwH^+S%l1fr@DQ{eaCaq$#P-rLfk3{k`A#}t@sPJ8at%#%Tzui~$y(*MY5 z?+y=~XH8>fg=@dHDOF`%=UiSN(?bO%-~;C^!{%PMPNUAAL6bcz;dfVS#A9nNzk%Mj zwE4EfW7H-#yC4hqzCuIAj?e`tY+qFU5-)X~e!joFZA8nT-pH_Vs5v`@z4J-<@>DoM zvX-oU*VP7om$m~jE$GXo@C?XrKVx|FE{0OJ#w?3C$fiZs;@cgYL5X>GC|Uce9_5KQsd5ajy)j=sc82GDL9M6k zRZU_^1A;ucw=vTi8894~!IF_P4;t6!$lY$mq2{bav=`W~#sY+eg2Xe0lTZPWwIYkb z8D%r=RiThvMFPc)L#H%9x;5!1Ysct(uYaG})V&78_9s{DFH-aCT0n(MU)@8FLCQFC z6mvi1b|$*9HQj(Wnf{aGgq^tJ<~&rhxc|D1QATPCmJ(TQ3nA}`Xt7lj6I3kzoBR0{ z`vTuZo$wp;ao?PD4tW1aCUSN?F_5~Xbk2pG`pMZdpR8~Y?Rha)Xd@eL;z$BRE-M9p z({6kvZEssW2{1t*)h1(ry)n@F!$a(Dfz|D1{Tth=)_)cjuSl$+@(mB^$1ktLV3oHw zKeXqqTRn{E9~h~h90p?nxxS=kd+7}30|DY^xnleo5nl$xfn}D5oQ@p$*Qhn!o&TPw z-JXQS(E{H&W#0>+8mG7Vs&^KT$2=jFFzCD7KOLB$kE_APG$a@@EiHk|+SiIX@O(hz zlz5|c1T9746|2co`vv%jiYJ>Ks&WQ-`(myco@n-?c7;Uj<+ZL;cZM7>1OJw^RH%a_ zB9=GiY;GO_wr`}PSHd1iq8rrEB*{qV^)T!mvzMjmFO(mohm5KU8@*jP=u#to0=}O za+oLEc^>}!zC>>m+=dL)mH13k%4mNx*@`h38ecG|d38bbOR;-zairiV$BQ&H2o**% z9XUfOfK>{(*+3`y<*cA} zxUu2fA1K&0D@O8Td6So~hda%pOJ_x?)bkrpSeWD!Ckp`hFdRsRNDQyv#X#MUa_p zN7V~ppuzLix^HiD-&R~owTOon4g6d1zl(R5F`u_NlF}Io6MvC(r#s;LdUjREMFGd` zvpKMEGcnT~6xC{@{DTz)m3W!j3gvf%9Zr_}Md1k#(@2${0;Ia-pJ{iJcU-RZ3TblN z=bB_Rs^QVwB-de^k_E1uJqusMjQZZC`IH5=j&MoQzb^(xoK$s*7&igJeWz|-2VXw{lgG?L?>~hDsUKRa5GksIyXDgl zbDOUaArI_F6(U8hBv;)(>tUqSi#dzCHM9OXzB@;SH*iUS?Mhp?s7{x1AKcH+_lH}h z(*oM##fAhjl0^EM(V%`A4iNck7bIKzW2lH1BEV=Fe#M2-@+M->MV)FIn{**0Pq^Vr zgniL!Nyms)HiZmeRo(`qcshSt#9R;BM_soq@lC&2Uv3ryVpzw!14sFL7aVmP4*o9! z%8B%*RPQ21lK5^ux$7bc8tz1QE2kR0+Gy7OBc8QsxTN1Wr_E_hDR5{56p#!vO*!Ba z5u7H9ao^s90eP3TgR%nw7mA;5a7qx>*^npSZzi#DQ28U9el8YBkx;TtHZY^k0~wD% zYfe2f+Xn^0!7_wOnutt=)D1#UaCW&w0}P$fV(c{83OP}M!!qX6oILw@u~m5J$)2{! zmaAK|BF@C1|3^eu;5^m~*_3uXbW zW*{G{H*P61e zOhQ=ggQ&fZCfn0eY$Bd@{RwPj2$2Tj{6&11IJwQG%>O=X6HfL7XSxzO!qmTDI_LG6 zUTwPpLBMJ*MH3R@1kMz9JF9jeeuzm}7?rp=s$mV3||ERog&Y6THVo4o8V?thwV z=gw^FuWJfgYj36rO4ColO>xGCU6@}tK>d%ms=4}a=?lMHu_44dgVs9G>|-O03?4d@ zthe-fvZiWo=T;XR*kJy?d}pf>_J(u)9%36#a z#^_j7cw-VuW2w7tg%fm|hS|Jcw;gO{@XU+-%sKmvQicT#IuWBQ+4Z06S=t;hhh*yG z`D!|vRMJNag!Ub8*N6NNaFi=*`@I4+oADp&@sO`0_qP)ph%iRn%vZhH9(OVks*kg` zfwV&@F$L+QJ&9$6pi#7A-`{Z|hP`9UeBd{TNmUFoS+2DuQ2HIgto6W+ckjS*b+05B zr`$d)(z|YdrpRj&E>zHzU8f6SiNxYDG3}OmLba#)^oROeu{*s1cs#tSpRMffEsT`! zghJi#J1`^ba5hikV_z>TBcb%Q`u!*yL!obFR)_%;gTv%;S^#dEzoT7jL~{uN-og$u5gHg(KS?xBRJv zA}Fevsh#vNZd4LGh5hMaSpCnL&ejz?yYF-E4L0GQVM|3LZU_cHW~7ihUP1>#njhlEWyUg}2$HU5ybxvA{8Okl=Z--Dh+fd;_z=TE3 zMuv)tqlP}PKpzzKn!2~ld!IkUqtwAUaEZzDN5Y1r>B!4BUTf3a#S-oGEg*g_(AjpxOMNhZOE7G`v-#!6?90Kl&eN1OIELw3-_Yj z=D~a#Da(R8L82%XHoEt`{oHo4zuKShKSwQ3ODqUSF-#gT>G}GiP5gDQjVIgv)jD=7c#+jvGbtG1 zB68EyndyV?_i&;L`S7~@uHO+{=kovDXET~JaBc3akJsQX7Vx~k;ixD3p5h@TPFOq4 z(y@!XrA8i~iqp+lv_xGu(z$&|uR@h;7Z7w{yuM+s`|-!k*AN6pSn|}*x$W-i$p!opX%g5e*hWmh zlR%x1zml;;uqf9KxK!_l&|3_3Rkm1Y=Mm_IuuF+7GT0|ZdX1e1joytUTSj0LaLPL* zgLZi#4V*^(%9jX1cJe6(f2;RH5x9rTcqsuyzSC%db7yjxfq%EXzUE)Rvu=l+bE52r^#QV=ayiIo8XNY&W<1YK3 z2k>uY|DU06W-N}ID+*BI?>@u+l)c4p!+rKg>c>Cx2Bj%tDqe_b-))eGFXgr=##OMO zOOSN@GQSh-L~vQ{g-1sAqpbK-6(q!3_#b}mG-E*IE9bKjtD+65KpUhME&0^D#ci$> z$|GECUf)&5=GFbcIhvXP6mc!DFNqAjPOfyB0|q3PDdEB$NR`JOVC>eUj@TM2qLR5C zUsTyhTP7Qa1Tfl2A4Oz9^ew`zt4}>T)U*~8QLqbP-814T@JBeO9&~tovTp$$DW(^DC%V| z1T0wAfByIaUf61`!(4mDzLS#sbvDb%mnmyJ?w&LOnV|%+nM2T2J6dR85Gw7eq0>Pg zx8)ITPz(9Scyd5R%W40eL2E9G&Lw6a+Km*JLaIimJeGg)t)H5?Qoo^@%JXt)EX^_e zyK;S%^S!mN`xC;p#A_j>rHYOCtM3EHsJ9<(57qezRx=MqD|tdrcOzt^$_lE-FW{$~ zx0+1XD7t^RcdeE4@{srURNnp;-`;V*O~BLN8i!-3jkMK~8<;6oT6j_YLclM%d}H&y z`C2y}lig1HgJ)_@FQ?VaTAeNdayx`A@IP5YD)Fff2_jE9aaLr}aAO67MW9NrKdKP# z?PJly(Qlf1%I;XtJXOBIq%83|$(m8Fm0!Ip#%NAG(J-Ij*Q9)Fvw?4QklxP_3u6ob z9NZmO&8+hW`16uor$w_&o?U$G|1yo1B1Er4@5a-A*sh`C=w)rPP}lm#&+_^px)Vo) z0`&7}Lm>XT9_zayJXldru$$8P$IxYa@9r-DnAGpQgiwc8HaOPYpg7xk9e#X&vPp|5 zIiBQhI{Yh|o@K%N{ttG|pfci6M#j$s4JagCY_FgeEwqWR11aoQNsAg=zjHRy6U~=f zY;x`!Mpfe)^`-T#wyky3As#dE_vZT>X*H4%pTh=ino&x zbs@R^SzWOPW>_S`^2QGPfzTZxYdsZ$C_MN@TlH;%*;2`-Eh*MIzHtl!hebyOsjl6# zN%IH9vh9%B^k$NCzH!6DE~z5)_u_UlYfNd1WwYs-y*QUzvpmIsU4O*a7)LtWv9F3M zvf;(04qC77%DBwkzamMZ?&Ud5w*x7#YZ}#bGH#y}9sc`D0Ztq?C$*(USA>KG>IW?x sNUbs10eovNn_;Z~fA#-pCcuG8OLa@)Q0v_PxvcWL*tDT0t9z=cXtTEJvhPL9WMKvd+zJ~ z1N&)7uW#1+X4f1wsz%KfuBt4HhD?YI007YB<)qXB0MPp>2!IIxez^9SeSALvUDRbI z0F~p!2LJ#$Kwe5*)5G|<10mT`$Bnt&p|teF%*;<&DkN#KUdSh9_`mpA%s|kHX)xfY zWpCf$fxBO$zXcX4&-pMBYqq}58N|?Kde99D(x`q zqp?>=r}c%t`zEsRoWk0m=w57F5!sQ^%Ss`C7xz^t{Md3&AI|XW=_Hbvl;qv*8aa1BK=Gt*q*aw4iT~3M-0k0kd@0>Qbwa z6HTR?p?Q8IbtCxqys-uTUaMV?|6YH;IXqZwV&4n0E}e7~EZ^~y>cSR-e1k}-$|AR> z)sC(XXZQ`h?CRb!{9==epUrfoMa@mt;SAwqd0EA$(liE2_65DvboyOAL)SXWxX*%1NcV&rXIfKt@YTI2v;0AA7G<=Qw!qxKc4cICA?uU$xgvw6IHyTB~J++09S6??{Vt+6WT@a?$ z55Q*>@i{5LDJLj37r7NMM2j!ufF9rONOE=e^3UvH8?mKf1|&~R1qESig~wY<;*UJ2 z;-qXa9_bse__Hhc(RNaPeP}Q=?|8O;andOsrhRbrR^3fGV%82&+&UPKWJAUX#u=@R z%snKBda!V*CZQ4hbv7}MMfT)zGzqph($G?zLK5WA@zf(nCPEBS)2u~TXVJ*E%^mh2 z-9wb{=V891_xry74b~KHR~wf)#Ck-MTAT*KnT6;hs*98vq?UG;7`Tt5=-|+qwNS|d zEG~5p7tWQ{zV{IiVMELa)Eo)@#YzxUD&VE+)W_<3^Up6!d1;3Hajg_qtSbqVqRP{w zbO$xhzDrWM3hP>_uxtw3z_}9(o_K4=eH|MFJQ*F>xg&`tVx1Y z;q7}Ui)Aphw*zUKWlLTV=)p_?@!esKTyGs*jys2CDgfm%yhjKP_!mVl#9TyH<{7Gj z|NB|%b13xQ+2IB(9uE5%oRjcnrw)Y#e`7}HG+r9CF^pUxX}knXB+aI7p;v@8qYG@3 ziohhnXcd>E{2SlEKODIyPUlUIkPBy|GnagP#b79gQ+WAcHVKGe$2KhO2^5l5jm~C( z@*)A`R}ankhwuI47x00)6s~>A2vFpU+6}8=RSH>bEod$nF0nY1ej2GZlfP;GU$X={ zSGRp&wF=eQOm2rb2Y6FIhXF673m-JFB@V zh=95|;W;VVTyPla*l{7mv$LfS3R@Vf_`=NoYWr8!RsXt;jj(VC+MAvQZ>&eU==Y_E zSxT=t3^9Yqp#kwkabMTHk)EKRCJ^>sDt$%xJq6k6)IzA0XCY6%t6ZFyklhYpAo&RS zJ^}c$dN;uMkaOh^l9==+m0cKueIQ%*q^kM=xAXF3fd~#~~L5uojYp*dEmoKpNYw?}{ zC2*f|V;v?&irHNlG)a|cJBNQQJ*xRR1oNZ*WV|jDZNYXUg+%bIA&IAY6Oz3!Fd|MO zDys@NanAd|1#vy88El<%Gyt7sQt7F(CRtDht8Vc0M^Llmu*uSS&$d-0aT2N`zB$KtF34tR~HZ>2#zNQu}Lc2)ys_lk;mNg4WnSr0pu6O;(l7H4GWHv#4#n%NzqSc>%KPGDk%h4B0CK7 z{)ihT-S&wrV~|wCREcMZ{+4~tT2^TKAMw zh?&zX-kj}3>iUp?#Gp^-yRikCIIr_a!GPc-YnioN|4lSXNY=T^(e1&<6MO4=eDRtZ zR&E|~8|SKg%1X0`Bej_{@VGH~eptIMQK2XG`!<+oxi7uj+H8u^Pc5*fv}hgd&asT* zJ4gL!90P{R5F`>xlLKX50)7yh%Axe+em@FoO1~ZKQ~yxbgPtm$V=!{mKP>@-5Etlz ziXVRJs{M321w5{H7z`i)Z%KQ@ve0D!`?hqwa7eom?15}W-xB9ZYGBS2qzP;xB+Q2l z#Kb_yQ^){5WKM6gRMvVlNCBA=6JWbYk32@sXf4GVZQlCn`SGGMPx@~3hovt+=ch>h z2=Y>DW6EFmNSHqXPI2T&sfe}s6uz?@VYX8Yl71K_=7iz5ZC(gLP0H$6-zc+jq;FYi z)4kb$nkv8>I;R_wddkQ5b&F!M!W-{G@f{DS?tj7LWC|hTLmBd+-W1}}zhaKVR`gUj z8ydAKh8uF@Y8dN{rvm3C^x(+PTAy0se<3X!`Ltm`+7M@B{SBb$No=XOM0L4l2|`jO zFOdfkYF)#d?5oqNb&G!t$x66oJ|?0|nbN>w?JQW*nk*Y(e& zK*vCd7UggCEJ^^JKff^tPJ4&E^~+;Z;t*l)+`mzrI{~jT;vsAd$?U)&wDc5Y}#t7P5~@S_#vKy5f2#FC;UNootxX(3}MKW1iNG;(9t-AEZffL zr9W1myT>LaBrNUh0S8>SU;ZdCQT?kbHbeCIaO2d19OjEHl})qCsMK3$GnB zC_l-)y4&w?nh5O#QlRRI2@(X^%ytVd=#6eaE?l*X8YZ=1vf`&ZZT;W#s@>gIuV~xj=)oFy*V0;uZ-+ z6q3f1nt#QxX>vzOT7I_NZ zg@1u+Wm^~C{*z&bmq2=a4&|ctCd;+ONNqau$F-XHvy9R|4HJscp!;NW_=C-VYWaS( zP21+<0v83^2I2LjaR3~9KQo=7EUiAi5m65Nn)r&L*hoWvb60IRIWd0}Ky?h$oy?=8 zQ1z~`Co_0z+6>{!#eVDr{l|C|`Pe);(xBzIX53}BwFIS!-v^4`^`eR|41W*x05(XN z)A|i@I6!CkQ0~1NE8m!KG>k3yitkZw*1z08!GKRlv*p--bj|!E z$IBz~qX$zl?dEyeIe1F_yapRSoc@@8VU-HfX0N1Ay&^bP3@m{ag(6Mc z|Lhv@aDYkBLb|YTIzs$A>%MIYM+Oj@$&^|lh&Y6IK0K5e9QJG*-drFpcTWa~{bJsc z?tk&C4aPgX>-)LQc23yFw`_H7IRIRn)KgoxSUey;AeT<{9~?3~ZvoA;LpT@QC6m}P z+LXhu{d&%^3HKVdG;=?ezLgx7T`P`!*WWmw`g`aoQ!PEuImC*h!0@xKgmiUaHEj7# zZ#_4)>0k!F=}U0#kEqe7oekWlIxA|rA6xR0n+>g=Gks&S1dUG5!m<}o+RC1AYk=BM z@gK9Ao;tQ=v*jSoc#{)lt*P;L=FV@&L71bZ5_@D zmsOqr2nD|x|0l&T^}@PllB0WlGs4HU8t64CZrDG|EC`Te|turtYop{3ruuw zRE%pU(eYKfg95+KXVS^$h-xSpyGB=s<>8;7;oB;Iy)_K1v?4RGOeQ}xD?F>8Bnp5U zZ5vL>A8dLel744^KDg91H%aa~`n*Oli+8tYUhgG6yyCf?*f__laYK2#a&>3F;@2`- zR|AMh?54^KXo$YI^PvMeijP4DH_{; z*0JxC^tXqZoTanF0Z}Wm{L-J-VRasRY4%Y4fO9!!+J(L7PIdk$+68J_pA?&1ifT?) z?`b$R;3Yt!HM9a@HwLOF>j6XLiptppEXP{b@_1=7Kt`YG_eb zfaPe+&9ZzwdoMiotBVOZ$_f#_ywr>`3x4gQmB?{G=L1EC28wonwp0!Na#_)p@Vi{q zR#b7VnL>AA8GnsFT(a0R$@IN-A6=7A=VYd%oG`q`_rPx*5aoC_t2{4#m5uZ zNO4F9Om&mG5WV9%I`7%dTbihyxD@*U^BBmbuKQXuKvKhgjQFdCtx0If3;k{pveMb8 zlcNeAXIN{llT;5~1e1*FM`#{=M0x{G{dBHWuTF^79aueFWG|1eX;u535kiUDI)mFFb`b!2BzaPMmGv*pH0NdUer%CI*5T0pWo2iV3A{-*2tBPY%YB zR!+pdfg&!^HnNkmsUO65kr&I8v=osbagH^BNv$b3>Vf!Eaedf%O2z=LR0+F2k@S}p zG`=TK+T5BLaBIR^Cn42u*_pOx!}%Zm6K4W+x96FXsei@q0oe;@3_2W*ezD_}lNPvnqUFX{-W zhvM_xtwC(D$`-Vl_s3Wl^(e~yg&M62fMi0MBgFSv6IVe&)FD7OL&lE>k&cb)v)OEM zhIru)SFF7iW;Fk^@Mf>G!;Ch^il>vw{9}hSF9!#yn#k7Mq6W-<&`ATxDJN?(Gtm$K z{Lp&wUFem-;35hyGlID&RG2ZN>L#y&Z{KyFsaU-gfX_U!XOnG;Otg)kJ6CR6#12r;sl(So5t~fH#}G+_{g-I> zLkFYQk}Rf82VuhJ;G@uEd4pIaJ9<5?qj0UrQ1)_@3+ISush0+lHtcLeJhAQ)lG8&V3-?-T?cg zr34oq?Ui3j&|zMqJiwznPMR}2B2D6*!Bkj;WJFxeQq=8(_CF)F3hWTFZmb``yy8}2 zOG0=Z_%u(AC{n(bW(6&u@)3A|?v&n|O_aI(R>2Ymw4Qe~B;`UvMAB z2UK)^BtTw++xXL0MhKJb8NQ;Y6_*X&Q;R<7t~2qX%zQr9m|W==KHSD`|7(I!@d8T5 zVPgWG*TCk$I?2=yxM)fTRLiN7B3~4Wwvn#Cn1}PNM${@&4kZYP$YRkfaFoGT+M+%A zfx4YXSL~<(`Z6hd+Ir>U1cSrz9nI@`gdV%!z6}tdqo{sVz?QVCgp?!)VFLKM>y3$i zl`Q>VFF=rnNU}o(tXPQua90cTEt_Z~=-X1rgue}$)m;n){YQ-O9dkL3I}JfNKQA&% zSW}yF#(yKkr42KDXVRjvMP1ae`h?OIV_o!#Gd9TO)f=h)ld(Lzx!%4bf9F(Sp0l#g zU#w?&{dI++d7l&mz#TuU-8w5+qq21{lXoTQ=Os);QU2IG5=J%@M+UK^Aj)F412o5Mo@1&up%=c^6#hs#z1PLW6GZxO zWPlN+CRiXN-@A_lczL4+Q14~}Q18h74A@kYav06BtpU@xy-Yn}YaG!N{^tOJry-1d zv|#nUKr4T37A5L&=^%Zb5e>$WDD}DL$c9vSI#^TX6#%B6L9}AZc6kd?m(MM1=EXEt z%|j;tCA1`;ek*QX851IoL+pnv|D*7A)H;`{q?($%(+MXLfdS(H`@FHM6MnrTUyP@Y zRIO$(k=9^Up{%bWKWl96ohS}ANRUoYCG!QlnE3b$ofH5kr(x8`pws{s_f!_Z+;Vc- z=pgm$852T2ZRl2#Ko?+UsEFE`hr8C5G|R$SJfOi{z*9Po7*PWL_FPAF zvC5h#SGyeykiyWYT~>O=3~ZAF6o)@dkCiC`Tv5NK_xr)IPj7%v?+|T^3>?qGnjp9p z4EX}CW%mMtokg(n#jOBbylYd05WH2?xM-TRGjdAgy7q83qP{y3tj(8iop5c9VbDn2 z+_)P_0calkh@16%bbN`HmwZeY72v@OHa_AI3GnBfnl5ix7wEP{p8358UT7!K-o~DV zVxCFBRQKFwQbw%9tSu95dMtcU-wQV;iJPfqUfWNj54_oJV{)&}K!Mg&H}c5@SBU5UOl&Mx9looH^) zeSc%c3(Ax^>u*!EPH+`^NVL6qDeZdw^QJt|#Tr9h0ITplRU;z_p#V0a`Cj^ zxTB|S>KIG8SI*F>x#TtKvV8Us+KeW672nN|UxnmnPRWht%qd`;>3)woi+c!zHl$)S zQHjrKQeT(?ok7X5j#Hw<-M>V*g0?1QO6+4JUf*H{8|0dLG3=WdaoF1~3r6zG_98Ck zwvz*Xi*+-l4q}b}4K5P$r{YvqpDH)M%zP-*xH{TlI5bo&rs|7F_h+)PeH7a!&aZ^Qn#h>@ykFaAN<0an^ za`BVI6-t{~BiTfpCLaj>*~)iTkam$=$D2*atky5^ecl}GC2&6I7_0-WJe6m^^z@T~ z`rPcI-tQJ!pObxi0^WWllSUcJ8Pg4uKGa0N0>d~IT0C)30VF3>LZU!#cFB$1OC;HY;fNlpw3h69dfr}5CxG7ko-l}u&x2st>1UrDWAIf$yv@OJF zdke@;wt~L>4OtSLhtUh6Oq0YfDiuQknl=fidZb(lBS^U@+*+QXv&x-~UJ5-6PqWD{ z&)Cl7<~EQ``0d~doi3$K>1HY5@i&&B1!|kbM=GZ$wcKEoOUB_NY0sF-by-|GfB2dy z>*A)$rAmx=aohDI()pT#+SBU_32d6%46Z0QM=wd`GF}{xzVn zTvWYPN7OHiJt?up=VK_m+nwlSk|}Z&c1spc_3E$?7A^aj<7EsR9OTXRkkoMjpvZG$ z#(l5jkF$e6nbKKHKr-4_Z{0i6G@K)j8UW~54NyA!lmEDcMr5xOD08% zofZ&!Z|=nHZW^SkP(Q`0Rjcb6?-o(1v`rqa+PU%`1UOlpW}RW-$pOO~oX4@RU-F zgwMvbNxG=wPs|hDK~{RN<)M=#VPMqlo^RTfu759R-1|WLd21;x0D~D#5wn||Jz96c z7Ha-_O^QkiCTTRA)0Q#SX*aWN0_B$Lmh)t z1W{^6A1|BO?S(igx_1&!PACw2rs(6cwA~d~=G~CNd2x}0SWi-|SpeOo@S#ycN7E>K zvs&wdlY?&!q=!uYSCPx_X0n0(y(oGz-?QlZf8OY3ehWy@E8Jen&o`hGKiVA!U#hg8 zEVD_*g2kVjFBXKRfzTvC&Hd-%TsUlsG>K2-(R=5MSA=|fG(l^T2nXvo6Ji6E}6!DCr8#O?+2T)T`s6+lK#C zK*%s5dKdoeC>u;jpxI{~?!i*{S*$B(!e*YvOLtrO7n18xzwE~~F(pK?C7{E)@#f)g z_icpr{ z3{4mqmsAl6o1KmBKZzBK8wwrpN2eea4YuyMhZTC&`wOnBqHdFVWRr_aHV|BUqn|iF z$$maJ8y%|s=MqCV`;q&qEr9oBgxi&BxM&}clNKezfxAvw?DY`7dhiD?y13b?2#UcB4zd1F z1EvG!4)WIN1~xQ(I{iAnyPa*1!$_VS_8PhGe8#5@;!Qy!ybBHbnkfC9yG75^jHciW zPg65k4N>TMQdcMNZ`D`wv4tEuXIP3h4%?*oj->Z~Ow)ZFvv+ccsB;J}4T4{N^RxKl-aYOZV0z_rG-kAp5|0~ z9khC6oS_9k{Vn6>m5~XyXm%>4ws!{5(3|}u; zSiF9JKW=j)c4`6YB`GLjAc@8LFyC$ahyF+U-5=owv2g`6y20GEK*1BOv)Y=d--`my z{9Q=b@3*ikTg>54f-KZ$^V_lm>z6F!z=EeZr)*Q(+WjvW+$VT&9p4?dH}lStylBUT z_#N?t4k&uMOIb!efTC~EoA*S_z_BWfgR?>^aT3&x?hKo~Q0`fSR@Zxw<>KhLbF7Ra z&)$CBha+--o91Lgi&DV_4t!W`(F`lIfy*ukh81gFVo!|uXklXe?c5swTH#B*RzEbA zetP$h$2g-(w?$S1+Mnpk(W)TXZD&IvI3z$--jcy6tHyOJvR{yhTr7ZTF2cJ`1GGf3 zVefw>>GNVf2vo`)LCr}&r6DVtJ}Tqi*Fg2j;8{_d;a|1Rr&?YNt6>3N(#dAlJMH$( zZ=~Q=4*8N|$nDF5zuXDq9-9LkiCc7w12X%u0DfN6@5Sy^#v0!!>Qi`+vvvES0WD;zh!pp8$svrJ2(4j_do7@4$o98QDL}a0xd0D=7)iIKLd2SjR1XK z6uq6EzBjgJh-t=IWOuezg){kjDk6967+F-`1^=`C}CwCr_(vW}RU<$!>^I4fwy=RLn% zFpM@@s1lzemBr785_}`Ca7|GdB1K&m`L+J}gEk}>wUvvSGzcV|GH`$4z5(a&h%WRG z$v_XH;mt6ztu^hcfCL%zp?jA2_N#Y>kW?#~6$H@5Ch2cFk( zQ+I-AJ>!>f?Bb2v2wCkllu_?BN|}>BlSh4$iwh%IzF-l$;N{soVC4fIsZ^3XC1RYY zS;j@BOc|2~6>$>F0}M%jB&oPifF4lKo2s6X9Uj(TM<1B!+AM4z_lWP*V|8E#Ebcg? z0jR>f@8})sIN+d~n|qdk@KMDBUPV4_4y>gRjcucXa6kX+b~}=6Jv`$t4EB{>+&Im& zc+`)DAAAc9t0lMmIwpbhAE)Vjn0=1~L`J-CV5g4(WOwW~-5B9v-vO4tf=n%O-zyc= z<9?gk{dNsVDmd!*oMKaYq+Y&v_s7cJsPcexA5BiV4`Ztz+8?Sq!|b|5BFr6NC@rD* zk>tA7&$Tk+jPw_UZfEhjHAtODyz!7R{LemsJ5S4ZeYtAeX#zpz`tVH=oB{?QzYS!o z&;S@*y$J-}Uo>KUth3<6^zH8=Hs#jB{ai^m1Wf>Ice_N6LvBFA0Rbt`J~cS_awwi( zqA_ZF9!_vU+h4>2Rm?YnymFbiAri}qwDYv8#R%HB-4eNv4QD^{#cCt)@HLMf8BmW0 z&&47C6b-MXB=%aVzv7V@-(&FQ59!0vn3(sQ5YLX6;zcaxcT%i%KeJ$_pR37cyXlqVLpD? zpLu04d1$m$iFnl(YfDKu1w4*b*C%glh3(Z~!%1D$d;XBb1Qm6$8MTxNv|sIjW= zsw&zr#Pvnn4|UFOj>FJf%ZYfCMgbt@xsZLvDD=aBhYfG;$_IfW4^GPYRlFn#4Ty0I z1FOvH42^g#_81CM+%at9Y2{%4@_N6#;Cnu5Kal7D0!yF0?{b}D-)HM9-+#jvMKgc} z(8rPUGZJG#0SE>vFphpE%NTrG_u~Gr#uJdg43C|M2`NTPvI*D4fsH*te~0AjYkVL+ zVJ}Wwz>yl$U0%NqT1psLF-#$jIIkT=+stmG(N59lHc0T|JyMJFbYRH05O^BEr1yi! zdnu&x>oCye;qtPuWC1>B@T~hjf3-6csS$(VyGm{-expcT=wnZT#(kt>TueHFcS)T9 z`oQ2YawJIXV^NhpGl{I`FJiC(`;ROC&!MWRFd_HP2)7#=XBj=6X$#~`^~Y73W?1I` z%E{Dmn-9uAc2b{1(AoPxV|FNWzAiclz0D16vrnu9?+S3+K%L}L;neAxQ2}_WB}=4{ zB6o>20BZS4M`Q2Pz{!Uj>+AJy@%GKLixTQsR<0;^$S7Er~KgSy&}KdAx< zf{%gZvC~rGcX~oWoMcOboW_lC@2a5ukE><>0Q{NwM1>Rw<|?6L*jshu3OmD-ko=>; z)WZ?_uP|r6+tK&SMTL%zdvvKiPS8>{3Kq|vElq8N4V$uV#BQ*+BmMa128#x10=p35Iksy`Oq zhH`2=nR4p`>JM|;;f3v1sa!0-(8^9vS}`(J*SIj(2Zh^*oyUs`W1xFIQ%_DRB(!+X${_;eGg+Av?#dP$#0UvI|?>8I+uU0fNE_9_ZZm@t^zJ<%9v!7q?H1{^#i z7mqD%Oo?i+zsr7UiLCPc2TAC`Gp*)fwt8VlD9VOL^$ywPBCHN@f4P~8BhIypyUQlh zTf3fv_~wIrU$*|j;Lyn-KDicEoh+3?3;hWWsRK+BnpPFO@4~_NlKvmJPHYW8FLkDE z!X3XT)R`ih{A7(00!*Evi{plT5ANWFF?pEf>U=Kw>u72XwW>yv=ItIve5(7EoFWqJ zb~GR9Xy4QpPsW-Ahj(3g3NlF#^PJYtwvPJ+Mjut9H|Gpho|Cb7$>6&i_~|kFFhr$q z0$@kiiEefOf?mmJYO;P!F(J^x83gE?Zc&yPI{~fT)9P%e{-*4I(3jFGC-ujJE!kPJ z0g?kJ2`}}94vOB)W4v%bZAOK~Z18v0q1}1u!az&Z?BZ!@1YrOLZZ&egH!iG=?6<%q zNyic@Lx3$%bxY12L*r;zy+9XOdH+l-ay@R~baY3>Rfe`zY5ucZtHPwuHu$qf=>yJ= zA6FXxG>efrQeb{~ZVTR?aWjUB&zckd(mwLFR z*kbQewBvR{j~NrA0HeP|Vqqu#3)z+=i11V#@DN-G#a+LOKhE1f(W!Upflu@wBuQ-T zF~bGW0A2<)v_Jl)PNdJRh(}<3THEXH{0mVOaiZajWha&e{#f~EoAo_-UZ|4}I#wxR`3CHBG?=XRvn z_WMKNj;+4B~1*eT3I-Hmqhzt(8)Yoc@` zV*=c6+wdU;un+=K<27%Hs$QAeYC zzEhAq?cg7O>iFK=dAIPgI(u+R)u;b7^l1;m3Q{ljEvfrZNLxzlfSxQ7z)hM)fL}i3 zLt$$-Fk@##;!6aQn$bB7;oN`ez0I2Yi zOo8I-MhFG9=IR~_CPrkL|Ep0DlLdT*H63>Q!VZvxX%6Jwpx-2JH;*}04F5@{$Uj`1 z5ouB@s`!VSaoNoxK&5?;$MCTwP4%1&p;8RzZuNT|Wq4Kkymc^! z*%}js)z3MeWg?74IH<--$ks|I{9L^5rn{;W0>q|Bf&7?V1Tiqdd(d$~Td`F&C_tC$;NeXSQ%(p)Od+=ojy@asF z3D_`$e!XVlZ9U;c!slclOv7{^y*@h|x_v>B@6lM6_We_d2_Bapl1%{$kVc5s8$ znOY2+APaM8y4sT7F(=0fc_0=ri>=HhyQ;`z`M}=6fdo9R@?N@?+pq-$hFC&6&+L2(j~FBO0WKD=qfgB{kHiBjG7Yd&+fn0^#OxKr zdO)e5uetHpyh;59%PZekACpAcQ~;PF299!wVgwb^gs$hsb%Y+{Wy;-7MS?nA?(WUm zWyTsr{4@wEZI?}dI9i1b?|6IV-Q^KH?(Dwx7i5*kk?6BF0Cb5zG7W+gwhuMX1#(~N z!g@DwFn+}vz2Qi|lWWIUT%iNFqnd+$)kn_aa%%ulR!R+ulG#_AtybEI>5-`_Dx9~V zrdlWF5F<4T?l*5d$j|VYUlBVDD30fk;J3?AgNqYIYjDyr>hSzRR2hEy7+P39ys}Kx z;ZT%SG3@qqko#6MoZ)#}+WDkO7VKc_#vsM!mDVG^F1?>uXDBsbt(sPgSP}l6!f~*` z-H%E0Zd#mW_Kw*b{7BfIt}c$(o?NbieC`~P*uSk?P=DWqhT1_HLjszt<6$W!JEfg- zcwR@p8}%ZwKWKXlXerY-?1Fi%CRu;W@$In_Y1I*}P|3YXUE*VYJ@-5mo}N}a;6G&s zKA*yDYtED@6#A(NPd0YP-;o6GyAqs`T5u6yhz~s;ufLx8dQ2E}#lAGfSO^IqElEJF z#uR8vq+;u6s%-_a8}-S=GOgrL07N+Q^f$pL+8WsSvP}vXF0m2k<-fl5q@b(xqme_u z#1ho-+0bvjLdx0%zR5a(c1QO-kuWj7%jN$L{_>@Ncguf0HuB9EUZaV9F#;~2bsW?^ z?)l!;I$#${AKt!bAzrZ_ML*e+G|P_xh%AUJ_!!72Id->OA$ZX)Dufg3H|P~rIl~5T zPcp=kQEoLPHYs&A(@`*t#LxiPUnWQeG+$2o8Gk@gyD&r0S7L~SNK&lbxG!v%Wu^Wa z)Dj;T`~AuXC>lAGFsL`ZxgC!cn1nY(VahWKjsLLx=a#}Dc=$>!K`nxllyIBZxCUq~ zlnckzS~-Ggr)fj5qdKf*qJId9t+uqmK9tr`eCGIT#nUZl@}79z8;0MmMYFJR$D=0E z<#NZk0TzXS!kRY7%}z?}(td||mrf+Tzk&gzi(BaPn$}aAJCl|)?ZF{>noM3z?h_nq zvf~AZL_t5jtPF6r2!--iJ0AUSQ-8EhEII$A5p%wQnL(g+^_@~#y@K(QZQ>ky)NC9$ z6DrXvE`6x$D)b^NIwvXj#7jexzjTL+4XY-wr&=J*I~;9XOpx~c z%xcm)1Zu|H&L!yY#ZMStZrByay6Q$pc4)QY#D7Ge(44M}cSH+R4z%lnGrZpYTk|3a z+@h5D`EY%lnykjh1`?9Nt_xh*AOH}OoDq)7iJ4WRc^S?MdC!E=gjhf!C*I;%u6XmWA~KOP!{v9o##v>*xThv!GU6^1@8B0+6YHT73{Tx!y)IWLQcckH+J3X>=nTizj7zfgozJdbvWv)} zx=;Iit>8L!rr6jc4codzgJ}0z*L~aKLm#3UPfW4t3b2cdT#G)Bw~n~-5%pF`R8fcE zJ&oXr#Q<%5&hPI@ERH~R$_EKTOIU2vmi;g{V!;@`5~M!VEeJa{>i_l;!f|<>Iy`o4 z-27~8!7<59^j7m!z*oYz)v|gYt48aaBKNF~yHS<1$*Un_Q6Rpfd3e@O18Nv|AJGB- z_9tb-i=9<`H0A!@9z=Pzk72o#n;{wz9LF}@KZzxR(ul&TeIK<34nsnmTM+T}er?Nl zu?G}&S#kz`A^>Zg*I=OQMKb<2D8|WM=q-zZW&dz zAn6#ZQ_#!&IM++jqxk3+{|VmIX-x}@_}?5AK#I@u%(H@#+`R28WFUzWo&-0s-kZ4; zEmI+4B#U2{i6AuClkN+Sdo;sAkN zf9=H;=#gDN$>fKC;W&Q##?4qV=U_IGj!{x&VlJ_Wp2AlHtHJ>o* zLHRp$trystZ{7wM_vwpHb{lL@*nXI(Qqc#~-XL0Ho`x~N0{nBRd{n0W{n2>!rgT`8y+EIf0TL1oM1 zm3TodI`3&S$0p-a(I|p5Xv6^xJFv0+uru*BgE6BczwMVFp5DsuhN|@Wp+l3GHIq&i z#XZ~E8#OL3vZy_U(MMbF%x+e-VsEuu-Io zJA8@FTE&CAQa^_SSCNcP_&$bZ%Q2BvaCIM=FJp5eJ7W(J=O!&p&ojS}2_|tZl{-?K#?}irxsN(MZT3riD zSa`!5V+8t5Vp|A?cfB+{s2zinLFgea-GM3?8mDCh`TN;W%&4!2TfJS2QL;iIIJg8l zJ;En2X;5C}hFJ*F^ykb8^2pj|li{6m#heg)|9}b8yDxB9Oq<-s;cwu|t zmU5f3aR^LGu76_T_)otT2_tMblF98_;ryTMTPE2>Q_II(MnjeP&go|1A^;r1dReL+ zt8-td=wSgHHwjGM9b8yfoGPivQGU^yrkFS zv%cy{QLN;^>?Oe;mkpn5A)KTf0WK^;AMRdoGNEI2))wTrdTEUCR?rwWe@*`^ZOQEVF+75|))f0-WPveY5zE_BHP z_II;YbNlE&O%Z;f_>Ip9gstGI9VGEsB3may_dbNDCJNm!??V+UQOttth9fLRK6-7% z2M_O$Lb!28KSl(xzrK(;4B?5^L(CnpYtEX;LGw4+VE3dnI;Vmk6%T*@AvS@FjT1J- z@_uM9m*@0GhPd1PutQh7}7F@;M|&I7(5|^4R1gFP=jI%1tADD~eisf@D{B%*` zpVm8;!M-8GGP-UtD?shpG9bKVLr ze&C$AL(%N=e|BFoP`1@jxGh-5h3jU0RZdNj+fI}qIv(~HnVe`LmIJ(Zw(hC#e|Z&> z%1Fwi>~6uT7e2#a38A=cAzc<4UF41nBm1;YBcOp)c|S}1y2IR*<7+CBwpq=P+N|!; zSz8STE^rjUEZCc|Wvqk+`r;z)s_wGqIvS3G@G68orXTFi)7SY)dI-@ZsM#4uF{RaV ze>^XScSe@2BB6!TBu+b=I$FnBh7==KpUK#x`wY;yKwF8XBIfPDlrME$bH5+fo5)YM zXrG#Hlp2M`#6hYzOn{sO@?C_n@O2@?FBIXbn#^C6UAknonm5p6`h-tKbC)p7u%9cA z43QwVg_&5)G=TS}1O-N1O+xXwkN4wv3eO8|--cq!{z9ka>Fev|ikr6{mEO#!u3qi; z7{LDRx8;+ii9rutzF!WRES8V)mv>OvIPLm=R! zudx-5)g8k9>B8-19-c3pO)S-LN>+xPJHIUv=E3O)EABemNBmD6pADh>u^20VWCE?q z0_NqgDzvejh|OK=L#AqQ2Zv8@m5dS38ifHR3{(;dagMeB>W9Q5|`VM0#?0 z$K6c~sA&{G^R6GX-rtZpI=46T)W1S52BA4jfaR~jo_*~`V?hRTS|OzwrW2pwUau-< z?g#e@!Mk>e0L_pM#uQ+uqNxc+?`Kw4eYMggn=7Z@>9RUHXJjxY1o=xlLac{6%3jx_ z@#2^lU>qPJ{t0tZPN=mH7I?q!CL+8ogZpXDykLalv)%etsNKb!3KMzO613T{sz(R= zRa`dHB;pu#A6X5QJ(d_9TVGmUXrzumjcuqkW5dOeUq73`tT{#aZ^T&W1TO8oA7!xS zl(dI!2b?7A7G{zSD@Mg@Sh4O9slu~U zxB(OJtJOn_dwi#_G(X*euFyedxxWm?=g_3^yr=2^q3J7_>gt+i_rcxWHMj)^zsy(&fE|DK<*GoX|3kq4 z;>+PV_w8`4*?l)MrDsiuhUklwQRSNsvORl+a6CcgkjPDOQKodvYYxvpcE)Kt7&!yj z54`Y;0TR$TN%@dVIv0pLUA)ClJhSjG#{ptB_*1X`Y_R6j+yy8m+$8y$U3MC`FZ;$6 zf46G(zTfhSHYdN`TZm%{%<8kltsxAOT!f9;T($=LLKm_&qag)n7uly4ZA|+SWd(8^ zc(&~^`K3_DqEo6YmwDhZ5Q!5;(i8t_yZfo|j)YVplfn)#)<%WNfHGDT7KbI=&MsF$ z$UN_`s;A(7h&~*bwxdxrpP!z6HMG%n2KnYpk{5fgKXhzF^IsojtRY(Ff`VPE`cEqj z`Gul(ip)S4bOgbl8GDStsy_) zGF1AGFzin*?s{iaE9!C#!QRC$Ak=vl+Cy{)i!LH7g|RwfN1i%tElYxC8oOw0m8 zkraDfY=}UN9|;$YCKP-~>+2iu)=Zo&hF9X(=ioC@1Hv!tzEEPv@PD+74GzKKpQ5eZ zluRAor#OfFa0tLK7QGwzzfb2x#sqk5op1D7M&iz~q zr_#flT;-ktby&Cni*>%eP$&>`kBwa9hp(<=>KdKfb5?N36}<0w0vr2aXD4#bj(I-; zwTS@MioJr5`swqQh;{xpEO|eKe^+4FI#niVqjduLbI8@wVlJeW^Wfb0h9(jHnaZ&{2rzOYz)21<`&RT7L(Vm`(M zkir8A2ot8xwCF2ftXCoT8T?(3UMp^U)Uuc)HC$|-jFEwzXJpM5_xE_+rRa;AjwFb- zCd^Z*iFFQg_z*M70esO0V*Ixi&`GB~ig}NW92xTJR7W8xgQs%y$+1-V2TE1I2nB+H z2OwHiX@sjon+wIXJK^VDoN)6!NgvleG?B<<28wT~;=?YWR$gEBexU{`5Z;aEi?fud z)7{Yb+Z(R}E>C>~GHz7;U6ky}1PauQtu}ht?{0z;1T=>fB5xLw%7yne%V(QJN+`(e zBEx2b>dA1YNiZzYnm@%!4KC`J>7|O4WSC@(`=%}u$_RF2gu>H@XD?R;Z@(cAJASIV zo&7;7Vgq=Z^sv~y11?)6{m6OWm`g9(q4{yk(-PQRk3AZ)>x(qE+9zcygYCk%1ILWS zs(AbY@?3+c-d3KAZ-xgJ0iTpo5d)j*f5D32Uscb!iTa+q(*iw6xn!#q-G}Yt|5`yc zuO7s%e&eVID$Y_r4C1;P!8+*$!W(@ZH^l4+d?k!VK?3Skgo+iS&|mSj;8VUcrQ`D`+#@{x+5g8;aq(qDDIGqCfS8 zYH%=ZO;3|lZeBD6IW8xmLir9*tS1HMA8B$QRS8`HvSHLB0FO?Vhcd)?9+rT9u}hHc zwk?DWU;Gu_0Q;}9;cZ+yFa{_9>4UzK3tKP{S?C>Wc+5YJiivFE$q{XjmB{zCK4$~B z@B8dQ0m>m7pyAdyHg-1d!1~|C+53JZRQ%^4V8`x|sPrhAM5TJW6}qt$Ys&A+BGXz_ zR@hR44lg8laQj_xdTyJ~L9#|1%_v{FuX^G(6LLES=6xQ-&Fl$eA=>>QrR5Rs$l(~F zLrFJSCgkZ5&hb3U(Pza73QVj9PKuv7GV4^6>h}APCXLp3W3PEYK_1$ zfb-{&GbY)^1@`5L>2hRDHQMZl%Gl{}mGQ6;StnUjvzoO&IY$(Cso=JrR$FZx(=s{$ zCm`%G&v-n{WVYyP?N_P2F|17Ac{jtLzljfBO%KitX6;8GV7nUg(>}72QkArzF+nbX zAin)PRn<%3b;}K@i@>4*jElyNeGj&?eP1gl2ZsJMr*{t>m7D4vbG0>9h0M1)cpL?* z7L`w0#PgTyQMiDgDc%p+2e&84J<;QqFMSOYQ6m1Yk`eGXic||KF7BO-NH9K+rYpAg z4McpYqx_Q_&uh8q`1?LO%=ZYkbc>;vJLHBg1B@`*hcF^mN9sLoL0|l%C{Oc=IU5}0 z<=k23h4(I+9N<`iK3_BWE9trvQfn#{#co*puF9qJZYXMFnZv4^Ro-g=XvhZB9{R$7 za^WcV5UyjYTBs^v)}IlwKH_he2f?1Ul(%y|=)4EOX`#qmW4k-Xh3=zV${?c(g zb&y*nyyDk3GGvxU6q_-4X3@VG))M#GmJwgs&t&(M?fao>ZIGw`#(CT67(p?~ql%e= zshhfLH?%&2xS(Ko-L$l0{Co&n%eUD9>Yzg|q35p)X3tU#R?)ukAfYdIWb#a6IyhKA zH(}p2kOAKI<`nKpB{1~t*DrT&oWFd zsS&}<7RGw~S4xCV)I+giBLdpG4vi077pAVgxcPqP;yYK{%dUm-7_uy*6ZCN!Mphc1 z%D>JZR{KMscD)kB_+y+-wx>+GA;d)uzY^aS79^!gn20TF|?S=2SymKt+ zi#KE*>?s+L?95TvHzUp<*x|F zK6vRB&80!WpOPS9q&gV3752?;GG=orS2v|#!pGpIUwmM`rYy-^of<&AV}AD%orOdR zca*=bV4nWY_(Gfg19OH-nxvhTZyk!lA!Jcn1JF4-_3?AQ0T-9>^Uj;`&20CL{7Pq(F=_alNXeWwes(f?32Fh|qK(RBNVa%JFL5y&84s49W-LdThfNi>yKJxBYe78qvI?R?t zFQ@|lxYvNwg4RWEITV9uPo#i{7tQ;f&f850D_&V4ExmYZ{P&Ru*P)nuqhQw`mpJXB zcs6x_SRjJIrGQu}RdvZ_xNUA^qe%l=jw*{948zDr`*-(M`ln$NC^J{u&QWr2VTa_8 zK3@AOn|Jwlq$j=hq}eB8S^TXrPS|i6_%2pIc<_hr2K^YfoTUh^DDrPt= zKyF8Hh>!(2z@!yg{z)sG0Z|NJeO8)qLhz4(qrbm+IUbNuCnDt0rAqKBmy1^o3-bI_ zERc7eSV|N};xd6~P+#N!g^I0{p3w#qCYq|muRi{m>&)E-Z0fs%kmoT`PEcwn#(Bcn z)aVzV$j!wf&clH^-Lsi_<@xI)n&qQ+*tKLT^c2457TY0~8IcC~0h(6i>ikdJ0qKI7 zkPxi4Ka4mT6`CdCLIGPfrPz0Xf$Zmz4UyQMP?b429rP93(|5HU)#%~~8$*?urwMx@ zqz#Dlz4^ALLWygenC;6A(qzV7!|3cK|J&`_g|_kJ0H0vN#0XdSFr;3?aU!PLezSxu3?2}_is24Ip5%J;jjt%Zzgx<%lv8mu&43KY-umIb}jVaSb zhiDfPvX6_nn-`nO^4U z^$mzMc`@>)4A*k$9VWn2X&%n=GDw~3$ofGicE65=0Vb8!ZT9jhVY`Rinp!?OLlOIm z|8QAW40=|tO6K=p@d!S11KpUW9ECbFg8ImSXrW9=-o?0Wl|=W)KuMvq^1Hzo^10+? zD26{pg{*(|K3ROV>{-NW*>Aa+{yUa8EV6Yz$*jw%A6OM|2_({@fmuflYxE(eJ^v~X z&V*s9`!4A_j2TD<>QNpwwp6Q&Q_bq4ap8A;t=%-iLMYSKV6MDA$$XgSdGc@ZETtT} zX;;5uoj-M=1gsug-uZdk#poh~MX(2ZvA{KUCQIL#4gINKpRhd<1aiQ+B{>M@Bfmln zRLvjQ6lAc#nD$ayw4GWIYr_G?0z9S`C6~e+yyzU|rfpK+$GFzN@{^`X&4$!km}@X1 z&n^$Dby&J2TTu6yFce=c46aW*H+4+&snOX3jiZyg1L=DHwRewb)bwIX^_5i$jAjBQ z`yIq=hbdcDL8`~3YWEzWA`{cqXlCPkJSMlYcSDn+-dI~S%5NwrG@4%5YD8B27Obp@ zrUfG_32*^$y=2BqVdy>53N|GN`;4G>Uq%s(7($o9bUZ-PUNQbY zP*xGuK>#Xizu1uz^jVV&NBi{N!rMi|f;j-f!stFH;!gD?{i}fpqVCR7s)D}9G{yIVPq(V6cAMLsoj%f=BQgmT?$!DD9-m2+@1f3 zjnHdu+GT+$3HmrKd!6-$hI&Tj=?WR+P`4FckFaFegWu6bX24%V8_N^Gr!U*@SFJ za8>y%wk_CcUY(~F)R_Sk4NW^5ek}1h8Awf(C*tezx7N)oa-s0E+0R;sW$CJTCX>ZekBj>y0t|U8Yti zgp0NoxiWXX6R0cP>!+lhY;pC2`NH+NurvIUb7n+7)qZwR^r zwRD)sP#=Gl+@$GFnau55$XIwmPb=)zO4`ojWs{`CW{O~+{v$4s@8y-_9jnuAH^C=D zv%uX(E<;nu8F&1!!M_ptuKRr|A1!KfFsU#qs$2CJrXaN}{Qa1&Q7Cb54`Sw8B;I5u z=YmTdNr>QZQ*iiB)%DO`B@7yGrKq9qe>_Pf2^R|D!hws2MsvSBjP`e}wv$MHpC){b zQThs2|4X)N$D+^@vr9XT3YOuDg)t90Q-!$IgcTN< zl(7EFVsL?-Clh7jU$X7qgee#e%f3>?mx_@3y&>84Y;=>&dt_eS5O*`LkH#*MEYtSv z34fX5bJjoMC_7F6LEU;;xIq`yqhR=AH{I`_Eu&tnx>sL#6YT!XzqTA73@(W({vf>I zi=j04BWPK@v?2YR$WIX{*Q<(b|2pks7H>Qzl`*T$6fz%Y3`g0QdOJxs$H>ODjMPBr_`8~AV*0@M`~l3bjp9^<}gaU1f?|Z(BMWR?)>vzsoFnDt?^Ui$%-jw z%hV#+2hfq-T`T)8BlB90*;mzNQnA^+s$xj>XtieC;qijw>qYVQ+#0od;~>FQ`5j3@ zcURDG>pQ4Q&hW20#il=3N$IHaNeA_qWc#?q;y!drK4y|$zFd)?Op1FH6p!FT=jxhy z1jD(!n|Ti8h42u-D^9R=ZWIt}8sI&AAz^~Y7E~}lgb;{&q>)ke@Y0~4Wy?CcQ&W4_ zz;TGr6STm()P0sHsz85vM+4xvIZHX&r8UGUhENEEKM6ab<^^r>;9+BiEoQx(Qx}Qd6=K6tg znK~YSj++Y}5tWYEy~a$`I2$29JO-q0ZIbIfPPB*TfW<%9MP#U+a$P$xMm?LQ50-nE zizue!DIaO28dSTVQxJ4>Z*a)&y<#DkquR^+0c!KYF>9c_C)tD=Cp?21<_ zRY+5erLEu>U#vARrnha)ZdFV?5oqY(mY?ZbBR0%;Sjc+(aTbi*kdoGSA?2!JIa59< zS)!^((C5OiO?VBzgxLnEVgnN5s+24sZDc} zbbA}gcL}+{%K&9@e&96X$dDTg2&h`m9NcKzOm;q#CkZJ!Vh{d5Ex`PYF|wb#Mu-^+ zLdPX!9Fk@Ff?O5DAI*puJ4n=D2Ze0R8Cyo!DuGtAbK>_f;*Ty9b6fl;bXG#k()#^IU8%dn8?po4ZE!PXR zF`QZC^tCuWpa57#hKMwb==+h8SSVJZAdI^=8)zgHt$I4_wNo8{X#a#n6Xf_+s_n>s%xyn`BX-NFAOnJ{e}=#@3{rv>LrLS~Pw~i(dK!Fx zuHpGP*7}u@rqKqM(dNy7Vam3eI}U|xKqoev_~)5n9JT5i$iKG)UBzDF@zq`<^-|Qp z;+TL{G;D(yNjGcK6&6SX^qK7In`u(D0fQjDiI!LzSlvKR6wz*9T7^p^3c0OEOAQVh zK(6n2i+`vBvl41&`jb49d}DXB0dpFqT zIW+XqYJ*8?-|k2+*HvA^W!KOW=a=p6Be94M2Ffw^~0;L+d|A zI(vIvAOL}?j4WFTovYdzJ>$r7->DQ)NCpp@q#{Y8LWOD>dgz9B(|_Eq5lp@o>|+_!FMAkQ-&s{d2*Z!=aJFYvN$4ev0;1_GI ze>W_r2aJLXCnb#622!J`1h{@MCiUlZU=8QBqqnSe%HB|Oq88yp18Vsc&yU%ZM*goD zkzf7Y!Z?jCFE?S(<-3Ol6y>_IShy>t9H5G*KX(vNz1u9u4p^O2-x`AHI%fC3@o~>S z-}tU|?r#~B=Y?ji42pfPF=kk1Lk1{@N9fNG0SdEm13-BrY+Q1WMH|$DO=adpc=3R~ z9`n8Uqxz5&C|h2jN{oKj?js0b(k_9b0Kjt?Hw3GowbM*`^4K5(`X@kNA)GOR3i zRcay>3>T8+5bBpB0(uc82*{1>4n^^`$d@;&>q)!lw~z#z=F_ec-E2QLg7uKxrr$>d zvkc2P@^*CJKh_Vc=L$rA?QKSm3UUYKGCXt0kInVD#c2cCfS9wBS3)R7s3X4{HhkPG z%=5kf*u}*f@g`ljg;=p=$!QwpsBQ|KIXLt8&={sl3PX(yO!~ZeX`ti%PE4o8-m``z zyaEy)8yrA^j4JfmC){y@7(#s){~bp)4A)(?h$=yue`|K{I=aO%{kp^3*AWQunw2t80Qn8@M7fhKB$PI8?QlwKMoMw#3q+0TG_rdYmg`wW6=iMO)* zfE|CeRkTq*+MNaaf)bh?O!u=FP3Zm@C?)kmPfa=9jC`rXHu(wXn~qj$#r?Km2U3&B zVF5m#ISn}q0tN3aij7KWU)2YIc(P7kJ%Y%D(s7w65SZw3soN4Gj$rl+2~Lc)Wz!N^Y!=;0Xa>w_z%uSkzqTJ0j}Ot7YEo?Wu#eVWyzd@Phg0 z3vz0Jq6ismBBLpzv9TJDB-JM{MteTUmA*es2)pPnFS%Pz&s~4MQIogQHk*CrdaF?l zhZlZhkums8^mhAQ-**h&w$S!NcSR1(UGQfBBK;9Cd%@a#jLX<=IiBxBw+s4{!1b2~ zeB@}w0=7w})w3EkTu=yR(7p{8y}!>!*}iqY%y@pBZQYwx-lo1R z+4t2M8mGGoCh^_j<<5P65dD#U5}WS1=6nbE`j$u7+pOibZ`vc~VuWj>O)$k%e_Ajf ze%GdN*BRICR~o|tDzg|04*N?=Z~#jh5D5>NjE@0lKB{Afd=)g`>L6$CQ`W7K;hTY{ zJA)mF>{vq*Lwu9=6`OV4B0&=~tpIbx%Y@&Y0XyfaQ=KdUl+ z2CiY-4r6!QUJF4*mVdSy=Wqm~^)KFoAG@^x6g%2JU6gN`q>V5xfS4suufD~CZPD!} zanjb{tHJMePn>)Kce>vjKV+}pG_zRUFs4Jlc1|}LrAuWt6E-;Djh&TnPEQG}4wP*a zIV4buT7hX9DM&$yuOn-E{|eCAR*~$h!$VIgRfce%ul%#zRfqsEF3>E2zqA{vHiLX! z_KGOl@&{_^U^ya~)aBV2}lGA;Co)PpB1?3d5k?HJ^y@fQs)G zyv>irV~Q3_y&kMQ<_opuP(W;AH2!|L;3Nj6GQH5AZ+M_Q!{Q~C!1Ngs7#-PyE5CUQ zoj=h%wj=&aqcz0|PonUH!OU8zK)$xP8M^tJQW^3Kzo9|ZWv7Nr0 z%Xo#MuhmiR{de9!bB&S2La1vDFn`Zn61hjvx0|82YY8YKMY+66lECz|T!cBvPB2`=&78}EA}#v4&k6KZZ9xjHO;2g&Yu#>;KvhOE}6n#_L@|B0GKGw z%Op+r{WkG9k4Af^A>n(_+0<^&kG7UlLUkyj6keEvh*&-dYo0pWKlA+=Zv7MqgUB0A znnBjLs#)n>ORgEt$4k}#@a=F>HT}12IKH(OraWq&9j0z>1E{y_*53C)xR4GhIKb~8LvV#K00|l`z6|A;k zxKl@HGhbS_xre0pJ7A$7+2&`G|0kNNZ(rkI7yvm~0K@IT?z`PWJ9hL7_kAn+NqB3p z6HS?|6T5HHo0)yzbz+>3U-1ElC2Q^JwFPXTB~=59tSdQpZ$=xrUJTupJDmAY1-L8 zdkVolA6%<0&1!5+PhKkpTj z?*tF*nDoN|YT{U@vNN^dmlJoEz&JPod22*0TO4(Bpw@Scgyi3D`@z~T>AxCDxmZFl zzysk$8VFzmXUQn<%A^(E-bdKi02CGJZg)2v6R*qUYGsol*f%Zh%!KZ-Ah{Uj&jp7F zB+}oS2q8pb%vEoYHE^{zNaVi#Tm8Nxv$`m*jdxD1GBiL<#}um0D9mIKVgYhiw8+v5 zIcC$3&o}9Uo4(NUb+7d$Y`W4QwEE(PD=YSKTjgg(IIXDK-K%XS-_-weg+wi!)&j(jy^kF3+otd|mIM$mQ>HFo(YPM30(T{-;{ z!TV;vAp;TGtN^5Tivj|RhvQXyd;}nlI@)3>Xf1k((M2zK;XmA-FYP%mVp2wC8rdgY6_1?4(k0DcE?t#zf@1)5IM4|;8R_|U_`wd z?>LvT#F?`;!6jCx%!(vmpCS+>#N5j^v@d$CnC>7bm(|eiI8`OD(7~|sK1w)g*FZOA z0&@M+C1*2qIdX)9q7mS`10(bR`;4ozRbIjw9uB?*&Ze zzFmZ$&?O|H02hIrskY1PgzZ|4KuN`i4Q{w;oSL!2RK`^aV5QQcumi8we?Oq>$@3$J zm&h^VDl`s-MncSDCa3|5qusqpJ#xbrs1~eznEZ=LMS^TVf{mi~iwHpy;sp*F#tt~^ z?u{~C1Id$Ku$azM$1G)BVhjmk``R0T)M}C7g0rH(yg!oyYEqu@Yp!{RYCG%b|DVYp zlzk=2PClSrij{jcsH6VErLvv9m}U@xv3+Yn;yE9(c)E!-l~2{cHi0qcg{|#$ArSb>SXv2JrR8w@|y;$k5P;nK#0IF0*}k z%hYLW(z{iUvnUEeDXk3++z@MSAvODY^^o*N1yoL>k*fPt~R9D5ok0yM(#G!_U* zdc$mc>?*yy`1XTdDtFEW8^~US&(1)}p9@UZ-0B&iiI zm$pqppf^6kzQ)Vl@bKN*D#g)@(ais`fvMxSSP)QI^w32WTV5t&Z-!=g(HxKi0iq!! z#6i7h9oA5`0k0xTo+hEo129PG9XwgW!JIqj9VCc4x&u|8_b(pf$x}{pY?}pxzvpd= zzV3U!0|ndJ|9}Gf`}9ObXWZ|bqmHfkXn-X?+ITz_<63bY5=Z0@+WREcvlw3T<%GXF zLs5U&=%0`BBdqVwraqI_xZQLC+mBT*3m5Yq-VA-O$UovzZ zOL|`1qEAZd=2u?5kyVOOCWKleStx?QRST+s7!^e&&}@LZ%c<;R(xwXs3|uCuF?n+| zjr1$yqi*6a)J9_8#O>6aNG3kgS}*Zd5RBe@JSEJcP`Bwy<@I8If7_^~NlPTN;}LPF z(s5ci;+QXf(I9DiLI^{!y8~SwU7Viq#y}sF$<;o@9lh!3(Nox9@inLF*%qK+sy_^x z{2(*%__a5TbL0jFKkpL%dGDXV2mpzXpBsmdtpZKI(fa&JPTj7vgwH!K$d0GFh^qS&^5?P~ z+s5+O1S?jpg#mCn-|NR-jt{O|$Oi!x707b?;yEQuHdx?&V;Ct*238SgLYLmp1TM~% z83?)c*~IpzGSlrhy~I#O07?xkI$L7j99PMEj0u(0@)asoJokQUoX5!5+8{HWpF8)f7mH}PF_3wiQwGCrfZEXyrt$zf^S@*7J^$ zlHsUv{`U%4l6Jod0ma(K=@YEgRrVRADC2Di0E-R@TZJbyb%uxkd;5Wz_`Eny@YxFV z{7Xn`i{O_uzB|UqjzlpQge_yXP+{i>_vXqBD|Qalk|HTkceu6)0{nW5SAA`8j)lpW zh+UsDQKQND1D8Ho+Gg@G5mv4;5w<^{SIo@Wbhh~2>ZmRVai%ceK6*I-8=fX zUqo_jP74X!_a`Vv={rK(oUGbzJ3k5cLq@LaWK6|vs)a59#8g>q2$gR-m5k$;%zg(| zDVKa3L=;2)jfgR?@%;Cf`8yt>+tk_rs6n_EbX$x4o|79dn4f`M0@hDl4XX^>x03 zf4w%{hRz@*D1cLANOan94>d|1oUQ?BiKDNO^Xf-bYuTIR>M(sR}bO%c}b0-!ea!Ro9a0l8|<0?GNe+O`5ZX z?l>LHTA`?QipQ5ntrLU60S;&-F6Wf)qmmpJ;znshI!k;{uEM7%z=#Tie!dQPHvLP+ zM7JA~l$C_6@i8QO5ED&w=L3$+os@t|X=w)lt|NnZBA4kv<0#OkNbZ@An--sv!%9S& zU;9kEjF76m){syA*M>Xa*#VpRF?`)`w(brkS);)2h!+)g^obh*)_xj^O%+I%M&H)( z?_m+w%dNXctqEXG1hJ0ctAk3LJfd-99)puLkC-L}l74EdS}lOSuHKg=`-~a!i&c&a zJ@2Qx7}6e$n^A^YIc&*6FN_^&5W0^g z5}}?f;tZ2HK$|dM=#aMVk&qsm6qFXPm$XiwxLF^*EH{3gcm38lDJ ziYv{ynmWF!NpVr{Pv`dX0PTC?jU2?MSy(0w(DBT2gl3vWhxZiPyC7(O(|%i(oT&9BnO9vE|80L)oULrPl5SE3UD?;k<}W*P zxmdayLN{NV+YW7gwvdOrkj+BEs^LX67^03B8LM0MBSs8EC>EsZVDm*mViwz%{!#AZ zew7yo-=z7PgW8}HKQ74pvvstu z%s1(|namhybBw;bELdno@@V&yr(k4PCwvOlpWlT^!z8i#+@S{;SOWe2xK&ys zRpx1)%@!!hmJ|Hm|2cf?4#SAkZWCCACh}V7%smh!-WJ`XEc7Ev4sy@-!_rRpl6%WW{tpIAuu)^t_`{+czqtGbMGHL50P~zFzlp#&L?r7M zY~{$GAwcX4n}i+-cRa}~uW#FlBkpR@_8&Kb=lp4vU+(hXT958-ll70Y?UilSm-Rx> z06WX+yj>Q3o@@|6+Knxqh5|%S@_pHKg3-ZMcZWs`dJ^h-LpILjWJ^8*lR-{<3~b*F zRJ%tXc4z<$MqqP^r-N#+bp5m7%*{$%e7$nqOtkeK4$lixYK2}K4*-sLw+6t0I#2*h zh^?^U7tL`1=$@Bf{~M?gk)VGA({F{4XxPUihvt+@0s61C3=VzcFnw~;xi+>^i0V zRH;9B9R|}d4nEb-tNe(E5V;m2F^pBs{5chH0 zqFem@1to;k8je#EQ^YmiAn^21rw5|AH-G3wd*5%|zUqUL_noPgjxH3^KPRXapE%o- z7&pSX4@EqE52jO9yjU6tqg>)L7wh=|{?w{`_tSc?$i;m0=g<4cuP%~$EL**3{@5m0 zWV$TT4{~LTIZ6=R_q9;q`0^DLKsq{W;*V8QCjlS)s12)|%MpGv=H$x(>%oke3zb+- z@t&Yn#|bgvTY4qIwrZx8a*g>vEkNi7g99>s9}kMd!P%hv83+`>KxJ_Ba#=o5aK=KKnFV#YYo3)5Rl2I&fcaB;Sc}FK!qM%(F@p9b@zEL@E9T zo!5UnXZgPi)(smFv)vr68+&Ih04#6~UFU>fkNv@vVC8eqdBEjtq=5=(paGue^nm z1PQx3A*4)M$g6M3Aw3=)ei;HN{vc9dyi2eK%wd!Wj)qLnqTOEZ=C?*gRUy02L75NJ zS0aRZ1uShpjdS+#cIx>_5t@eF zEjZaXHOg8?pde8I2(r#X&pDU@R|B2N;j|>rL#LPJX)W3qg-LKR@yres6W&UBQ%lT~ zLvpEd@&37sKMSA0m6N1H(7mQ%5=K}FV5Mu>3V_CN*+>@(xPh@d;chn~ZO2tbzFiG` zf4MUzRXseSneRG!?eg&sSN$Z(%wNT2bo&GSm{fF=0^LIS-i$(4(Z0kHB?0VNM^C7y zY6t$V6$tAr-#ejr+3)@>zpM1U^h6K-H!5Yp)G8J#YgvE+P{O$u%)LiSIL0Q*2Y-sn zj1z)Bf8BE2KZ}EXxYtPa}E%{d>27b+A98m8n^6Nrwbw%MjAMv{XSsf-9>f-Co zR!Aft%B5NkasSwExgO;@R5$y_7zAXkFb5y=6-A%$q8Q!h$g@(zgI%1Kn#1c30lNit z)yTR{Fiif-o=B#^hLLEaX2aq(Le20=`Y;Ey_E2_4U%!09x-DFFf?&iWHViHlWdl<5 z^{)`_B>lF_r^<^?!+EG16Fzr!8GHsl%jupBeFqJ809>7i!E+k8#GAy>{2LJoUR@*1 zxQv=+Y~@Jeq_)3PloS8_-i{3^FvDhJsS*V6nWurkw}{^*PClZ+yxaDxJTAtVhTO)j zlPJ)Poq9VHG<$o|bIaiz>l&N^F#>)n%SxEhTT}HP&$YszM0}XsIGS+U9{zE+T}Cmf zMVCSnVi`M`i@l%$gb((ymLCkYSTpI1%>b~9jhYst0zK1dVQN*Fs3mES$D?BX*qD92 z)6T2Mnlv1NJOQ_v2BXn0)XgrO!<+m{|Hm;q6ie^-2V;ShFENguL^dR&8D|<3sOJF8 zHmNL4&^=%Q8i{|Cjh9k;E>$1OQjm8wX+P5R{ffoZ|B=~V5GvVwjl~@B&GE0mLJBT` zg=zmin-HxT3TzX6^8i<+L??>uPK81D0!LwFyS4wdcAy!*R*G*PUi35qo?IO#cE?G9 z?QT)ioczy`9RR@5XN0u3oXD?WN3%eIU8Ev*`3}3jnw3J6@{#yY!V!HaUh!%)DdE|$ zxky!`J&Nlp#i`7TcOM-+zJv%p5S!r82tt=YA4RxWA=cUc>&hlAFptc8g!i{7{ZT%L+rmHtgkfmb65F=V zhdNa)gncj@b1YB>|7rG`Jq68dos2u+CVq|GQXG@s1AR~H3+M63lVb&(hjs%8#OZ!+ zIwpdMy`d=4QY4UWNXIF`tq46)PHP2aFVreGbueAuFy?uhrVAl~|NkXirS)-zG>fdmV4H|rwb50Yk$ za9P`XdW8E<`Nq@;Pa^PD!=k7P1%@g8##sLjX#45d%VI#vcBx@6Uf5 z$p}uXp2tK+9*>#?hQ{HZZiuv-;; z&sU!U55;d9Y&DbrNk}ID2WGZtfC7CL1-#}1$U+fJ4FKT-x4%CwCN3e7qbaFp6cYS) zaO?XA{&8AxY=Rdy^U6jK)OP-P^V%{PoxD+4}0-<@p!4i9ZYnj*5$INH0b>UXKF*=Djmag{319GVeHuoA;Z^8-9Cjz58{JqhVQ zM*SQ&4Alt&#|${l&9VqxKXI(OO#@`TwV`%R@U*tEpP$$(zsdulUGcQC?1dJp85qE* zcEM0cgnr4F=xWN9z-d^t38p$UCQrf!S% zPk*(~S^G=R63NT?R86$LIb&NcRMM;aEKarakYMHex>r)-za zh+Dt&xR!bcJ!bt6ar#LAZv&O_11v0m_~z*(zv_wrXi=&R=*eMu=!w|e$^jTu%*?|p z=xcDUPraJctzQ~p-{YJ%)D2+Co@m|v;h%$XC#BRFe*VP4(Mc1(*oboL?)%}zGbs73~{=cSq}a{tm(C5ID0&wyXg0;JGO4ipcX<9 zXe&p+sw8J7#X!2?UtzpW2T{<8gBhzNzzPD@(y? z&Br7CBS$d3T^8@l6Fz_~lTD|IzPf*PO?Ug6yo<!-#!|iMLB;OcR+7yPBK1`0m$6_XQnN0bZgfPo6PXfdROB|YfpW;!>y-`hF)ViL5gU&y)$ueS+cL9-7?=GaP)(y?Dxf z^5!Wu8y`+oM>R$r{ejxRrucXt*(UEHS-zljavD3iT!9Mr|~_y1A#7G6<) zU%c=$!_b}5-Q5h*-5t{19nv+FbhjcUNVjx1l8O@2ZP3#Fj^E#X?^^dCm^Ewd=bXLI zr*^8~)PZL189{HzXR@z-faDAK58FjB$8UAX(IMyWT$3ezAbu&ey(CA?xYaMs3tIJj zR5tOy+wovM*HkR0t!eC$u`ZJR)tNH2}A(cko27KzNa5==J~~KF#rRF z%I_u?^H)cNJ@zm7FOE$}hG#{wZZ@@SCUjDSplZtthEtLu!0ZBAJ49#Y?VS;U2gj!_ z%m!Uk6-Cyv7+_8O z!0pN*ei0q*KO&-21mF42@U%~jwJB27Tv(1o9jsQDt%u*gZ$Oa!w=6>4Zwfh7BuYiy zIDTM6{NeT6#L2I3^C&Une#!mvlOI#Pt*=6+o?R>8woy_>UeszsI;(1%87m&U_~6`` zRI0ee=!NpDz7a82pvk8h4F&@2TFsr*GmQ!WqDKu(bFl{vkI^=1mfs4bb4Mxkqws;F zF+=Ef;osm<@*k%tgbG0E3iN;`BEWl8Q69vhm42QIC6e|d^cABX981~2YJQRV1pmfH ztjOuv!eur*`B*3A<({Y-Ia14#g2dM_B(P@hu8RX&O?kzPFObFUFYP!K6l zI7B_hi0fVk5oU|##&f|Ey{y1>lZR$y&MjzzUIBJy*8GTv1jXaO15mncmpq?o^8MGV zH?t^W2b&Cd_{Ug3+v1#N`fx96bo(g0EsK2V^( zG&d+=fho@XXJ)I8jT~P?QnsJ6VuJ1Kth~0k1lkdAw^hty<6a|*UyUGmoQ4r;<}34x zkLfFQGo)Ce1Aw7UbA@)VXY5*|=f#MH@kOAHW?{t;t*>jQf9vX8tZA}m?SvP~cl?UKH-%pBJzPo>3 z&|HzHmQ=-a!4S3ED&H_q*jR6%9Py_lM-yhS)=o_At%sCO;bzQZw|MQb5$$&-4PR+_ zKgat~2@;+>e!t>9>Q`=mD^P`#ezhEur8#33V1GKL?P36W*j6C(cq~g9tX7M}zobb* zYcL^eG?zMQo%A?PLXH?r(L#alZhz*$Y1p>_q5Pg-O~gk9Qom{>)FOVIL=|MeJe{0e z-04)w24|TO^fbY$1K;ZqGWeT;P$xC!4nG^I{gGEbW9X2dRLGsP3Ls3rUzlv%%tC~Q zuy5+x)}AB4T-+5=OSYciO^3vX9xT6r)c))HNc+!y*6wA|i#yW_4P6kIbDC@Aw~yz- zCU7Wnya)UL7O5NR8qShZ4fNA}W~Ik2N{lkBJ}7ppm)}@m^Sto89&F|M?aJD`*U=y^ zaqAv3KAOj6oraJIJYVh`Ym()mF%?9%&#}$GX~_s==pI<8^VAQ2+hrSQY{B$t>{Q=e8OacREP6xWSmMea(RR z$r{k5AE977R1urIAfOMp@8jQ$GTd7qMEfED9*7io5}yj6h2o{Q8!hnrKbKFyBday&h8Cq05I+0*lnXsmXW|1 zb{^o?`JL`C=qa5PPT72bp64=D)Sk#|t7tWJT8@~a$i!;}czhI(lj-BftiPT8f#-aL zr>m0Cp_DWZU0x$`BOR3A=lzus!dXqCHu{etC^uHByfb{{pb@i7Nfn}p3> zy5O=pzshv~tg$YXTu=UFe1qRroI52AKgi--jJrT0B7Ru0Py!_Li5bm&NaTs~I=+Ak(4NVn0JR?a& z=sumFU~Ory|pA- zzAv>A#PKdgGv72WvQ0q$Oo_ob)B9N)y4?iY(`1G3IXL2d=3cMgcsI|6iZgkf_n^9$ zxovTUkq_wotQpu2LiZRFCwNbAsZ3a)gCo?Bu`nJOs|j1^Q9??D4w<1fJc^^LxBDYQ z%OEUcD7dIJ>K~D&E?_i>zwEg!CKzvw`^)rRNp&D3QCrg!M@VgI2&HTf@@3Ohs>|U; zdu$G=b)}^zX+(Dx*!uq_lRwS-c0Eo04wu_wZcyl2--dyiZYJ-mMz%*&2+j|KI}gmo zP^OpeNQjKVM0UodAca zs$nU>^~Zm7+`*53Kykw!!iCBVS1;w^caWx4&efBA?^F(k3u*+W5v+5T5&}s=WDEbEjAxk20u> z-r3Pm|EaqcflJD1kpS@5o7yOg+L>7Zv}u7AP+iA{IDlcamLe8+;t71SMn zz)9Y3Dm1T|Xcxz?q0JN-Sw^ZSNuWdA3UOh5ivBzGepu#@E^f}kHpj^Z;)zHTy6+2g zbbM_pYFyo_7kI0xz|Wr~wTQNxY<-(~&Uv8ttSM#~-=nE-+Jm zAJ9d)JILZ7z?ji7(}Qos4E#+Txl>qtuc0^St7>gsPk$ zd=nuIM`CYYoOS){VMG6^VQy*w*yZ<5CEv^|jvZ(HIWRyjOC0g7hnOieh{`2Qv+#oJ zxt9=@O-2n=08C+58vZv}RG|$Nvw}AzKW3YR1dcv0Faes_{1Id%-mCC8a!_|8AE@0& zHP3b{*4jM6)J%rff_<*_d+;Ki0k&?m2?;Ph9(!9*O%sNZ-EqSFimlLV#J` z+fw18-X2Hb34!P+6ct$N9R~pGT7))Txz!$Wg+gB(->??MYO)H39S;hyEQLk}t0WRo z8ZU`6a)lITM+b1nt)vYU?MKOc2pypBz^d^tim&eDg9V*b4aDEaz1NK?nb|Ol*dgG- z<&ao{+-B&O zQF_=T(6gO{MoT#f(RdQWR)2@@P6D?T3ty z5canJ#1Q=u@~tN@7xu$aend442LleI43NYTERztM=NSlm9w0cYUoiyO8?s>q&inREd0ubFP>iMN507_zq@_@qQTuU z#}sg144l`38_4YEKR_M9fU}rpFrNA2e(2JkkB&t%#>!LWyAxmHAV$~;`91S-ZwFRe zE2hcY6?*bE+OzomaxQkj;`yB@>^rK(i-VorHaVV)PAX@WyRQ* z5bxz%zuKZbtV2=P3P~KQsB0R`ryoZI`D4F5JNFakl?xeBRhtgO|YXpZe8o5YE4spl(XS=|!QYU)Dh=N?S_7 zd!HT~Ru0O?G0vX_0q997ljpsUwTIJ6QEGOoe7;E$$`^D@fR`~WBC{$on$+$H8o$%q zj2+lE4=7s~!8u4L9}>V}3VGkGPk#QD!c61C7V)BaJJI!n6X8Pzm9OTUcxM#Q%AvcE z;D<>ieezCNj~u2CNYYbpGtMBBa`u-sc-hutCrz)rthImZZBXg8&s4_Rgn=P-@W zs*J59I;v*mTJ}%CX3tV(bd=VfT+I8;Y30t<2xUD))5`Q^>cN*12@p(ci_a;-SX!wb z1YqR31p_zp^VMe=2}A?6vr!aR{c+Pv1rP`YYNkM=%x#z4-f#iK&4eL(JV6hRJoDYGg1BfZN3OuGKc*DTqZB+cK24 zxDoW=;Wg?WOXJ9HQ^RK`*OLnjw1dG4VLMdFfQi>A z+QUPP^OkO_RL-}g3Uyk1=yQFiM8*8-R{n4-`76R$NZoE4<7_rF^=$D;(| z;qIfW96dm_HUBcVC3O8tMek_}g@nR>47Twc%rGOd$76u+y)~j^sg?ER*HZ#*(V2_| zA~lW5T3w0#I?#K+lk?$I)@V^`B+aLAM!yy5$o77$v}^SDjdHQtz7n|z|oYrnQ}xSc^Sdo-`wyM zvsD-EhxjAp*#)hnM4XC{0I>P{%;Is4h)>5m_1B5p5gD&6ZigP3>2<#7C2CcB@0+h( zkOx7CPIOc&;*kK+r1xg6NMrfl)bV0YrG&$%CbL9k{ZO8r>^UTdpILgZeuYShnZIHP zA4YtORtOrzWDvbc@XSA(N48wN`?{y5VB3u~%-Pxb(J~kgMdj#8EqA<`2`X^?52IfH z52J1;0jT#L+U!-(sk4h+S%;Do(KjcVPS^;69PxeO^g5Gk>rtTZ`I6!0=+e4@(ZT-D z5F;`yoMTUM0o??oNK8x)?TvKeMXT;6f+qvS(rK*AjeUok1^p%tlk-YJ06E_d8xxS4 zTub~_((tF=X0Zse=MTe##y~CH3ia>|0vmocUK_A55@Q|`N-9*Kv<&qyP%_?n))>e< zNWaT4c<}~qI$hy^W3_3AE_uHYT=`UhdN?QJ&dSm{b2~X3zaS0*1W5lhIJA*vX;OK4 z{L~QIoYO&u8FAqyWOpK#dKv<-pKlbc;wb_=)_A9HHLtUGiu^K9f8+l|-=Ot@zo6jA zA_-HLwl00u=QT|rb+lNQ9jQRop8N3@ArC9n$uAQTU~5vh!*>*Q&d@b7K-S3Ip- z&!_l8vsM)ST9{iH+NeVHcCZ2S1#Pk;IpOOmm=}fWyHM|cC*_~QyC>=$Dqyma#v_Rc zV6nTavI6E$cM>Q-1?cDdQ~Kl1O02}$XhIJ(7^myN1_&U=L_`uBleU@1ZLj8W&tdHi zoeBN*R)MjnX}1Nj2*SkxBK^I!z|$;9RYy>R2&9J0&~Y}265%LNPR z{Wc=m!{1_3K(+FvXcWP^aOpQ*Z=+Zbv!T-VBgkH1m>YlqSnjh6X#H^RPzRJ+^=28} z9`0UPz3m##7Jp;=Dq3CRF*u3=gR{}&!1lw<$>icdaZ$2qT0DL_=PizLVt|9?K|j}p zMTs)me#?^Y7BT#Ps%Yg7`Py|UaLrls6fM{6FY)_F%*jS&{F3@r$O#VdoU(9w%WGz3KjIE1lV}EE zZ@TwZ|C4z+{jY;V0Buk#bj4-rbvJHlG?V9dmV2vfp$7yHz^T7uOf0<1txg4z8Ue_x zc?|jlR1}RBk&fcBZ%A*#MMPI9$q#qZhkw0*wJP@VOd+wQEY-1C2i_j?y|7SK9S7!c zwV$2i19y8oZjW0|tHFE9rTE{rN>E}50n{(kyrEW$xE(ScAL|Ej$NI?cd*-EFFo&)t z6zQoAiYAIq=DsFNtuybQVMVD{bRvI4gCo1WgeGY zBtlUc@ThVi@N!4;EB%#$iLABw@#6_@{^fjG11sN_5j{m@2HK2K-h z9XIa6rkZ(pbC?(PoiDxpFkXy&8rFWkqUw4)n_kpaHF39FvQK)oq`mYW;PE%|qghm# z%1QOst_Ii0_ylLBSm7Nk_796_8#5Ygbqo?r!LrE_F!xs4JO+~Mrv=xJoS?P#K6fa> zTtE$NaCI9W@7Fm$1=w5$^zM5|CeCRMyBc0-ka=|!EF1Km1K=$-hvHEW z;Y&%rA0CQ`=_iT#CKB%#;vl{rVxTnk+aGxMr5=z}_{0Bh!9{qs8Wpf|3^Qnqv=|;0 z6T;j^-Y|-=kdYA8RGTG4pwb7ljfUd+rC{w1NMbAXBb7hG6t)41XnxqN zA_Y*m$Sp~(jbvOeoUU0TH~2PU&i+k|oR$nc5)U?FOXLXIWsaF9I

zf#$A}q4gHEqMX<{UMenm6~-_2dtr_o4PkDwZ+Z<`sy{irIj+GZ1tt73e&*)&p*;p7f+j~AgpsED&&h}s()Sv zFMKCKg=v(NJP45Er9146TABCRSzhW8)rs2^`#o6!X3Gdswo8sVsYfPZ?VL&8K%BFKx>(3YmK`VKobqCxXkG1@xBD@6rJ?{ ziQk&_*PiGxZJx3*X+5^1SBbRKZ<_I2QU?RtAJt1WdUj{~Q)Wp=BmGkP%TUt+fQ*Rn z(!rbUQ!;6OW%Vi7vmerW(9MFhs<*N(T20YgUCoBy%)jEslRsv#bG2nIkEk-UJqxjs zl5?q!2&Z!4&FRK{p|L2sN!6_us|lJIn9ivktCgUXEEY%b-KK3JIb@dF{6B-@L9#caamjkvQ@#agp8c&JVTKM%>nz#0v9210H# zmxxH{yGP0QU{yZGC@n@VoI^SbjIxBS9}5##)+tOIzG>zR5NHjFMy!T%_GhLU<`WxI zD81h0p`ywBlMzf5hr|B4gZg>UZj1?{Fa9!IWi}Ws>^20~j2qdrHa_BDpas1Gkq{JV zHh@SGKF`~AzMTG_SmPDED|&Hl*@1zoAC&|RF;L4ee-z(Et9*}z-lelmc)pb;sMqIv zZIQaIcWM=Bib=nP2dVzxHl;72`irH7O0RCPO z@ZI;;UF4ToU-=^j(Em-`i>JFi%G~5-GFfOl8rJ0V6t7|LMWccf56gWpxlY|_0x5Ag*z`>A9cw!D* zg>eHTy6eFC0lhF4N^fHC`Fr{SiUSvT4zuIWVdVmwEcrL@9~*|)?uWTQKFSFFT;rZe z!3RX6f}XmPt-8flD`1%{aM$w(ELh$PSauzW=6I{VuedqM3#;>bc@Qk~4F|H;Hm#?a z?l)3pKIGGx6!n2FiB8j@a{V|@WpKU;Xx#6Q5EOvW5qJ*YBdWbco4}|65fnhy zSQC2Foczd!l#{a+^$p@5&~(BGksQ|2Qhq|eQt_C&Zhdi1>rZ&bweSZlu@a*uIkcdr zPWfTVNV#}48x7`x_Kn~Ylj!MZj`LaV&ar&u6W+~N4B5+<%4SMY1%nk4RvPh6uHZUT zxEgeNO?-CerwFhaz&^L}l=j~MypNC>F>FS4KOkD9!_uP+C6Me7s~NKTNNY%93}AT3 z#3rQd?4o1!CnI06eXc!fa-Qk3Ob8&qxx>BQK9fkx6T|QIA3NWz8z?4{U;~UC1Z=u$ z!fFQ;L6Tiu^U3y-j?=INgPY^iKqJ5EWv=_rK$5c*8PTN6XWJm5>B(d6fR+OG?J1Uc44;x1c@ zi**Bp_L%*Z)8Y7kIu#Km#mzuu24bl{75-YpLtD4nv79^!%bsxAMVAIF&CLOLLfv=0 zFLRwN)<`Z|KPC&jn-?X7_uSG+$o9f$hCL|~F}$XxUcQmR!EgU(#mTbA+fmTq;&Q)yBZFex@E`Sz2%OBiyv7?Pq zujqM@b>J~Am+~QhCMM@KUGXz)k0$=N0m%^82ueg1Z0Je>cjb|@=Vs$y)JUP{f5Wr< z%w&y#tg^hn^6*LSdbN5@MnF<2QqJ-wY9!gTwPj!o-AV& zxb>=l`O94_49>zgjXtKQUzh-SIcH`w>)hYkqkF|Je@fC#c`NpG#J(ZqTkG0PHpi#a zwpP);T9K$v=HoPt-Cn4P(0Le@9`;51vHmHc(o=r*y$$lpv6IaY){Tu^-iiQ&J4p(O zm-b?mPd%7i1rhX=xE2H>Fyq)wU+f*%m}6Mjy^A5f&-t9s9KZR{UwP~f9^P`p8YHFO zPlL4eZ_Hs=UvIr%kKs#|pcu6A4^K-NM4LbPW0>*30<+QJfg~dh6x&m6Y$WyFT%tUI z*%Zx`7|lPGMec!^8|^j{nfoG&Xu6wpxb=pE$ta&zF#wwZ^LhMc(vEdgy1m7)4C=b; zk8D!h(!6vl;-IE`Lcy#|Xi%rv3_61JRaHor3|OjA-eNS(o-Nbn zrqjU!70rJo(YLuNV@%Ps3P`sS%r_`Rda?o7lrK`&l;C38ZQ#rPJw#1iP^KoMjckTq z6EAKcvB_IFucY8HNl2%C)lwVJJ&P*4nOtnYz>Ov0Ykv47uT#14z`#B5UMfAn8y!f! zpMLY_W`hpuQAQ{gd^P+y)V`m;=O0!2$-h+#&1%hv&n z4T)ttkOZFhNM0U#rqrHQs~Lg5!BV7+i7P@>BaIQZubuBRzy7PxUHs!#c76-R&5E8B z4|evxnJNw~(Eu%#+28@;XGGD^Yv!4kPPp=~)WVVDrO*7*yNUrxR!Ru)ollY1O_}Un z@p-nr>3^yX;s2>Nkby7Vav(r&Hh58vJ>H7bYEo*uUSUHY0eUAAWVs?1B;Y*d?X=fH z!+5*XAF~lmH@Y|-PB?=U(FA!Y@co&=*vBwGim!+Sv^-6XB&YMadYQMRN)E|B7Mi;W7y;9xK6w4{XcgEZ?FVmg zO-_^c8l1ju;ld2;yf(-N^WV#RYzrfoI0x;REsgrv6v=E6KnU_WCA%USzU-!l|jF>7J)1TQWis>D*xB) z?=naEQ<(F~N!N8Ry`M{azRC_fcXm$&pc|i zL4Y-;dGM@Qg=;Qi{TB7wzg1_!Hm;6+YmX9&Q>*lhrs#_evyg><2 z!3GF=HN^l;f0S|nX7EZm9b|zjsW(gjIG|ErAkg#3S%ORJBKgTjn`FjLH_V|ZDp<$w z-mD*h?PUROwC*j$7e(St5Sr}xaE$v;Y_`Zsy7*oNYD#PX_oXd5V8eSNj!?wzrVaAS z1TPfu@o#%VYRUsYKo3bmZpPz~fy___;8gAI74g|&il1(OT|Z;B)wdIl0dsv{ld0(O z1CU#<7sgn~p_}R|d@9wW$Ne0N74c+A{x=gz{B(Y-(mmW^^yJPCfBEXY5jS;0m=lsD z`EL{)JnXLxkt(xBaa8&KFCOkfJ+^6fcI|nAT^1KuCBK>s$rOqvj~xZD@T0x&voL%An} z@+w;tU7U^9QFCy#ODFg_tZnm-Z4~xd5;epOt3JKtx63HHdB=;Vqn&0D8hfAuXdWDBeWUuP2bu#Ak6Z4l8?rgJA&aQ@yBt+2e?(Uf8H5k z^^$2TeB&zu5UubD89>9{A^`d&w@83~QVAy01#AxFA{HqQtCdz60QhQQe)fr6AHUj ztnv>5+${7;U28I?(PD$N_hHSxs545YwzZ`WXA(L}Gxt3Wrf)-cliI+zEs_=?q_xeV zQvX;*Ms{-ymkG2=EaKXnYZXr6W>QQUeL|cK3!pN4y0QfjVV#E$e@ed_0+p@Z*}v;V zK|ZD45WuB#awK}A7r74_gjw~YU_7q_mm=7VZaoI_0fO+5G4aBlrRxRw^XpPW{Elyu zmC`SIwb)-a#61fiHRiS?!UQAPs$f{#&^IUdMngHguzj}I&SWn>`;*L-q+{o)HIl=f zcyq*g;u zIQfFMr9QZ^OVSe48{l0axBnwP%&EV|AAS-Xz~FX^py@+Itug;`Nr`Pdnp-K|J#p%t z=7A1(h=-bLh!~x&>K1hfs&-p zA&K5b>vcc%sPKdZeD=!u__M*+hYPc)1JD2bxeGGgIO3s$_POEd9o?xFj{z=HmuH1@ z4$!WwyW#WxbpjYr3&`L~vo|{MjUaAuA>O+ky4lPrNRlbsQ|h3X!ly)xmzAuDVE3jM zFm-4ybEc`5o7+}2gN;>C#t@rjZEb%O+$pzTi=$p6n|_O2pJ}lrZhV%FeUufrz5jxb)e`~|M;)B z^Sz~TiSR{@Ju$F}2b>knGM+t%p|)n68=qF@iBH4lh}winJeV{g!^97 z&R`Vdt5pzSA)?(XgV^P7&HQ8T(?>hbxi}!~b{eJkEP92z(G7%?g&Wv7E=@;~%9G=~ zJ4fiX>H)X}xV(_)zW$3$9!?1`2S;A~D^orgAZA`VQQdhV7|mBcg8?kM>k=lwQy4aH z#PNjWO^o1ikLNDkcSkDReufU1$N#5L7U!4!K^qrjvO5WBf=F6d$cYvzri`y`BdgI1 zA+$&etra8+-B+YOuOzx31C!sEU43m`u%Gymq&cgwIlG(~cAGME`d4T=n^*Es_ViIV z@6gO#A;|Q)kn7S31akSCl4gtB#4h*iGLF{5J6B-y-ec9iUV*_poWG9xnz7*qHhr`D zIYnkeJLBo3iJ+K-u-X%+5-U7W7@?Da@h=cfiY;{JF@k7(7HKW7xuKi2l3e3MmS{u* zfIv2lo-U%U3e(JpCh1vXM+K2EKc__b2E6C1G`ds2`YPJPpZ4+|!N}j2{8-%jUnZ13 zyT*WIde>ic;+#APMZ8cp_ahR*@J^9o54@H45;}u@j0tjoKg>hbN%-z0H?rnyO3||H znqiVm0r~bfCQ)3A=f1J@Xa|nA@c7m8z z!;3nYwC$K47|B~vKQ^o0N#KL2Pf(A*U+NOp1$*ee!0*7Z=6`pfB{I-J&z24=y`2RB zN8I#SJi1c^**J%G+A~`IAp!rhKF$G&K1W zD5`(TJRTXh`H2PyFT=RnE6Kx2&)Z3~K>&$#N_r@zCc;zTe8|lMa-D*B0Cy@T?RDFB zKhyl_XLkzl7sVLESWbLg9T3pWx$rheYAqMR(^mOI$&{Sv{`U4aq0O3|Q7t7RYUc&L zl!6wAxY3Ugi!P9hP|&{8Xw-~Pw-~CI?9{jq4x;mEY1p5kcM{z~Rp$l^PJ?^W`u%C1 zKfGJY%_D2Kh(6_BKkT+DL^{1N04zFx2Z)p@vzF%K>iqt`QjWg4FTm4#J%8E$r-Za> z-OA>P7{2X2Ie17P z^jrn42a5<94T@E%O&5u#0OwIxH54~Bxvr>dyQ@q3iBwk|!^!Rk8nFIluR(qHv>i2UY@LYFDs3?qg zQunsqZgkEN3Ao?|)+8Q9o@Xe5rQ62N!dL&NDFLo=I(Qa_kBf#ugg_BKUB|PkW0w>v zs@1R*h0n8k_koVau+Fn5PL^TxepQ|N$W`~`J7=sqadhaD&a0u>YuSYw+6%B!cu**U zBVIysPeZ<|@?u<~&U?I`PLm6DVP8Uz5A58pUe$en^+P=SPJn)ZxVzXh_$EPPpcn(< zg6Yjrv+UU54z=)!uE}rc@$eg>Gu( z!6oSE>sJW5XaIauLCElw3NnDB5lER3X1`gydi8SUVjM1`qlP>4q;%tGY6Ys*RHBks>W@176tv)QEgQw%b6819=bVvMGpY$Z)UkaHcPj|E z@4uO*e={&uvx1bN(U!-36iRMy!h7~!&G1~}L&g=I;_cUokeIce8<_1a*g|G9!Im(O zV5bEv-sZ|n`s{uhEz>Oq0KBeFH=>5H-f(VxQ3nBU47R6VdhBT|ZcpJ0TEnlIC?$yrb`H53DdfOI4p*cP z@(xDV1YK_zdi04T%ie#pz_^@q>fU=)*c5)&m2wofhEg0u+ZjApGj`xzWGRI<18UCs&U@f&7wAOG~~vxgpE{C-`v_Cv@PzaLv%INZFThZM{Cv(^YizfStcH&t^4 zFi=4CY7b*U?Hgw~e%)yHv4*t4A{dC0XQ5@C3!5eATa-K$Dtq1ZjIVri(RLLjH12Q0 zR~yFussY`iJZ9_3+~FmNpWaZKa#q5A0(47%+E%S__5*t@779v+3m2­Wp3#2fF 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%0ApN5+#V@TYW8UaIHb{iv96f)bMqIW|SL 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 literal 0 HcmV?d00001 diff --git a/public/assets/apple-touch-icon.png b/public/assets/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..22b4989c4716c2ad397095f69c93a506ad71c902 GIT binary patch literal 13017 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 literal 0 HcmV?d00001 diff --git a/public/assets/intro.png b/public/assets/intro.png new file mode 100644 index 0000000000000000000000000000000000000000..001ec91dd7828eda40c7db88590cf1af5091e07a GIT binary patch literal 189330 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≶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­Wp3#2fF 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%0ApN5+#V@TYW8UaIHb{iv96f)bMqIW|SL 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 literal 0 HcmV?d00001 diff --git a/public/assets/manifest.json b/public/assets/manifest.json new file mode 100644 index 0000000..657587e --- /dev/null +++ b/public/assets/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "DashWind", + "name": "DashWind", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/assets/robots.txt b/public/assets/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/assets/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..5873f7f --- /dev/null +++ b/public/index.html @@ -0,0 +1,14 @@ + + + + + + + React Test + + + +

+ + + diff --git a/public/utils/dummyData.jsx b/public/utils/dummyData.jsx new file mode 100644 index 0000000..084bdb2 --- /dev/null +++ b/public/utils/dummyData.jsx @@ -0,0 +1,44 @@ +const moment = require("moment"); + +module.exports = Object.freeze({ + CALENDAR_INITIAL_EVENTS : [ + {title : "Product call", theme : "GREEN", startTime : moment().add(-12, 'd').startOf('day'), endTime : moment().add(-12, 'd').endOf('day')}, + {title : "Meeting with tech team", theme : "PINK", startTime : moment().add(-8, 'd').startOf('day'), endTime : moment().add(-8, 'd').endOf('day')}, + {title : "Meeting with Cristina", theme : "PURPLE", startTime : moment().add(-2, 'd').startOf('day'), endTime : moment().add(-2, 'd').endOf('day')}, + {title : "Meeting with Alex", theme : "BLUE", startTime : moment().startOf('day'), endTime : moment().endOf('day')}, + {title : "Product Call", theme : "GREEN", startTime : moment().startOf('day'), endTime : moment().endOf('day')}, + {title : "Client Meeting", theme : "PURPLE", startTime : moment().startOf('day'), endTime : moment().endOf('day')}, + {title : "Client Meeting", theme : "ORANGE", startTime : moment().add(3, 'd').startOf('day'), endTime : moment().add(3, 'd').endOf('day')}, + {title : "Product meeting", theme : "PINK", startTime : moment().add(5, 'd').startOf('day'), endTime : moment().add(5, 'd').endOf('day')}, + {title : "Sales Meeting", theme : "GREEN", startTime : moment().add(8, 'd').startOf('day'), endTime : moment().add(8, 'd').endOf('day')}, + {title : "Product Meeting", theme : "ORANGE", startTime : moment().add(8, 'd').startOf('day'), endTime : moment().add(8, 'd').endOf('day')}, + {title : "Marketing Meeting", theme : "PINK", startTime : moment().add(8, 'd').startOf('day'), endTime : moment().add(8, 'd').endOf('day')}, + {title : "Client Meeting", theme : "GREEN", startTime : moment().add(8, 'd').startOf('day'), endTime : moment().add(8, 'd').endOf('day')}, + {title : "Sales meeting", theme : "BLUE", startTime : moment().add(12, 'd').startOf('day'), endTime : moment().add(12, 'd').endOf('day')}, + {title : "Client meeting", theme : "PURPLE", startTime : moment().add(16, 'd').startOf('day'), endTime : moment().add(16, 'd').endOf('day')}, + ], + + RECENT_TRANSACTIONS : [ + {name : "Alex", avatar : "https://reqres.in/img/faces/1-image.jpg", email : "alex@dashwind.com", location : "Paris", amount : 100, date : moment().endOf('day')}, + {name : "Ereena", avatar : "https://reqres.in/img/faces/2-image.jpg", email : "ereena@dashwind.com", location : "London", amount : 190, date : moment().add(-1, 'd').endOf('day')}, + {name : "John", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "jhon@dashwind.com", location : "Canada", amount : 112, date : moment().add(-1, 'd').endOf('day')}, + {name : "Matrix", avatar : "https://reqres.in/img/faces/4-image.jpg", email : "matrix@dashwind.com", location : "Peru", amount : 111, date : moment().add(-1, 'd').endOf('day')}, + {name : "Virat", avatar : "https://reqres.in/img/faces/5-image.jpg", email : "virat@dashwind.com", location : "London", amount : 190, date : moment().add(-2, 'd').endOf('day')}, + {name : "Miya", avatar : "https://reqres.in/img/faces/6-image.jpg", email : "miya@dashwind.com", location : "Paris", amount : 230, date : moment().add(-2, 'd').endOf('day')}, + {name : "Virat", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "virat@dashwind.com", location : "Canada", amount : 331, date : moment().add(-2, 'd').endOf('day')}, + {name : "Matrix", avatar : "https://reqres.in/img/faces/1-image.jpg", email : "matrix@dashwind.com", location : "London", amount : 581, date : moment().add(-2, 'd').endOf('day')}, + {name : "Ereena", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "ereena@dashwind.com", location : "Tokyo", amount : 151, date : moment().add(-2, 'd').endOf('day')}, + {name : "John", avatar : "https://reqres.in/img/faces/2-image.jpg", email : "jhon@dashwind.com", location : "Paris", amount : 91, date : moment().add(-2, 'd').endOf('day')}, + {name : "Virat", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "virat@dashwind.com", location : "Canada", amount : 161, date : moment().add(-3, 'd').endOf('day')}, + {name : "Matrix", avatar : "https://reqres.in/img/faces/4-image.jpg", email : "matrix@dashwind.com", location : "US", amount : 121, date : moment().add(-3, 'd').endOf('day')}, + {name : "Ereena", avatar : "https://reqres.in/img/faces/6-image.jpg", email : "jhon@dashwind.com", location : "Tokyo", amount : 713, date : moment().add(-3, 'd').endOf('day')}, + {name : "John", avatar : "https://reqres.in/img/faces/2-image.jpg", email : "ereena@dashwind.com", location : "London", amount : 217, date : moment().add(-3, 'd').endOf('day')}, + {name : "Virat", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "virat@dashwind.com", location : "Paris", amount : 117, date : moment().add(-3, 'd').endOf('day')}, + {name : "Miya", avatar : "https://reqres.in/img/faces/7-image.jpg", email : "jhon@dashwind.com", location : "Canada", amount : 612, date : moment().add(-3, 'd').endOf('day')}, + {name : "Matrix", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "matrix@dashwind.com", location : "London", amount : 631, date : moment().add(-3, 'd').endOf('day')}, + {name : "Virat", avatar : "https://reqres.in/img/faces/2-image.jpg", email : "ereena@dashwind.com", location : "Tokyo", amount : 151, date : moment().add(-3, 'd').endOf('day')}, + {name : "Ereena", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "virat@dashwind.com", location : "Paris", amount : 617, date : moment().add(-3, 'd').endOf('day')}, + + + ] +}); diff --git a/public/utils/globalConstantUtil.jsx b/public/utils/globalConstantUtil.jsx new file mode 100644 index 0000000..fdab882 --- /dev/null +++ b/public/utils/globalConstantUtil.jsx @@ -0,0 +1,15 @@ +export const MODAL_BODY_TYPES = Object.freeze({ + USER_DETAIL: "USER_DETAIL", + LEAD_ADD_NEW: "LEAD_ADD_NEW", + CONFIRMATION: "CONFIRMATION", + DEFAULT: "", +}); + +export const RIGHT_DRAWER_TYPES = Object.freeze({ + NOTIFICATION: "NOTIFICATION", + CALENDAR_EVENTS: "CALENDAR_EVENTS", +}); + +export const CONFIRMATION_MODAL_CLOSE_TYPES = Object.freeze({ + LEAD_DELETE: "LEAD_DELETE", +}); diff --git a/resources/js/App.css b/resources/js/App.css new file mode 100644 index 0000000..74b5e05 --- /dev/null +++ b/resources/js/App.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/resources/js/Auth/auth.jsx b/resources/js/Auth/auth.jsx new file mode 100644 index 0000000..a85593b --- /dev/null +++ b/resources/js/Auth/auth.jsx @@ -0,0 +1,37 @@ +import axios from "axios" + +const checkAuth = () => { + /* Getting token value stored in localstorage, if token is not present we will open login page + for all internal dashboard routes */ + const TOKEN = localStorage.getItem("token") + const PUBLIC_ROUTES = ["login", "forgot-password", "register", "documentation"] + + const isPublicPage = PUBLIC_ROUTES.some(r => window.location.href.includes(r)) + + if (!TOKEN && !isPublicPage) { + window.location.href = '/login' + return; + } else { + axios.defaults.headers.common['Authorization'] = `Bearer ${TOKEN}` + + axios.interceptors.request.use(function (config) { + // UPDATE: Add this code to show global loading indicator + document.body.classList.add('loading-indicator'); + return config + }, function (error) { + return Promise.reject(error); + }); + + axios.interceptors.response.use(function (response) { + // UPDATE: Add this code to hide global loading indicator + document.body.classList.remove('loading-indicator'); + return response; + }, function (error) { + document.body.classList.remove('loading-indicator'); + return Promise.reject(error); + }); + return TOKEN + } +} + +export default checkAuth \ No newline at end of file diff --git a/resources/js/Auth/init.jsx b/resources/js/Auth/init.jsx new file mode 100644 index 0000000..4ea9b76 --- /dev/null +++ b/resources/js/Auth/init.jsx @@ -0,0 +1,27 @@ +import axios from "axios" + +const initializeApp = () => { + + // Setting base URL for all API request via axios + axios.defaults.baseURL = import.meta.env.VITE_API_BASE_URL; + + if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') { + // dev code + + + + } else { + // Prod build code + + + + // Removing console.log from prod + console.log = () => { }; + + + // init analytics here + } + +} + +export default initializeApp \ No newline at end of file diff --git a/resources/js/Auth/store.jsx b/resources/js/Auth/store.jsx new file mode 100644 index 0000000..c4c8642 --- /dev/null +++ b/resources/js/Auth/store.jsx @@ -0,0 +1,16 @@ +import { configureStore } from '@reduxjs/toolkit' +import headerSlice from '../Components/features/common/headerSlice' +import modalSlice from '../Components/features/common/modalSlice' +import rightDrawerSlice from '../Components/features/common/rightDrawerSlice' +import leadsSlice from '../Components/features/leads/leadSlice' + +const combinedReducer = { + header: headerSlice, + rightDrawer: rightDrawerSlice, + modal: modalSlice, + lead: leadsSlice +} + +export default configureStore({ + reducer: combinedReducer +}) \ No newline at end of file diff --git a/resources/js/Components/CalendarView/index.jsx b/resources/js/Components/CalendarView/index.jsx new file mode 100644 index 0000000..cd9b1cb --- /dev/null +++ b/resources/js/Components/CalendarView/index.jsx @@ -0,0 +1,146 @@ +import { useEffect, useState } from "react"; +import ChevronLeftIcon from "@heroicons/react/24/solid/ChevronLeftIcon"; +import ChevronRightIcon from "@heroicons/react/24/solid/ChevronRightIcon"; +import moment from "moment"; +import { CALENDAR_EVENT_STYLE } from "./util"; + +const THEME_BG = CALENDAR_EVENT_STYLE + +function CalendarView({calendarEvents, addNewEvent, openDayDetail}){ + + const today = moment().startOf('day') + const weekdays = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]; + const colStartClasses = [ + "", + "col-start-2", + "col-start-3", + "col-start-4", + "col-start-5", + "col-start-6", + "col-start-7", + ]; + + const [firstDayOfMonth, setFirstDayOfMonth] = useState(moment().startOf('month')) + const [events, setEvents] = useState([]) + const [currMonth, setCurrMonth] = useState(() => moment(today).format("MMM-yyyy")); + + useEffect(() => { + setEvents(calendarEvents) + }, [calendarEvents]) + + + const allDaysInMonth = ()=> { + let start = moment(firstDayOfMonth).startOf('week') + let end = moment(moment(firstDayOfMonth).endOf('month')).endOf('week') + var days = []; + var day = start; + while (day <= end) { + days.push(day.toDate()); + day = day.clone().add(1, 'd'); + } + return days + } + + const getEventsForCurrentDate = (date) => { + let filteredEvents = events.filter((e) => {return moment(date).isSame(moment(e.startTime), 'day') } ) + if(filteredEvents.length > 2){ + let originalLength = filteredEvents.length + filteredEvents = filteredEvents.slice(0, 2) + filteredEvents.push({title : `${originalLength - 2} more`, theme : "MORE"}) + } + return filteredEvents + } + + const openAllEventsDetail = (date, theme) => { + if(theme != "MORE")return 1 + let filteredEvents = events.filter((e) => {return moment(date).isSame(moment(e.startTime), 'day') } ).map((e) => {return {title : e.title, theme : e.theme}}) + openDayDetail({filteredEvents, title : moment(date).format("D MMM YYYY")}) + } + + const isToday = (date) => { + return moment(date).isSame(moment(), 'day'); + } + + const isDifferentMonth = (date) => { + return moment(date).month() != moment(firstDayOfMonth).month() + } + + const getPrevMonth = (event) => { + const firstDayOfPrevMonth = moment(firstDayOfMonth).add(-1, 'M').startOf('month'); + setFirstDayOfMonth(firstDayOfPrevMonth) + setCurrMonth(moment(firstDayOfPrevMonth).format("MMM-yyyy")); + }; + + const getCurrentMonth = (event) => { + const firstDayOfCurrMonth = moment().startOf('month'); + setFirstDayOfMonth(firstDayOfCurrMonth) + setCurrMonth(moment(firstDayOfCurrMonth).format("MMM-yyyy")); + }; + + const getNextMonth = (event) => { + const firstDayOfNextMonth = moment(firstDayOfMonth).add(1, 'M').startOf('month'); + setFirstDayOfMonth(firstDayOfNextMonth) + setCurrMonth(moment(firstDayOfNextMonth).format("MMM-yyyy")); + }; + + return( + <> +
+
+
+

+ {moment(firstDayOfMonth).format("MMMM yyyy").toString()}Beta +

+ + + + +
+
+ +
+ +
+
+
+ {weekdays.map((day, key) => { + return ( +
+ {day} +
+ ); + })} +
+ + +
+ {allDaysInMonth().map((day, idx) => { + return ( +
+

addNewEvent(day)}> { moment(day).format("D") }

+ { + getEventsForCurrentDate(day).map((e, k) => { + return

openAllEventsDetail(day, e.theme)} className={`text-xs px-2 mt-1 truncate ${THEME_BG[e.theme] || ""}`}>{e.title}

+ }) + } +
+ ); + })} +
+ + +
+ + ) +} + + +export default CalendarView \ No newline at end of file diff --git a/resources/js/Components/CalendarView/util.jsx b/resources/js/Components/CalendarView/util.jsx new file mode 100644 index 0000000..2421fa9 --- /dev/null +++ b/resources/js/Components/CalendarView/util.jsx @@ -0,0 +1,10 @@ +const CALENDAR_EVENT_STYLE = Object.freeze({ + BLUE: "bg-blue-200 dark:bg-blue-600 dark:text-blue-100", + GREEN: "bg-green-200 dark:bg-green-600 dark:text-green-100", + PURPLE: "bg-purple-200 dark:bg-purple-600 dark:text-purple-100", + ORANGE: "bg-orange-200 dark:bg-orange-600 dark:text-orange-100", + PINK: "bg-pink-200 dark:bg-pink-600 dark:text-pink-100", + MORE: "hover:underline cursor-pointer font-medium" +}); + +export { CALENDAR_EVENT_STYLE }; diff --git a/resources/js/Components/Cards/TitleCard.jsx b/resources/js/Components/Cards/TitleCard.jsx new file mode 100644 index 0000000..a613c05 --- /dev/null +++ b/resources/js/Components/Cards/TitleCard.jsx @@ -0,0 +1,30 @@ +import Subtitle from "../Typography/Subtitle" + + + function TitleCard({title, children, topMargin, TopSideButtons}){ + return( +
+ + {/* Title for Card */} + + {title} + + {/* Top side button, show only if present */} + { + TopSideButtons &&
{TopSideButtons}
+ } +
+ +
+ + {/** Card Body */} +
+ {children} +
+
+ + ) + } + + + export default TitleCard \ No newline at end of file diff --git a/resources/js/Components/Header.jsx b/resources/js/Components/Header.jsx new file mode 100644 index 0000000..560201b --- /dev/null +++ b/resources/js/Components/Header.jsx @@ -0,0 +1,83 @@ +import { themeChange } from 'theme-change' +import React, { useEffect, useState } from 'react' +import { useSelector, useDispatch } from 'react-redux' +import BellIcon from '@heroicons/react/24/outline/BellIcon' +import Bars3Icon from '@heroicons/react/24/outline/Bars3Icon' +import MoonIcon from '@heroicons/react/24/outline/MoonIcon' +import SunIcon from '@heroicons/react/24/outline/SunIcon' +import { openRightDrawer } from './features/common/rightDrawerSlice' +import { RIGHT_DRAWER_TYPES } from '../../../public/utils/globalConstantUtil' +import { Link } from 'react-router-dom' + +function Header() { + const dispatch = useDispatch() + const { noOfNotifications, pageTitle } = useSelector(state => state.header) + + // State untuk menyimpan tema saat ini + const [theme, setTheme] = useState(localStorage.getItem("theme") || + (window.matchMedia('(prefers-color-scheme: dark)').matches ? "dark" : "light") + ); + + useEffect(() => { + themeChange(false); + document.documentElement.setAttribute("data-theme", theme); + localStorage.setItem("theme", theme); + }, [theme]); // Setiap kali state theme berubah, update data-theme + + // Fungsi untuk mengganti tema + const toggleTheme = () => { + setTheme(prevTheme => prevTheme === "dark" ? "light" : "dark"); + } + + const openNotification = () => { + dispatch(openRightDrawer({ header: "Notifications", bodyType: RIGHT_DRAWER_TYPES.NOTIFICATION })) + } + + function logoutUser() { + localStorage.clear(); + window.location.href = '/' + } + + return ( +
+ ) +} + +export default Header; diff --git a/resources/js/Components/Input/InputText.jsx b/resources/js/Components/Input/InputText.jsx new file mode 100644 index 0000000..05cb1d0 --- /dev/null +++ b/resources/js/Components/Input/InputText.jsx @@ -0,0 +1,24 @@ +import { useState } from "react" + + +function InputText({labelTitle, labelStyle, type, containerStyle, defaultValue, placeholder, updateFormValue, updateType}){ + + const [value, setValue] = useState(defaultValue) + + const updateInputValue = (val) => { + setValue(val) + updateFormValue({updateType, value : val}) + } + + return( +
+ + updateInputValue(e.target.value)}className="input input-bordered w-full " /> +
+ ) +} + + +export default InputText \ No newline at end of file diff --git a/resources/js/Components/Input/SearchBar.jsx b/resources/js/Components/Input/SearchBar.jsx new file mode 100644 index 0000000..9ba2498 --- /dev/null +++ b/resources/js/Components/Input/SearchBar.jsx @@ -0,0 +1,22 @@ + + +import React, { useEffect } from 'react' + +function SearchBar({searchText, styleClass, placeholderText, setSearchText}) { + + + +const updateSearchInput = (value) => { + setSearchText(value) +} + + return ( +
+
+ updateSearchInput(e.target.value)} className="input input-sm input-bordered w-full max-w-xs" /> +
+
+ ) +} + +export default SearchBar diff --git a/resources/js/Components/Input/SelectBox.jsx b/resources/js/Components/Input/SelectBox.jsx new file mode 100644 index 0000000..fafc7f6 --- /dev/null +++ b/resources/js/Components/Input/SelectBox.jsx @@ -0,0 +1,41 @@ + +import axios from 'axios' +import capitalize from 'capitalize-the-first-letter' +import React, { useState, useEffect } from 'react' +import InformationCircleIcon from '@heroicons/react/24/outline/InformationCircleIcon' + + +function SelectBox(props){ + + const {labelTitle, labelDescription, defaultValue, containerStyle, placeholder, labelStyle, options, updateType, updateFormValue} = props + + const [value, setValue] = useState(defaultValue || "") + + + const updateValue = (newValue) =>{ + updateFormValue({updateType, value : newValue}) + setValue(newValue) + } + + + return ( +
+ + + +
+ ) +} + +export default SelectBox diff --git a/resources/js/Components/Input/TextAreaInput.jsx b/resources/js/Components/Input/TextAreaInput.jsx new file mode 100644 index 0000000..6ad4874 --- /dev/null +++ b/resources/js/Components/Input/TextAreaInput.jsx @@ -0,0 +1,24 @@ +import { useState } from "react" + + +function TextAreaInput({labelTitle, labelStyle, type, containerStyle, defaultValue, placeholder, updateFormValue, updateType}){ + + const [value, setValue] = useState(defaultValue) + + const updateInputValue = (val) => { + setValue(val) + updateFormValue({updateType, value : val}) + } + + return( +
+ + +
+ ) +} + + +export default TextAreaInput \ No newline at end of file diff --git a/resources/js/Components/Input/ToogleInput.jsx b/resources/js/Components/Input/ToogleInput.jsx new file mode 100644 index 0000000..8210845 --- /dev/null +++ b/resources/js/Components/Input/ToogleInput.jsx @@ -0,0 +1,24 @@ +import { useState } from "react" + + +function ToogleInput({labelTitle, labelStyle, type, containerStyle, defaultValue, placeholder, updateFormValue, updateType}){ + + const [value, setValue] = useState(defaultValue) + + const updateToogleValue = () => { + setValue(!value) + updateFormValue({updateType, value : !value}) + } + + return( +
+ +
+ ) +} + + +export default ToogleInput diff --git a/resources/js/Components/Layout.jsx b/resources/js/Components/Layout.jsx new file mode 100644 index 0000000..5bc4192 --- /dev/null +++ b/resources/js/Components/Layout.jsx @@ -0,0 +1,47 @@ +import PageContent from "./PageContent" +import LeftSidebar from "./LeftSidebar" +import { useSelector, useDispatch } from 'react-redux' +import RightSidebar from './RightSidebar' +import { useEffect } from "react" +import { removeNotificationMessage } from "@/Components/features/common/headerSlice" +// import { NotificationContainer, NotificationManager } from 'react-notifications'; +import 'react-notifications/lib/notifications.css'; +import ModalLayout from "./ModalLayout" + +function Layout() { + const dispatch = useDispatch() + const { newNotificationMessage, newNotificationStatus } = useSelector(state => state.header) + + + useEffect(() => { + if (newNotificationMessage !== "") { + if (newNotificationStatus === 1) NotificationManager.success(newNotificationMessage, 'Success') + if (newNotificationStatus === 0) NotificationManager.error(newNotificationMessage, 'Error') + dispatch(removeNotificationMessage()) + } + }, [newNotificationMessage]) + + return ( + <> + { /* Left drawer - containing page content and side bar (always open) */} +
+ + + +
+ + { /* Right drawer - containing secondary content like notifications list etc.. */} + + + + {/** Notification layout container */} + {/* */} + + {/* Modal layout container */} + + + + ) +} + +export default Layout \ No newline at end of file diff --git a/resources/js/Components/LeftSidebar.jsx b/resources/js/Components/LeftSidebar.jsx new file mode 100644 index 0000000..f49ef41 --- /dev/null +++ b/resources/js/Components/LeftSidebar.jsx @@ -0,0 +1,58 @@ +import routes from '../Routes/sidebar' +import { NavLink, Routes, Link, useLocation } from 'react-router-dom' +import SidebarSubmenu from './SidebarSubmenu'; +import XMarkIcon from '@heroicons/react/24/outline/XMarkIcon' +import { useDispatch } from 'react-redux'; + +function LeftSidebar() { + const location = useLocation(); + + const dispatch = useDispatch() + console.log('anu') + + + const close = (e) => { + document.getElementById('left-sidebar-drawer').click() + } + + return ( +
+ +
    + + +
  • + + DashWind LogoDashWind
  • + { + routes.map((route, k) => { + return ( +
  • + { + route.submenu ? + : + ( `${isActive ? 'font-semibold bg-base-200 ' : 'font-normal'}`} > + {route.icon} {route.name} + { + location.pathname === route.path ? () : null + } + ) + } + +
  • + ) + }) + } + +
+
+ ) +} + +export default LeftSidebar \ No newline at end of file diff --git a/resources/js/Components/ModalInput.jsx b/resources/js/Components/ModalInput.jsx index 8c7b678..08dfcb4 100644 --- a/resources/js/Components/ModalInput.jsx +++ b/resources/js/Components/ModalInput.jsx @@ -8,6 +8,7 @@ const ModalInput = ({ fields, tableName, options, initialData, onClose, showPaym const [paymentDetails, setPaymentDetails] = useState({}); useEffect(() => { + // console.log(initialData) setFormData(initialData || {}); setSelectedPayments([]); setPaymentDetails({}); @@ -59,7 +60,6 @@ const ModalInput = ({ fields, tableName, options, initialData, onClose, showPaym }); }; - const handleRemovePayment = (paymentType) => { setSelectedPayments(selectedPayments.filter((p) => p !== paymentType)); const newDetails = { ...paymentDetails }; @@ -79,6 +79,14 @@ const ModalInput = ({ fields, tableName, options, initialData, onClose, showPaym formDataObj.append("payments", JSON.stringify(paymentDetails)); const url = initialData ? `/update${tableName}/${initialData.id}` : `/add${tableName}`; + if (!initialData?.id) { + // console.error("Error: initialData.id tidak ditemukan"); + return; + } + + // console.log("URL yang dikirim:", url); + // console.log("Data yang dikirim:", formDataObj); + Inertia.post(url, formDataObj, { forceFormData: true, onError: (errors) => setErrors(errors), @@ -173,7 +181,7 @@ const ModalInput = ({ fields, tableName, options, initialData, onClose, showPaym min="1" value={paymentDetails[paymentType].range} onChange={(e) => handleRangeChange(paymentType, parseInt(e.target.value))} - className="grow border-none focus:ring-0" + className="grow border-none focus:ring-0" name="range" />
@@ -221,6 +229,6 @@ const ModalInput = ({ fields, tableName, options, initialData, onClose, showPaym ); }; -export default ModalInput; +export default ModalInput diff --git a/resources/js/Components/ModalLayout.jsx b/resources/js/Components/ModalLayout.jsx new file mode 100644 index 0000000..657e916 --- /dev/null +++ b/resources/js/Components/ModalLayout.jsx @@ -0,0 +1,46 @@ +import { useEffect } from 'react' +import { MODAL_BODY_TYPES } from '../../../public/utils/globalConstantUtil' +import { useSelector, useDispatch } from 'react-redux' +import { closeModal } from '@/Components/features/common/modalSlice' +import AddLeadModalBody from '@/Components/features/leads/components/AddLeadModalBody' +import ConfirmationModalBody from '@/Components/features/common/components/ConfirmationModalBody' + + +function ModalLayout() { + + + const { isOpen, bodyType, size, extraObject, title } = useSelector(state => state.modal) + const dispatch = useDispatch() + + const close = (e) => { + dispatch(closeModal(e)) + } + + + + return ( + <> + {/* The button to open modal */} + + {/* Put this part before tag */} +
+
+ +

{title}

+ + + {/* Loading modal body according to different modal type */} + { + { + [MODAL_BODY_TYPES.LEAD_ADD_NEW]: , + [MODAL_BODY_TYPES.CONFIRMATION]: , + [MODAL_BODY_TYPES.DEFAULT]:
+ }[bodyType] + } +
+
+ + ) +} + +export default ModalLayout \ No newline at end of file diff --git a/resources/js/Components/PageContent.jsx b/resources/js/Components/PageContent.jsx new file mode 100644 index 0000000..89a2c17 --- /dev/null +++ b/resources/js/Components/PageContent.jsx @@ -0,0 +1,55 @@ +import Header from "./Header" +import { BrowserRouter as Router, Route, Routes } from 'react-router-dom' +import routes from '@/Routes' +import { Suspense, lazy } from 'react' +import SuspenseContent from "./SuspenseContent" +import { useSelector } from 'react-redux' +import { useEffect, useRef } from "react" + +// const Page404 = lazy(() => import('@/Pages/protected/404')) + + +function PageContent() { + const mainContentRef = useRef(null); + const { pageTitle } = useSelector(state => state.header) + + + // Scroll back to top on new page load + useEffect(() => { + mainContentRef.current.scroll({ + top: 0, + behavior: "smooth" + }); + }, [pageTitle]) + + return ( +
+
+
+ }> + + { + routes.map((route, key) => { + return ( + } + /> + ) + }) + } + + {/* Redirecting unknown url to 404 page */} + {/* } /> */} + + +
+
+
+ ) +} + + +export default PageContent diff --git a/resources/js/Components/RightSidebar.jsx b/resources/js/Components/RightSidebar.jsx new file mode 100644 index 0000000..07763f9 --- /dev/null +++ b/resources/js/Components/RightSidebar.jsx @@ -0,0 +1,60 @@ +import XMarkIcon from '@heroicons/react/24/solid/XMarkIcon' +import { useDispatch, useSelector } from 'react-redux' +import NotificationBodyRightDrawer from '@/Components/features/common/components/NotificationBodyRightDrawer' +import { closeRightDrawer } from '@/Components/features/common/rightDrawerSlice' +import { RIGHT_DRAWER_TYPES } from '../.../../../../public/utils/globalConstantUtil' +import CalendarEventsBodyRightDrawer from '@/Components/features/calendar/CalendarEventsBodyRightDrawer' + + +function RightSidebar() { + + const { isOpen, bodyType, extraObject, header } = useSelector(state => state.rightDrawer) + const dispatch = useDispatch() + + const close = (e) => { + dispatch(closeRightDrawer(e)) + } + + + + return ( +
+ +
+ +
+ + {/* Header */} +
+ + {header} +
+ + + {/* ------------------ Content Start ------------------ */} +
+
+ {/* Loading drawer body according to different drawer type */} + { + { + [RIGHT_DRAWER_TYPES.NOTIFICATION]: , + [RIGHT_DRAWER_TYPES.CALENDAR_EVENTS]: , + [RIGHT_DRAWER_TYPES.DEFAULT]:
+ }[bodyType] + } + +
+
+ {/* ------------------ Content End ------------------ */} +
+ +
+ +
close()} >
+
+ ) +} + +export default RightSidebar \ No newline at end of file diff --git a/resources/js/Components/SidebarSubmenu.jsx b/resources/js/Components/SidebarSubmenu.jsx new file mode 100644 index 0000000..f7642c5 --- /dev/null +++ b/resources/js/Components/SidebarSubmenu.jsx @@ -0,0 +1,49 @@ +import ChevronDownIcon from '@heroicons/react/24/outline/ChevronDownIcon' +import {useEffect, useState} from 'react' +import { Link, useLocation } from 'react-router-dom' + + +function SidebarSubmenu({submenu, name, icon}){ + const location = useLocation() + const [isExpanded, setIsExpanded] = useState(false) + + + /** Open Submenu list if path found in routes, this is for directly loading submenu routes first time */ + useEffect(() => { + if(submenu.filter(m => {return m.path === location.pathname})[0])setIsExpanded(true) + }, []) + + return ( +
+ + {/** Route header */} +
setIsExpanded(!isExpanded)}> + {icon} {name} + +
+ + {/** Submenu list */} +
+
    + { + submenu.map((m, k) => { + return( +
  • + + {m.icon} {m.name} + { + location.pathname == m.path ? () : null + } + +
  • + ) + }) + } +
+
+
+ ) +} + +export default SidebarSubmenu \ No newline at end of file diff --git a/resources/js/Components/SuspenseContent.jsx b/resources/js/Components/SuspenseContent.jsx new file mode 100644 index 0000000..03f0add --- /dev/null +++ b/resources/js/Components/SuspenseContent.jsx @@ -0,0 +1,9 @@ +function SuspenseContent(){ + return( +
+ Loading... +
+ ) +} + +export default SuspenseContent \ No newline at end of file diff --git a/resources/js/Components/Typography/ErrorText.jsx b/resources/js/Components/Typography/ErrorText.jsx new file mode 100644 index 0000000..fc28674 --- /dev/null +++ b/resources/js/Components/Typography/ErrorText.jsx @@ -0,0 +1,7 @@ +function ErrorText({styleClass, children}){ + return( +

{children}

+ ) +} + +export default ErrorText \ No newline at end of file diff --git a/resources/js/Components/Typography/HelperText.jsx b/resources/js/Components/Typography/HelperText.jsx new file mode 100644 index 0000000..1519fb4 --- /dev/null +++ b/resources/js/Components/Typography/HelperText.jsx @@ -0,0 +1,7 @@ +function HelperText({className, children}){ + return( +
{children}
+ ) +} + +export default HelperText \ No newline at end of file diff --git a/resources/js/Components/Typography/Subtitle.jsx b/resources/js/Components/Typography/Subtitle.jsx new file mode 100644 index 0000000..40a6ebd --- /dev/null +++ b/resources/js/Components/Typography/Subtitle.jsx @@ -0,0 +1,7 @@ + function Subtitle({styleClass, children}){ + return( +
{children}
+ ) +} + +export default Subtitle \ No newline at end of file diff --git a/resources/js/Components/Typography/Title.jsx b/resources/js/Components/Typography/Title.jsx new file mode 100644 index 0000000..ff277df --- /dev/null +++ b/resources/js/Components/Typography/Title.jsx @@ -0,0 +1,7 @@ +function Title({className, children}){ + return( +

{children}

+ ) +} + +export default Title \ No newline at end of file diff --git a/resources/js/Components/features/calendar/CalendarEventsBodyRightDrawer.jsx b/resources/js/Components/features/calendar/CalendarEventsBodyRightDrawer.jsx new file mode 100644 index 0000000..6c8db92 --- /dev/null +++ b/resources/js/Components/features/calendar/CalendarEventsBodyRightDrawer.jsx @@ -0,0 +1,19 @@ +import { CALENDAR_EVENT_STYLE } from "@/Components/CalendarView/util" + +const THEME_BG = CALENDAR_EVENT_STYLE + +function CalendarEventsBodyRightDrawer({ filteredEvents }) { + return ( + <> + { + filteredEvents.map((e, k) => { + return
+ {e.title} +
+ }) + } + + ) +} + +export default CalendarEventsBodyRightDrawer \ No newline at end of file diff --git a/resources/js/Components/features/calendar/index.jsx b/resources/js/Components/features/calendar/index.jsx new file mode 100644 index 0000000..4ef7a2e --- /dev/null +++ b/resources/js/Components/features/calendar/index.jsx @@ -0,0 +1,45 @@ +import { useState } from 'react' +import CalendarView from '../../components/CalendarView' +import moment from 'moment' +import { CALENDAR_INITIAL_EVENTS } from '../../utils/dummyData' +import { useDispatch } from 'react-redux' +import { openRightDrawer } from '../common/rightDrawerSlice' +import { RIGHT_DRAWER_TYPES } from '../../utils/globalConstantUtil' +import { showNotification } from '../common/headerSlice' + + + +const INITIAL_EVENTS = CALENDAR_INITIAL_EVENTS + +function Calendar(){ + + const dispatch = useDispatch() + + const [events, setEvents] = useState(INITIAL_EVENTS) + + // Add your own Add Event handler, like opening modal or random event addition + // Format - {title :"", theme: "", startTime : "", endTime : ""}, typescript version comming soon :) + const addNewEvent = (date) => { + let randomEvent = INITIAL_EVENTS[Math.floor(Math.random() * 10)] + let newEventObj = {title : randomEvent.title, theme : randomEvent.theme, startTime : moment(date).startOf('day'), endTime : moment(date).endOf('day')} + setEvents([...events, newEventObj]) + dispatch(showNotification({message : "New Event Added!", status : 1})) + } + + // Open all events of current day in sidebar + const openDayDetail = ({filteredEvents, title}) => { + dispatch(openRightDrawer({header : title, bodyType : RIGHT_DRAWER_TYPES.CALENDAR_EVENTS, extraObject : {filteredEvents}})) + } + + return( + <> + + + ) +} + +export default Calendar \ No newline at end of file diff --git a/resources/js/Components/features/charts/components/BarChart.jsx b/resources/js/Components/features/charts/components/BarChart.jsx new file mode 100644 index 0000000..cfb605d --- /dev/null +++ b/resources/js/Components/features/charts/components/BarChart.jsx @@ -0,0 +1,53 @@ +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +} from 'chart.js'; +import { Bar } from 'react-chartjs-2'; +import TitleCard from '../../../components/Cards/TitleCard'; + +ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend); + +function BarChart(){ + + const options = { + responsive: true, + plugins: { + legend: { + position: 'top', + } + }, + }; + + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + + const data = { + labels, + datasets: [ + { + label: 'Store 1', + data: labels.map(() => { return Math.random() * 1000 + 500 }), + backgroundColor: 'rgba(255, 99, 132, 1)', + }, + { + label: 'Store 2', + data: labels.map(() => { return Math.random() * 1000 + 500 }), + backgroundColor: 'rgba(53, 162, 235, 1)', + }, + ], + }; + + return( + + + + + ) +} + + +export default BarChart \ No newline at end of file diff --git a/resources/js/Components/features/charts/components/DoughnutChart.jsx b/resources/js/Components/features/charts/components/DoughnutChart.jsx new file mode 100644 index 0000000..f0050aa --- /dev/null +++ b/resources/js/Components/features/charts/components/DoughnutChart.jsx @@ -0,0 +1,66 @@ +import { + Chart as ChartJS, + Filler, + ArcElement, + Title, + Tooltip, + Legend, +} from 'chart.js'; +import { Doughnut } from 'react-chartjs-2'; +import TitleCard from '../../../components/Cards/TitleCard'; +import Subtitle from '../../../components/Typography/Subtitle'; + +ChartJS.register(ArcElement, Tooltip, Legend, + Tooltip, + Filler, + Legend); + +function DoughnutChart(){ + + const options = { + responsive: true, + plugins: { + legend: { + position: 'top', + }, + }, + }; + + const labels = ['Electronics', 'Home Applicances', 'Beauty', 'Furniture', 'Watches', 'Apparel']; + + const data = { + labels, + datasets: [ + { + label: '# of Orders', + data: [122, 219, 30, 51, 82, 13], + backgroundColor: [ + 'rgba(255, 99, 132, 0.8)', + 'rgba(54, 162, 235, 0.8)', + 'rgba(255, 206, 86, 0.8)', + 'rgba(75, 192, 192, 0.8)', + 'rgba(153, 102, 255, 0.8)', + 'rgba(255, 159, 64, 0.8)', + ], + borderColor: [ + 'rgba(255, 99, 132, 1)', + 'rgba(54, 162, 235, 1)', + 'rgba(255, 206, 86, 1)', + 'rgba(75, 192, 192, 1)', + 'rgba(153, 102, 255, 1)', + 'rgba(255, 159, 64, 1)', + ], + borderWidth: 1, + } + ], + }; + + return( + + + + ) +} + + +export default DoughnutChart \ No newline at end of file diff --git a/resources/js/Components/features/charts/components/LineChart.jsx b/resources/js/Components/features/charts/components/LineChart.jsx new file mode 100644 index 0000000..e82ad6b --- /dev/null +++ b/resources/js/Components/features/charts/components/LineChart.jsx @@ -0,0 +1,62 @@ +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Filler, + Legend, +} from 'chart.js'; +import { Line } from 'react-chartjs-2'; +import TitleCard from '../../../components/Cards/TitleCard'; + +ChartJS.register( + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Filler, + Legend +); + +function LineChart(){ + + const options = { + responsive: true, + plugins: { + legend: { + position: 'top', + }, + }, + }; + + + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + + const data = { + labels, + datasets: [ + { + fill: true, + label: 'MAU', + data: labels.map(() => { return Math.random() * 100 + 500 }), + borderColor: 'rgb(53, 162, 235)', + backgroundColor: 'rgba(53, 162, 235, 0.5)', + }, + ], +}; + + + return( + + + + ) +} + + +export default LineChart \ No newline at end of file diff --git a/resources/js/Components/features/charts/components/PieChart.jsx b/resources/js/Components/features/charts/components/PieChart.jsx new file mode 100644 index 0000000..bbe5f96 --- /dev/null +++ b/resources/js/Components/features/charts/components/PieChart.jsx @@ -0,0 +1,66 @@ +import { + Chart as ChartJS, + Filler, + ArcElement, + Title, + Tooltip, + Legend, + } from 'chart.js'; + import { Pie } from 'react-chartjs-2'; + import TitleCard from '../../../components/Cards/TitleCard'; + import Subtitle from '../../../components/Typography/Subtitle'; + + ChartJS.register(ArcElement, Tooltip, Legend, + Tooltip, + Filler, + Legend); + + function PieChart(){ + + const options = { + responsive: true, + plugins: { + legend: { + position: 'top', + }, + }, + }; + + const labels = ['India', 'Middle East', 'Europe', 'US', 'Latin America', 'Asia(non-india)']; + + const data = { + labels, + datasets: [ + { + label: '# of Orders', + data: [122, 219, 30, 51, 82, 13], + backgroundColor: [ + 'rgba(255, 99, 255, 0.8)', + 'rgba(54, 162, 235, 0.8)', + 'rgba(255, 206, 255, 0.8)', + 'rgba(75, 192, 255, 0.8)', + 'rgba(153, 102, 255, 0.8)', + 'rgba(255, 159, 255, 0.8)', + ], + borderColor: [ + 'rgba(255, 99, 255, 1)', + 'rgba(54, 162, 235, 1)', + 'rgba(255, 206, 255, 1)', + 'rgba(75, 192, 255, 1)', + 'rgba(153, 102, 255, 1)', + 'rgba(255, 159, 255, 1)', + ], + borderWidth: 1, + } + ], + }; + + return( + + + + ) + } + + + export default PieChart \ No newline at end of file diff --git a/resources/js/Components/features/charts/components/ScatterChart.jsx b/resources/js/Components/features/charts/components/ScatterChart.jsx new file mode 100644 index 0000000..bb90074 --- /dev/null +++ b/resources/js/Components/features/charts/components/ScatterChart.jsx @@ -0,0 +1,55 @@ +import { + Chart as ChartJS, + Filler, + ArcElement, + Tooltip, + Legend, + } from 'chart.js'; + import { Scatter } from 'react-chartjs-2'; + import TitleCard from '../../../components/Cards/TitleCard'; + + ChartJS.register(ArcElement, Tooltip, Legend, + Tooltip, + Filler, + Legend); + + function ScatterChart(){ + + const options = { + scales: { + y: { + beginAtZero: true, + }, + }, + }; + + const data = { + datasets: [ + { + label: 'Orders > 1k', + data: Array.from({ length: 100 }, () => ({ + x: Math.random() * 11, + y: Math.random() * 31, + })), + backgroundColor: 'rgba(255, 99, 132, 1)', + }, + { + label: 'Orders > 2K', + data: Array.from({ length: 100 }, () => ({ + x: Math.random() * 12, + y: Math.random() * 12, + })), + backgroundColor: 'rgba(0, 0, 255, 1)', + }, + ], + }; + + return( + + + + ) + } + + + export default ScatterChart \ No newline at end of file diff --git a/resources/js/Components/features/charts/components/StackBarChart.jsx b/resources/js/Components/features/charts/components/StackBarChart.jsx new file mode 100644 index 0000000..7fce2a7 --- /dev/null +++ b/resources/js/Components/features/charts/components/StackBarChart.jsx @@ -0,0 +1,61 @@ +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, + } from 'chart.js'; + import { Bar } from 'react-chartjs-2'; + import TitleCard from '../../../components/Cards/TitleCard'; + + ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend); + + function StackBarChart(){ + + const options = { + responsive: true, + scales: { + x: { + stacked: true, + }, + y: { + stacked: true, + }, + }, + }; + + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + + const data = { + labels, + datasets: [ + { + label: 'Store 1', + data: labels.map(() => { return Math.random() * 1000 + 500 }), + backgroundColor: 'rgba(255, 99, 132, 1)', + }, + { + label: 'Store 2', + data: labels.map(() => { return Math.random() * 1000 + 500 }), + backgroundColor: 'rgba(53, 162, 235, 1)', + }, + { + label: 'Store 3', + data: labels.map(() => { return Math.random() * 1000 + 500 }), + backgroundColor: 'rgba(235, 162, 235, 1)', + }, + ], + }; + + return( + + + + + ) + } + + + export default StackBarChart \ No newline at end of file diff --git a/resources/js/Components/features/charts/index.jsx b/resources/js/Components/features/charts/index.jsx new file mode 100644 index 0000000..338e956 --- /dev/null +++ b/resources/js/Components/features/charts/index.jsx @@ -0,0 +1,58 @@ +import LineChart from './components/LineChart' +import BarChart from './components/BarChart' +import DoughnutChart from './components/DoughnutChart' +import PieChart from './components/PieChart' +import ScatterChart from './components/ScatterChart' +import StackBarChart from './components/StackBarChart' +import Datepicker from "react-tailwindcss-datepicker"; +import { useState } from 'react' + + + + +function Charts(){ + + const [dateValue, setDateValue] = useState({ + startDate: new Date(), + endDate: new Date() + }); + + const handleDatePickerValueChange = (newValue) => { + console.log("newValue:", newValue); + setDateValue(newValue); + } + + return( + <> + + {/** ---------------------- Different charts ------------------------- */} +
+ + +
+ + +
+ + +
+ +
+ + +
+ + ) +} + +export default Charts \ No newline at end of file diff --git a/resources/js/Components/features/common/components/ConfirmationModalBody.jsx b/resources/js/Components/features/common/components/ConfirmationModalBody.jsx new file mode 100644 index 0000000..8ac935f --- /dev/null +++ b/resources/js/Components/features/common/components/ConfirmationModalBody.jsx @@ -0,0 +1,40 @@ +import { useDispatch, useSelector } from 'react-redux' +import axios from 'axios' +import { CONFIRMATION_MODAL_CLOSE_TYPES } from '../../../../../../public/utils/globalConstantUtil' +import { deleteLead } from '../../leads/leadSlice' +import { showNotification } from '../headerSlice' + +function ConfirmationModalBody({ extraObject, closeModal }) { + + const dispatch = useDispatch() + + const { message, type, _id, index } = extraObject + + + const proceedWithYes = async () => { + if (type === CONFIRMATION_MODAL_CLOSE_TYPES.LEAD_DELETE) { + // positive response, call api or dispatch redux function + dispatch(deleteLead({ index })) + dispatch(showNotification({ message: "Lead Deleted!", status: 1 })) + } + closeModal() + } + + return ( + <> +

+ {message} +

+ +
+ + + + + +
+ + ) +} + +export default ConfirmationModalBody \ No newline at end of file diff --git a/resources/js/Components/features/common/components/NotificationBodyRightDrawer.jsx b/resources/js/Components/features/common/components/NotificationBodyRightDrawer.jsx new file mode 100644 index 0000000..792c859 --- /dev/null +++ b/resources/js/Components/features/common/components/NotificationBodyRightDrawer.jsx @@ -0,0 +1,15 @@ +function NotificationBodyRightDrawer(){ + return( + <> + { + [...Array(15)].map((_, i) => { + return
+ {i % 2 === 0 ? `Your sales has increased by 30% yesterday` : `Total likes for instagram post - New launch this week, has crossed 100k `} +
+ }) + } + + ) +} + +export default NotificationBodyRightDrawer \ No newline at end of file diff --git a/resources/js/Components/features/common/headerSlice.jsx b/resources/js/Components/features/common/headerSlice.jsx new file mode 100644 index 0000000..d91e198 --- /dev/null +++ b/resources/js/Components/features/common/headerSlice.jsx @@ -0,0 +1,30 @@ +import { createSlice } from '@reduxjs/toolkit' + +export const headerSlice = createSlice({ + name: 'header', + initialState: { + pageTitle: "Home", // current page title state management + noOfNotifications : 15, // no of unread notifications + newNotificationMessage : "", // message of notification to be shown + newNotificationStatus : 1, // to check the notification type - success/ error/ info + }, + reducers: { + setPageTitle: (state, action) => { + state.pageTitle = action.payload.title + }, + + + removeNotificationMessage: (state, action) => { + state.newNotificationMessage = "" + }, + + showNotification: (state, action) => { + state.newNotificationMessage = action.payload.message + state.newNotificationStatus = action.payload.status + }, + } +}) + +export const { setPageTitle, removeNotificationMessage, showNotification } = headerSlice.actions + +export default headerSlice.reducer \ No newline at end of file diff --git a/resources/js/Components/features/common/modalSlice.jsx b/resources/js/Components/features/common/modalSlice.jsx new file mode 100644 index 0000000..874a5d0 --- /dev/null +++ b/resources/js/Components/features/common/modalSlice.jsx @@ -0,0 +1,35 @@ +import { createSlice } from '@reduxjs/toolkit' + +export const modalSlice = createSlice({ + name: 'modal', + initialState: { + title: "", // current title state management + isOpen : false, // modal state management for opening closing + bodyType : "", // modal content management + size : "", // modal content management + extraObject : {}, + }, + reducers: { + + openModal: (state, action) => { + const {title, bodyType, extraObject, size} = action.payload + state.isOpen = true + state.bodyType = bodyType + state.title = title + state.size = size || 'md' + state.extraObject = extraObject + }, + + closeModal: (state, action) => { + state.isOpen = false + state.bodyType = "" + state.title = "" + state.extraObject = {} + }, + + } +}) + +export const { openModal, closeModal } = modalSlice.actions + +export default modalSlice.reducer \ No newline at end of file diff --git a/resources/js/Components/features/common/rightDrawerSlice.jsx b/resources/js/Components/features/common/rightDrawerSlice.jsx new file mode 100644 index 0000000..e47acbe --- /dev/null +++ b/resources/js/Components/features/common/rightDrawerSlice.jsx @@ -0,0 +1,33 @@ +import { createSlice } from '@reduxjs/toolkit' + +export const rightDrawerSlice = createSlice({ + name: 'rightDrawer', + initialState: { + header: "", // current title state management + isOpen : false, // right drawer state management for opening closing + bodyType : "", // right drawer content management + extraObject : {}, + }, + reducers: { + + openRightDrawer: (state, action) => { + const {header, bodyType, extraObject} = action.payload + state.isOpen = true + state.bodyType = bodyType + state.header = header + state.extraObject = extraObject + }, + + closeRightDrawer: (state, action) => { + state.isOpen = false + state.bodyType = "" + state.header = "" + state.extraObject = {} + }, + + } +}) + +export const { openRightDrawer, closeRightDrawer } = rightDrawerSlice.actions + +export default rightDrawerSlice.reducer \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/AmountStats.js b/resources/js/Components/features/dashboard/components/AmountStats.js new file mode 100644 index 0000000..d1e0414 --- /dev/null +++ b/resources/js/Components/features/dashboard/components/AmountStats.js @@ -0,0 +1,25 @@ + + +function AmountStats({}){ + return( +
+
+
Amount to be Collected
+
$25,600
+
+ +
+
+ +
+
Cash in hand
+
$5,600
+
+ +
+
+
+ ) +} + +export default AmountStats \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/BarChart.js b/resources/js/Components/features/dashboard/components/BarChart.js new file mode 100644 index 0000000..d243364 --- /dev/null +++ b/resources/js/Components/features/dashboard/components/BarChart.js @@ -0,0 +1,53 @@ +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +} from 'chart.js'; +import { Bar } from 'react-chartjs-2'; +import TitleCard from '../../../components/Cards/TitleCard'; + +ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend); + +function BarChart(){ + + const options = { + responsive: true, + plugins: { + legend: { + position: 'top', + } + }, + }; + + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + + const data = { + labels, + datasets: [ + { + label: 'Store 1', + data: labels.map(() => { return Math.random() * 1000 + 500 }), + backgroundColor: 'rgba(255, 99, 132, 1)', + }, + { + label: 'Store 2', + data: labels.map(() => { return Math.random() * 1000 + 500 }), + backgroundColor: 'rgba(53, 162, 235, 1)', + }, + ], + }; + + return( + + + + + ) +} + + +export default BarChart \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/DashboardStats.js b/resources/js/Components/features/dashboard/components/DashboardStats.js new file mode 100644 index 0000000..ebac523 --- /dev/null +++ b/resources/js/Components/features/dashboard/components/DashboardStats.js @@ -0,0 +1,23 @@ +function DashboardStats({title, icon, value, description, colorIndex}){ + + const COLORS = ["primary", "primary"] + + const getDescStyle = () => { + if(description.includes("↗︎"))return "font-bold text-green-700 dark:text-green-300" + else if(description.includes("↙"))return "font-bold text-rose-500 dark:text-red-400" + else return "" + } + + return( +
+
+
{icon}
+
{title}
+
{value}
+
{description}
+
+
+ ) +} + +export default DashboardStats \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/DashboardTopBar.js b/resources/js/Components/features/dashboard/components/DashboardTopBar.js new file mode 100644 index 0000000..8f3183d --- /dev/null +++ b/resources/js/Components/features/dashboard/components/DashboardTopBar.js @@ -0,0 +1,75 @@ +import SelectBox from "../../../components/Input/SelectBox" +import ArrowDownTrayIcon from '@heroicons/react/24/outline/ArrowDownTrayIcon' +import ShareIcon from '@heroicons/react/24/outline/ShareIcon' +import EnvelopeIcon from '@heroicons/react/24/outline/EnvelopeIcon' +import EllipsisVerticalIcon from '@heroicons/react/24/outline/EllipsisVerticalIcon' +import ArrowPathIcon from '@heroicons/react/24/outline/ArrowPathIcon' +import { useState } from "react" +import Datepicker from "react-tailwindcss-datepicker"; + + + +const periodOptions = [ + {name : "Today", value : "TODAY"}, + {name : "Yesterday", value : "YESTERDAY"}, + {name : "This Week", value : "THIS_WEEK"}, + {name : "Last Week", value : "LAST_WEEK"}, + {name : "This Month", value : "THIS_MONTH"}, + {name : "Last Month", value : "LAST_MONTH"}, +] + +function DashboardTopBar({updateDashboardPeriod}){ + + const [dateValue, setDateValue] = useState({ + startDate: new Date(), + endDate: new Date() + }); + + const handleDatePickerValueChange = (newValue) => { + console.log("newValue:", newValue); + setDateValue(newValue); + updateDashboardPeriod(newValue) + } + + + return( +
+
+ + {/* */} +
+
+ + + +
+ + +
+
+
+ ) +} + +export default DashboardTopBar \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/DoughnutChart.js b/resources/js/Components/features/dashboard/components/DoughnutChart.js new file mode 100644 index 0000000..f0050aa --- /dev/null +++ b/resources/js/Components/features/dashboard/components/DoughnutChart.js @@ -0,0 +1,66 @@ +import { + Chart as ChartJS, + Filler, + ArcElement, + Title, + Tooltip, + Legend, +} from 'chart.js'; +import { Doughnut } from 'react-chartjs-2'; +import TitleCard from '../../../components/Cards/TitleCard'; +import Subtitle from '../../../components/Typography/Subtitle'; + +ChartJS.register(ArcElement, Tooltip, Legend, + Tooltip, + Filler, + Legend); + +function DoughnutChart(){ + + const options = { + responsive: true, + plugins: { + legend: { + position: 'top', + }, + }, + }; + + const labels = ['Electronics', 'Home Applicances', 'Beauty', 'Furniture', 'Watches', 'Apparel']; + + const data = { + labels, + datasets: [ + { + label: '# of Orders', + data: [122, 219, 30, 51, 82, 13], + backgroundColor: [ + 'rgba(255, 99, 132, 0.8)', + 'rgba(54, 162, 235, 0.8)', + 'rgba(255, 206, 86, 0.8)', + 'rgba(75, 192, 192, 0.8)', + 'rgba(153, 102, 255, 0.8)', + 'rgba(255, 159, 64, 0.8)', + ], + borderColor: [ + 'rgba(255, 99, 132, 1)', + 'rgba(54, 162, 235, 1)', + 'rgba(255, 206, 86, 1)', + 'rgba(75, 192, 192, 1)', + 'rgba(153, 102, 255, 1)', + 'rgba(255, 159, 64, 1)', + ], + borderWidth: 1, + } + ], + }; + + return( + + + + ) +} + + +export default DoughnutChart \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/LineChart.js b/resources/js/Components/features/dashboard/components/LineChart.js new file mode 100644 index 0000000..a845d63 --- /dev/null +++ b/resources/js/Components/features/dashboard/components/LineChart.js @@ -0,0 +1,62 @@ +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Filler, + Legend, +} from 'chart.js'; +import { Line } from 'react-chartjs-2'; +import TitleCard from '../../../components/Cards/TitleCard'; + +ChartJS.register( + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Filler, + Legend +); + +function LineChart(){ + + const options = { + responsive: true, + plugins: { + legend: { + position: 'top', + }, + }, + }; + + + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + + const data = { + labels, + datasets: [ + { + fill: true, + label: 'MAU', + data: labels.map(() => { return Math.random() * 100 + 500 }), + borderColor: 'rgb(53, 162, 235)', + backgroundColor: 'rgba(53, 162, 235, 0.5)', + }, + ], +}; + + + return( + + + + ) +} + + +export default LineChart \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/PageStats.js b/resources/js/Components/features/dashboard/components/PageStats.js new file mode 100644 index 0000000..31110fe --- /dev/null +++ b/resources/js/Components/features/dashboard/components/PageStats.js @@ -0,0 +1,30 @@ +import HeartIcon from '@heroicons/react/24/outline/HeartIcon' +import BoltIcon from '@heroicons/react/24/outline/BoltIcon' + + +function PageStats({}){ + return( +
+ +
+
+ +
+
Total Likes
+
25.6K
+
21% more than last month
+
+ +
+
+ +
+
Page Views
+
2.6M
+
14% more than last month
+
+
+ ) +} + +export default PageStats \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/components/UserChannels.js b/resources/js/Components/features/dashboard/components/UserChannels.js new file mode 100644 index 0000000..e02ab0c --- /dev/null +++ b/resources/js/Components/features/dashboard/components/UserChannels.js @@ -0,0 +1,45 @@ +import TitleCard from "../../../components/Cards/TitleCard" + +const userSourceData = [ + {source : "Facebook Ads", count : "26,345", conversionPercent : 10.2}, + {source : "Google Ads", count : "21,341", conversionPercent : 11.7}, + {source : "Instagram Ads", count : "34,379", conversionPercent : 12.4}, + {source : "Affiliates", count : "12,359", conversionPercent : 20.9}, + {source : "Organic", count : "10,345", conversionPercent : 10.3}, +] + +function UserChannels(){ + return( + + {/** Table Data */} +
+ + + + + + + + + + + { + userSourceData.map((u, k) => { + return( + + + + + + + ) + }) + } + +
SourceNo of UsersConversion
{k+1}{u.source}{u.count}{`${u.conversionPercent}%`}
+
+
+ ) +} + +export default UserChannels \ No newline at end of file diff --git a/resources/js/Components/features/dashboard/index.js b/resources/js/Components/features/dashboard/index.js new file mode 100644 index 0000000..e56733d --- /dev/null +++ b/resources/js/Components/features/dashboard/index.js @@ -0,0 +1,78 @@ +import DashboardStats from './components/DashboardStats' +import AmountStats from './components/AmountStats' +import PageStats from './components/PageStats' + +import UserGroupIcon from '@heroicons/react/24/outline/UserGroupIcon' +import UsersIcon from '@heroicons/react/24/outline/UsersIcon' +import CircleStackIcon from '@heroicons/react/24/outline/CircleStackIcon' +import CreditCardIcon from '@heroicons/react/24/outline/CreditCardIcon' +import UserChannels from './components/UserChannels' +import LineChart from './components/LineChart' +import BarChart from './components/BarChart' +import DashboardTopBar from './components/DashboardTopBar' +import { useDispatch } from 'react-redux' +import {showNotification} from '../common/headerSlice' +import DoughnutChart from './components/DoughnutChart' +import { useState } from 'react' + +const statsData = [ + {title : "New Users", value : "34.7k", icon : , description : "↗︎ 2300 (22%)"}, + {title : "Total Sales", value : "$34,545", icon : , description : "Current month"}, + {title : "Pending Leads", value : "450", icon : , description : "50 in hot leads"}, + {title : "Active Users", value : "5.6k", icon : , description : "↙ 300 (18%)"}, +] + + + +function Dashboard(){ + + const dispatch = useDispatch() + + + const updateDashboardPeriod = (newRange) => { + // Dashboard range changed, write code to refresh your values + dispatch(showNotification({message : `Period updated to ${newRange.startDate} to ${newRange.endDate}`, status : 1})) + } + + return( + <> + {/** ---------------------- Select Period Content ------------------------- */} + + + {/** ---------------------- Different stats content 1 ------------------------- */} +
+ { + statsData.map((d, k) => { + return ( + + ) + }) + } +
+ + + + {/** ---------------------- Different charts ------------------------- */} +
+ + +
+ + {/** ---------------------- Different stats content 2 ------------------------- */} + +
+ + +
+ + {/** ---------------------- User source channels table ------------------------- */} + +
+ + +
+ + ) +} + +export default Dashboard \ No newline at end of file diff --git a/resources/js/Components/features/documentation/DocComponents.js b/resources/js/Components/features/documentation/DocComponents.js new file mode 100644 index 0000000..23852ba --- /dev/null +++ b/resources/js/Components/features/documentation/DocComponents.js @@ -0,0 +1,39 @@ +import { useEffect, useState } from "react" +import { useDispatch } from "react-redux" +import TitleCard from "../../components/Cards/TitleCard" +import { setPageTitle, showNotification } from "../common/headerSlice" +import DocComponentsNav from "./components/DocComponentsNav" +import ReadMe from "./components/GettingStartedContent" +import DocComponentsContent from "./components/DocComponentsContent" +import FeaturesNav from "./components/FeaturesNav" +import FeaturesContent from "./components/FeaturesContent" + + + +function DocComponents(){ + + const dispatch = useDispatch() + + useEffect(() => { + dispatch(setPageTitle({ title : "Documentation"})) + }, []) + + + return( + <> +
+
+ +
+ +
+ +
+ +
+ + + ) +} + +export default DocComponents \ No newline at end of file diff --git a/resources/js/Components/features/documentation/DocFeatures.js b/resources/js/Components/features/documentation/DocFeatures.js new file mode 100644 index 0000000..54c6417 --- /dev/null +++ b/resources/js/Components/features/documentation/DocFeatures.js @@ -0,0 +1,39 @@ +import { useEffect, useState } from "react" +import { useDispatch } from "react-redux" +import TitleCard from "../../components/Cards/TitleCard" +import { setPageTitle, showNotification } from "../common/headerSlice" +import GettingStartedNav from "./components/GettingStartedNav" +import ReadMe from "./components/GettingStartedContent" +import GettingStartedContent from "./components/GettingStartedContent" +import FeaturesNav from "./components/FeaturesNav" +import FeaturesContent from "./components/FeaturesContent" + + + +function Features(){ + + const dispatch = useDispatch() + + useEffect(() => { + dispatch(setPageTitle({ title : "Documentation"})) + }, []) + + + return( + <> +
+
+ +
+ +
+ +
+ +
+ + + ) +} + +export default Features \ No newline at end of file diff --git a/resources/js/Components/features/documentation/DocGettingStarted.js b/resources/js/Components/features/documentation/DocGettingStarted.js new file mode 100644 index 0000000..636785d --- /dev/null +++ b/resources/js/Components/features/documentation/DocGettingStarted.js @@ -0,0 +1,37 @@ +import { useEffect, useState } from "react" +import { useDispatch } from "react-redux" +import TitleCard from "../../components/Cards/TitleCard" +import { setPageTitle, showNotification } from "../common/headerSlice" +import GettingStartedNav from "./components/GettingStartedNav" +import ReadMe from "./components/GettingStartedContent" +import GettingStartedContent from "./components/GettingStartedContent" + + + +function GettingStarted(){ + + const dispatch = useDispatch() + + useEffect(() => { + dispatch(setPageTitle({ title : "Documentation"})) + }, []) + + + return( + <> +
+
+ +
+ +
+ +
+ +
+ + + ) +} + +export default GettingStarted \ No newline at end of file diff --git a/resources/js/Components/features/documentation/components/DocComponentsContent.js b/resources/js/Components/features/documentation/components/DocComponentsContent.js new file mode 100644 index 0000000..f7c4e41 --- /dev/null +++ b/resources/js/Components/features/documentation/components/DocComponentsContent.js @@ -0,0 +1,99 @@ +import { useEffect } from 'react' +import { useDispatch } from 'react-redux' +import InputText from '../../../components/Input/InputText' +import Title from '../../../components/Typography/Title' +import Subtitle from '../../../components/Typography/Subtitle' +import ErrorText from '../../../components/Typography/ErrorText' +import HelperText from '../../../components/Typography/HelperText' + +import { setPageTitle, showNotification } from '../../common/headerSlice' +import TitleCard from '../../../components/Cards/TitleCard' + +function DocComponentsContent(){ + + const dispatch = useDispatch() + + const updateFormValue = () => { + // Dummy function for input text component + } + + return( + <> +
+

Components

+ + We have added some global components that are used commonly inside the project. + + {/* Typography*/} +

Typography

+
+ These components are present under /components/Typography folder. It accepts styleClass as props which can be used to pass additional className for style. It has following components which you can import and use it - +
+
{'import  Title from "../components/Typography/Title"\n  Your Title here'}
+
+
    +
  • Title - Use this component to show title + Title Example +
  • +
  • Subtitle - Component that shows text smaller than title + Subtitle Example +
  • +
  • ErrorText - Used for showing error messages + Error Text Example +
  • +
  • HelperText - Used for showing secondary message + Helper Text Example
  • +
+
+ + + {/* Form Input*/} +

Form Input

+

+ Many times we have to use form input like text, select one or toogle and in every file we have to handle its state management, here we have added global form component that can be used in any file and state variables can be managed by passing props to it. It is present in /components/Input folder. +

+ Ex- +
+
{'const INITIAL_LEAD_OBJ = {\n   first_name : "", \n   last_name : "", \n   email : "" \n  } \n   const [leadObj, setLeadObj] = useState(INITIAL_LEAD_OBJ) \n   const updateFormValue = ({updateType, value}) => {\n    setErrorMessage("") \n    setLeadObj({...leadObj, [updateType] : value})\n   }\n\n'}
+
+ + + +

This example is from add new lead modal, here we are importing component for creating text input and passing some props to handle its content and state variable. Description of props are as follows -

+
    +
  • type - Input type value like number, date, time etc..
  • +
  • updateType - This is used to update state variable in parent component
  • +
  • containerStyle - Style class for container of input, which include label as well
  • +
  • labelTitle - Title of the label
  • +
  • updateFormValue - Function of parent component to update state variable
  • +
+ + + + + {/* Cards */} +

Cards

+

+ Daisy UI already have many cards layout, on top of that we have added one card component that accept title props and shows children inside its body. Also there is a divider between title and body of card. On more provision has been added to add buttons on top left side of card using TopSideButtons props (check leads page). + +

+ Ex - +
+
{' 

Card Body

'}
+
+
+

Card Body

+
+ + + + +
+ + +
+ + ) +} + +export default DocComponentsContent \ No newline at end of file diff --git a/resources/js/Components/features/documentation/components/DocComponentsNav.js b/resources/js/Components/features/documentation/components/DocComponentsNav.js new file mode 100644 index 0000000..3e6d84c --- /dev/null +++ b/resources/js/Components/features/documentation/components/DocComponentsNav.js @@ -0,0 +1,35 @@ +import { useState } from "react" + +function DocComponentsNav({activeIndex}){ + + const SECTION_NAVS = [ + {name : "Typography", isActive : activeIndex === 1 ? true : false}, + {name : "Form Input", isActive : false}, + {name : "Cards", isActive : false}, + ] + const [navs, setNavs] = useState(SECTION_NAVS) + + const scrollToSection = (currentIndex) => { + setNavs(navs.map((n, k) => { + if(k === currentIndex)return {...n, isActive : true} + else return {...n, isActive : false} + })) + document.getElementById('component'+(currentIndex+1)).scrollIntoView({behavior: 'smooth' }) + } + + return( +
    +
  • Components
  • + + { + navs.map((n, k) => { + return( +
  • scrollToSection(k)} className={n.isActive ? "bordered" : ""}>{n.name}
  • + ) + }) + } +
+ ) +} + +export default DocComponentsNav \ No newline at end of file diff --git a/resources/js/Components/features/documentation/components/FeaturesContent.js b/resources/js/Components/features/documentation/components/FeaturesContent.js new file mode 100644 index 0000000..9401f4e --- /dev/null +++ b/resources/js/Components/features/documentation/components/FeaturesContent.js @@ -0,0 +1,147 @@ +import { useEffect } from 'react' +import { useDispatch } from 'react-redux' +import Subtitle from '../../../components/Typography/Subtitle' +import { setPageTitle, showNotification } from '../../common/headerSlice' + +function FeaturesContent(){ + + const dispatch = useDispatch() + + return( + <> +
+

Features

+ + + + {/* Authentication*/} +

Authentication

+

+ JWT based Authentication logic is present in /app/auth.js. In the file you can see we are adding bearer token in header for every request. Every routes under /routes/ folder will need authentication. For public routes like login, register you will have to add routes in App.js file and also include the path in PUBLIC_ROUTES variable under /app/auth.js file so that auto redirect to login page is not triggered. + +

+ + + + + {/* Left Sidebar*/} +

Left Sidebar

+

+ This is main internal navigation (for pages that will come after login only), all sidebar menu items with their icons are present in /routes/sidebar.js file, while path and page components mapping are respectively present in /routes/index.js file. +

+ + + + {/* Add New Page*/} +

Add New Page

+

All public routes are present in App.js file. Steps to add new public page - +

+ +
    +
  • Create Page inside /pages folder
  • +
  • Go to App.js and import the component and add its path
  • +
  • Add your new route path in /app/auth.js file under PUBLIC_ROUTES variable, this will allow the page to open without login.
  • +
+ +

All protected routes are present in /routes/sidebar.js file

+ +
    +
  • Create your page inside /pages/protected folder
  • +
  • Add your new routes in /routes/sidebar.js, this will show your new page in sidebar
  • +
  • Import your new routes component and map its path in /routes/index.js
  • +
+ + + + {/* Right Sidebar*/} +

Right Sidebar

+
+ This is used for showing long list contents like notifications, settings etc.. We are using redux to show and hide and it is single component and can be called from any file with dispatch method. + To add new content follow following steps: +
    +
  • Create new component file containing main body of your content
  • +
  • Create new variable in /utils/globalConstantUtils.js file under RIGHT_DRAWER_TYPES variable
  • +
  • Now include the file mapped with the new variable in /containers/RightSidebar.js file using switch.
    + For ex- If you new component name is TestRightSideBar.js and variable name is TEST_RIGHT_SIDEBAR, then add following code inside switch code block +
    +
    +
    {`[RIGHT_DRAWER_TYPES.TEST_RIGHT_SIDEBAR] : \n`}
    +
    + Here extraObject have variables that is passed from parent component while calling openRightDrawer method +
  • +
  • Now the last step, call dispatch method as follows +
    +
    {'import { useDispatch } from "react-redux"\n  const dispatch = useDispatch()\n  dispatch(openRightDrawer({header : "Test Right Drawer", \n  bodyType : RIGHT_DRAWER_TYPES.TEST_RIGHT_SIDEBAR}))'}
    +
    +
  • +
+
+ + + {/* Themes*/} +

Themes

+

+ By default we have added light and dark theme and Daisy UI comes with a number of themes, which you can use with no extra effort, you just have to include it in tailwind.config.js file, you can add themes like cupcake, corporate, reto etc... Also we can configure themes colors in config file, for more documentation on themes checkout Daisy UI documentation. +

+ + + + + {/* Modal*/} +

Modal

+
+ With global modal functionality you dont have to create seperate modal for each page. We are using redux to show and hide and it is a single component and can be called from any file with dispatch method. + Code for showing modal is present in modalSlice and layout container component. To show modal just call openModal() function of modalSlice using dispatch. +
+ To add new modal in any page follow following steps: +
    +
  • Create new component file containing main body of your modal content
  • +
  • Create new variable in /utils/globalConstantUtils.js file under MODAL_BODY_TYPES variable
  • +
  • Now include the file mapped with the new variable in /containers/ModalLayout.js file using switch.
    + For ex- If you new component name is TestModal.js and variable name is TEST_MODAL, then add following code inside switch code block +
    +
    +
    {`[RIGHT_DRAWER_TYPES.TEST_MODAL] : \n`}
    +
    + Here extraObject have variables that is passed from parent component while calling openModal method +
  • +
  • Now the last step, call dispatch method as follows +
    +
    {'import { useDispatch } from "react-redux"\n  const dispatch = useDispatch()\n   dispatch(openModal({title : "Test Modal Title", \n   bodyType : MODAL_BODY_TYPES.TEST_MODAL}))'}
    +
    +
  • +
+
+ + + + + + + + {/* Notification*/} +

Notification

+

Many times we have to show notification to user be it on successfull form submission or any api success. And requirement can come to show notification from any page, so global notification handling is needed.

+ +

Code for showing notification is present in headerSlice and layout container component. To show notification just call showNotification() function of headerSlice using dispatch. To show success message notification pass status as 1 and for showing error message pass status as 0.

+ +
+
{'import { useDispatch } from "react-redux"\n  const dispatch = useDispatch()\n  dispatch(showNotification({message : "Message here", status : 1}))'}
+
+ +

Click on this button to check

+ + + + + + +
+ + +
+ + ) +} + +export default FeaturesContent \ No newline at end of file diff --git a/resources/js/Components/features/documentation/components/FeaturesNav.js b/resources/js/Components/features/documentation/components/FeaturesNav.js new file mode 100644 index 0000000..dcbb101 --- /dev/null +++ b/resources/js/Components/features/documentation/components/FeaturesNav.js @@ -0,0 +1,39 @@ +import { useState } from "react" + +function FeaturesNav({activeIndex}){ + + const SECTION_NAVS = [ + {name : "Authentication", isActive : activeIndex === 1 ? true : false}, + {name : "Sidebar", isActive : false}, + {name : "Add New Page", isActive : false}, + {name : "Right sidebar", isActive : false}, + {name : "Themes", isActive : false}, + {name : "Modal", isActive : false}, + {name : "Notification", isActive : false}, + ] + const [navs, setNavs] = useState(SECTION_NAVS) + + const scrollToSection = (currentIndex) => { + setNavs(navs.map((n, k) => { + if(k === currentIndex)return {...n, isActive : true} + else return {...n, isActive : false} + })) + document.getElementById('feature'+(currentIndex+1)).scrollIntoView({behavior: 'smooth' }) + } + + return( +
    +
  • Features
  • + + { + navs.map((n, k) => { + return( +
  • scrollToSection(k)} className={n.isActive ? "bordered" : ""}>{n.name}
  • + ) + }) + } +
+ ) +} + +export default FeaturesNav \ No newline at end of file diff --git a/resources/js/Components/features/documentation/components/GettingStartedContent.js b/resources/js/Components/features/documentation/components/GettingStartedContent.js new file mode 100644 index 0000000..467632e --- /dev/null +++ b/resources/js/Components/features/documentation/components/GettingStartedContent.js @@ -0,0 +1,173 @@ +import { useEffect } from 'react' +import { useDispatch } from 'react-redux' +import Subtitle from '../../../components/Typography/Subtitle' +import { setPageTitle } from '../../common/headerSlice' + +function GettingStartedContent(){ + + const dispatch = useDispatch() + + + + return( + <> +
+

Getting Started

+ + + {/* Introduction */} +

Introduction

+

A free dashboard template using Daisy UI and react js. With the help of Dasisy UI, it comes with fully customizable and themable CSS and power of Tailwind CSS utility classes. We have also added redux toolkit and configured it for API calls and state management.

+

User authentication has been implemented using JWT token method (ofcourse you need backend API for generating and verifying token). This template can be used to start your next SaaS project or build new internal tools in your company.

+

Core libraries used -

+ +

Major features -

+

Almost all major UI components are available in Daisy UI library. Apart from this logic has been added for following -

+
    +
  • Light/dark mode toggle
  • +
  • Token based user authentication
  • +
  • Submenu support in sidebar
  • +
  • Store management using redux toolkit
  • +
  • Daisy UI components
  • +
  • Right and left sidebar, Universal loader, notifications and other components
  • +
  • React chart js 2 examples
  • +
+ + + + + + {/* How to Use */} +

How to use?

+

+ Just clone the repo from github and then run following command (Make sure you have node js installed )
+ Repo Link +
+ npm install
+ npm start +

+ + + {/* Tailwind CSS*/} +

Tailwind CSS

+

+ Tailwind CSS is a utility-first CSS framework with predefined classes that you can use to build and design the UI directly in the JSX. We have also included Daisy UI Component, that is based on tailwind CSS. +

+ + {/* Daisy UI */} +

Daisy UI

+ +

Daisy UI, a popular free and opensource tailwind component library has been used for this template. It has a rich collection of components, layouts and is fully customizable and themeable.

+ +

Apart from this it also helps in making HTML code more cleaner as we don't have to include all utility classes of tailwind to make the UI. Check components documentation here. For Ex-

+ +
+

Creating a button

+
+
+ +
+

using only utility classes of tailwind

+
+
{'Button'}
+
+ +
+ +
+ +
+

using daisyUI component classes

+
+
{'\nButton'}
+
+ +
+
+ + + + {/* Chart JS */} +

Chart JS

+

+ Chart JS library has rich components of different charts available. It is based on Chart.js library, the most popular charting library. We have added this library and added couple of examples in seperate page. +

+ + + + {/* Redux Toolkit */} +

Redux Toolkit

+

+ The Redux Toolkit package helps in writing redux logic easily. It was originally created to help address three common concerns about Redux: +

  • Configuring a Redux store is too complicated
  • +
  • I have to add a lot of packages to get Redux to do anything useful
  • +
  • Redux requires too much boilerplate code"
  • + This library has been configured and used for showing notifications, modals and loading data from API in leads page. +

    + + + {/* Hero Icons */} +

    Hero Icons

    +

    HeroIcons library has been used for all the icons in this templates. It has a rich collection of SVG icons, and is made by the makers of Tailwind CSS.

    + +

    Each icon can be imported individually as a React component, check documentation

    + +
    {"import BeakerIcon from '@heroicons/react/24/solid/BeakerIcon'"}
    +

    Use as follows in your component

    +
    {""}
    + +
    + +
    +
    Note: Importing all icons in single line will increase your build time
    +
    + +

    Don't import like this (will load all icons and increase build time)

    +
    {"import {BeakerIcon, BellIcon } from '@heroicons/react/24/solid'"}
    + +

    Instead import as follows

    +
    {"import BeakerIcon from '@heroicons/react/24/solid/BeakerIcon'"}
    + {"import BellIcon from '@heroicons/react/24/solid/BellIcon'"}
    + +
    This is better way for importing icons
    + + + + {/* Project Structure */} +

    Project Structure

    +

    Folders -

    +
      +
    • app - store management, auth and libraries settings are present
    • +
    • components - this include all common components to be used in project
    • +
    • containers - components related to layout like sidebar, page layout, header etc..
    • +
    • features - main folder where all page logic resides, there will be folder for each page and additional folder inside that to group different functionalities like components, modals etc... Redux slice file will also present inside page specific folder.
    • +
    • pages - this contain one single file related to one page, if you want to divide page into different components file, use features folder and create seperate folder related to that page
    • +
    • routes - all settings related to routes
    • +
    + +

    Files -

    +
      +
    • App.js - Main file containing different routes and components
    • +
    • index.css - Additional global css if required
    • +
    • index.js - Entry point of project
    • +
    • package.json - All dependencies and npm scripts
    • +
    • tailwind.config.js - Tailwind CSS configuration file, add theme customization and new themes in this file
    • +
    + + +
    + +
    + + ) +} + +export default GettingStartedContent \ No newline at end of file diff --git a/resources/js/Components/features/documentation/components/GettingStartedNav.js b/resources/js/Components/features/documentation/components/GettingStartedNav.js new file mode 100644 index 0000000..f1029bd --- /dev/null +++ b/resources/js/Components/features/documentation/components/GettingStartedNav.js @@ -0,0 +1,40 @@ +import { useState } from "react" + +function GettingStartedNav({activeIndex}){ + + const SECTION_NAVS = [ + {name : "Introduction", isActive : activeIndex === 1 ? true : false}, + {name : "How to Use", isActive : false}, + {name : "Tailwind CSS", isActive : false}, + {name : "Daisy UI", isActive : false}, + {name : "Chart JS", isActive : false}, + {name : "Redux Toolkit", isActive : false}, + {name : "Hero Icons", isActive : false}, + {name : "Project Structure", isActive : false}, + ] + const [navs, setNavs] = useState(SECTION_NAVS) + + const scrollToSection = (currentIndex) => { + setNavs(navs.map((n, k) => { + if(k === currentIndex)return {...n, isActive : true} + else return {...n, isActive : false} + })) + document.getElementById('getstarted'+(currentIndex+1)).scrollIntoView({behavior: 'smooth' }) + } + + return( +
      +
    • Getting Started
    • + + { + navs.map((n, k) => { + return( +
    • scrollToSection(k)} className={n.isActive ? "bordered" : ""}>{n.name}
    • + ) + }) + } +
    + ) +} + +export default GettingStartedNav \ No newline at end of file diff --git a/resources/js/Components/features/integration/index.js b/resources/js/Components/features/integration/index.js new file mode 100644 index 0000000..22c8e87 --- /dev/null +++ b/resources/js/Components/features/integration/index.js @@ -0,0 +1,60 @@ +import { useState } from "react" +import { useDispatch } from "react-redux" +import TitleCard from "../../components/Cards/TitleCard" +import { showNotification } from "../common/headerSlice" + + +const INITIAL_INTEGRATION_LIST = [ + {name : "Slack", icon : "https://cdn-icons-png.flaticon.com/512/2111/2111615.png", isActive : true, description : "Slack is an instant messaging program designed by Slack Technologies and owned by Salesforce."}, + {name : "Facebook", icon : "https://cdn-icons-png.flaticon.com/512/124/124010.png", isActive : false, description : "Meta Platforms, Inc., doing business as Meta and formerly named Facebook, Inc., and TheFacebook."}, + {name : "Linkedin", icon : "https://cdn-icons-png.flaticon.com/512/174/174857.png", isActive : true, description : "LinkedIn is a business and employment-focused social media platform that works through websites and mobile apps."}, + {name : "Google Ads", icon : "https://cdn-icons-png.flaticon.com/512/2301/2301145.png", isActive : false, description : "Google Ads is an online advertising platform developed by Google, where advertisers bid to display brief advertisements, service offerings"}, + {name : "Gmail", icon : "https://cdn-icons-png.flaticon.com/512/5968/5968534.png", isActive : false, description : "Gmail is a free email service provided by Google. As of 2019, it had 1.5 billion active users worldwide."}, + {name : "Salesforce", icon : "https://cdn-icons-png.flaticon.com/512/5968/5968880.png", isActive : false, description : "It provides customer relationship management software and applications focused on sales, customer service, marketing automation."}, + {name : "Hubspot", icon : "https://cdn-icons-png.flaticon.com/512/5968/5968872.png", isActive : false, description : "American developer and marketer of software products for inbound marketing, sales, and customer service."}, +] + +function Integration(){ + + const dispatch = useDispatch() + + const [integrationList, setIntegrationList] = useState(INITIAL_INTEGRATION_LIST) + + + const updateIntegrationStatus = (index) => { + let integration = integrationList[index] + setIntegrationList(integrationList.map((i, k) => { + if(k===index)return {...i, isActive : !i.isActive} + return i + })) + dispatch(showNotification({message : `${integration.name} ${integration.isActive ? "disabled" : "enabled"}` , status : 1})) + } + + + return( + <> +
    + { + integrationList.map((i, k) => { + return( + + +

    + icon + {i.description} +

    +
    + updateIntegrationStatus(k)}/> +
    + +
    + ) + + }) + } +
    + + ) +} + +export default Integration \ No newline at end of file diff --git a/resources/js/Components/features/leads/components/AddLeadModalBody.jsx b/resources/js/Components/features/leads/components/AddLeadModalBody.jsx new file mode 100644 index 0000000..b348678 --- /dev/null +++ b/resources/js/Components/features/leads/components/AddLeadModalBody.jsx @@ -0,0 +1,62 @@ +import { useState } from "react" +import { useDispatch } from "react-redux" +import InputText from '@/Components/Input/InputText' +import ErrorText from '@/Components/Typography/ErrorText' +import { showNotification } from '@/Components/features/common/headerSlice' +import { addNewLead } from "../leadSlice" + +const INITIAL_LEAD_OBJ = { + first_name: "", + last_name: "", + email: "" +} + +function AddLeadModalBody({ closeModal }) { + const dispatch = useDispatch() + const [loading, setLoading] = useState(false) + const [errorMessage, setErrorMessage] = useState("") + const [leadObj, setLeadObj] = useState(INITIAL_LEAD_OBJ) + + + const saveNewLead = () => { + if (leadObj.first_name.trim() === "") return setErrorMessage("First Name is required!") + else if (leadObj.email.trim() === "") return setErrorMessage("Email id is required!") + else { + let newLeadObj = { + "id": 7, + "email": leadObj.email, + "first_name": leadObj.first_name, + "last_name": leadObj.last_name, + "avatar": "https://reqres.in/img/faces/1-image.jpg" + } + dispatch(addNewLead({ newLeadObj })) + dispatch(showNotification({ message: "New Lead Added!", status: 1 })) + closeModal() + } + } + + const updateFormValue = ({ updateType, value }) => { + setErrorMessage("") + setLeadObj({ ...leadObj, [updateType]: value }) + } + + return ( + <> + + + + + + + + + {errorMessage} +
    + + +
    + + ) +} + +export default AddLeadModalBody \ No newline at end of file diff --git a/resources/js/Components/features/leads/index.jsx b/resources/js/Components/features/leads/index.jsx new file mode 100644 index 0000000..876b034 --- /dev/null +++ b/resources/js/Components/features/leads/index.jsx @@ -0,0 +1,104 @@ +import moment from "moment" +import { useEffect } from "react" +import { useDispatch, useSelector } from "react-redux" +import TitleCard from "../../components/Cards/TitleCard" +import { openModal } from "../common/modalSlice" +import { deleteLead, getLeadsContent } from "./leadSlice" +import { CONFIRMATION_MODAL_CLOSE_TYPES, MODAL_BODY_TYPES } from '../../utils/globalConstantUtil' +import TrashIcon from '@heroicons/react/24/outline/TrashIcon' +import { showNotification } from '../common/headerSlice' + +const TopSideButtons = () => { + + const dispatch = useDispatch() + + const openAddNewLeadModal = () => { + dispatch(openModal({title : "Add New Lead", bodyType : MODAL_BODY_TYPES.LEAD_ADD_NEW})) + } + + return( +
    + +
    + ) +} + +function Leads(){ + + const {leads } = useSelector(state => state.lead) + const dispatch = useDispatch() + + useEffect(() => { + dispatch(getLeadsContent()) + }, []) + + + + const getDummyStatus = (index) => { + if(index % 5 === 0)return
    Not Interested
    + else if(index % 5 === 1)return
    In Progress
    + else if(index % 5 === 2)return
    Sold
    + else if(index % 5 === 3)return
    Need Followup
    + else return
    Open
    + } + + const deleteCurrentLead = (index) => { + dispatch(openModal({title : "Confirmation", bodyType : MODAL_BODY_TYPES.CONFIRMATION, + extraObject : { message : `Are you sure you want to delete this lead?`, type : CONFIRMATION_MODAL_CLOSE_TYPES.LEAD_DELETE, index}})) + } + + return( + <> + + }> + + {/* Leads List in table format loaded from slice after api call */} +
    + + + + + + + + + + + + + { + leads.map((l, k) => { + return( + + + + + + + + + ) + }) + } + +
    NameEmail IdCreated AtStatusAssigned To
    +
    +
    +
    + Avatar +
    +
    +
    +
    {l.first_name}
    +
    {l.last_name}
    +
    +
    +
    {l.email}{moment(new Date()).add(-5*(k+2), 'days').format("DD MMM YY")}{getDummyStatus(k)}{l.last_name}
    +
    +
    + + ) +} + + +export default Leads \ No newline at end of file diff --git a/resources/js/Components/features/leads/leadSlice.jsx b/resources/js/Components/features/leads/leadSlice.jsx new file mode 100644 index 0000000..487ae47 --- /dev/null +++ b/resources/js/Components/features/leads/leadSlice.jsx @@ -0,0 +1,49 @@ +import { createSlice, createAsyncThunk } from '@reduxjs/toolkit' +import axios from 'axios' + + + +export const getLeadsContent = createAsyncThunk('/leads/content', async () => { + const response = await axios.get('/api/users?page=2', {}) + return response.data; +}) + +export const leadsSlice = createSlice({ + name: 'leads', + initialState: { + isLoading: false, + leads : [] + }, + reducers: { + + + addNewLead: (state, action) => { + let {newLeadObj} = action.payload + state.leads = [...state.leads, newLeadObj] + }, + + deleteLead: (state, action) => { + let {index} = action.payload + state.leads.splice(index, 1) + } + }, + + extraReducers: (builder) => { + builder + .addCase(getLeadsContent.pending, (state) => { + state.isLoading = true; + }) + .addCase(getLeadsContent.fulfilled, (state, action) => { + state.leads = action.payload.data; + state.isLoading = false; + }) + .addCase(getLeadsContent.rejected, (state) => { + state.isLoading = false; + }); +} + +}) + +export const { addNewLead, deleteLead } = leadsSlice.actions + +export default leadsSlice.reducer \ No newline at end of file diff --git a/resources/js/Components/features/settings/billing/index.js b/resources/js/Components/features/settings/billing/index.js new file mode 100644 index 0000000..92d450e --- /dev/null +++ b/resources/js/Components/features/settings/billing/index.js @@ -0,0 +1,82 @@ +import moment from "moment" +import { useEffect, useState } from "react" +import { useDispatch, useSelector } from "react-redux" +import TitleCard from "../../../components/Cards/TitleCard" +import { showNotification } from '../../common/headerSlice' + + + +const BILLS = [ + {invoiceNo : "#4567", amount : "23,989", description : "Product usages", status : "Pending", generatedOn : moment(new Date()).add(-30*1, 'days').format("DD MMM YYYY"), paidOn : "-"}, + + {invoiceNo : "#4523", amount : "34,989", description : "Product usages", status : "Pending", generatedOn : moment(new Date()).add(-30*2, 'days').format("DD MMM YYYY"), paidOn : "-"}, + + {invoiceNo : "#4453", amount : "39,989", description : "Product usages", status : "Paid", generatedOn : moment(new Date()).add(-30*3, 'days').format("DD MMM YYYY"), paidOn : moment(new Date()).add(-24*2, 'days').format("DD MMM YYYY")}, + + {invoiceNo : "#4359", amount : "28,927", description : "Product usages", status : "Paid", generatedOn : moment(new Date()).add(-30*4, 'days').format("DD MMM YYYY"), paidOn : moment(new Date()).add(-24*3, 'days').format("DD MMM YYYY")}, + + {invoiceNo : "#3359", amount : "28,927", description : "Product usages", status : "Paid", generatedOn : moment(new Date()).add(-30*5, 'days').format("DD MMM YYYY"), paidOn : moment(new Date()).add(-24*4, 'days').format("DD MMM YYYY")}, + + {invoiceNo : "#3367", amount : "28,927", description : "Product usages", status : "Paid", generatedOn : moment(new Date()).add(-30*6, 'days').format("DD MMM YYYY"), paidOn : moment(new Date()).add(-24*5, 'days').format("DD MMM YYYY")}, + + {invoiceNo : "#3359", amount : "28,927", description : "Product usages", status : "Paid", generatedOn : moment(new Date()).add(-30*7, 'days').format("DD MMM YYYY"), paidOn : moment(new Date()).add(-24*6, 'days').format("DD MMM YYYY")}, + + {invoiceNo : "#2359", amount : "28,927", description : "Product usages", status : "Paid", generatedOn : moment(new Date()).add(-30*8, 'days').format("DD MMM YYYY"), paidOn : moment(new Date()).add(-24*7, 'days').format("DD MMM YYYY")}, + + +] + +function Billing(){ + + + const [bills, setBills] = useState(BILLS) + + const getPaymentStatus = (status) => { + if(status === "Paid")return
    {status}
    + if(status === "Pending")return
    {status}
    + else return
    {status}
    + } + + return( + <> + + + + {/* Invoice list in table format loaded constant */} +
    + + + + + + + + + + + + + { + bills.map((l, k) => { + return( + + + + + + + + + ) + }) + } + +
    Invoice NoInvoice Generated OnDescriptionAmountStatusInvoice Paid On
    {l.invoiceNo}{l.generatedOn}{l.description}${l.amount}{getPaymentStatus(l.status)}{l.paidOn}
    +
    +
    + + ) +} + + +export default Billing \ No newline at end of file diff --git a/resources/js/Components/features/settings/profilesettings/index.js b/resources/js/Components/features/settings/profilesettings/index.js new file mode 100644 index 0000000..2386337 --- /dev/null +++ b/resources/js/Components/features/settings/profilesettings/index.js @@ -0,0 +1,51 @@ +import moment from "moment" +import { useEffect, useState } from "react" +import { useDispatch, useSelector } from "react-redux" +import TitleCard from "../../../components/Cards/TitleCard" +import { showNotification } from '../../common/headerSlice' +import InputText from '../../../components/Input/InputText' +import TextAreaInput from '../../../components/Input/TextAreaInput' +import ToogleInput from '../../../components/Input/ToogleInput' + +function ProfileSettings(){ + + + const dispatch = useDispatch() + + // Call API to update profile settings changes + const updateProfile = () => { + dispatch(showNotification({message : "Profile Updated", status : 1})) + } + + const updateFormValue = ({updateType, value}) => { + console.log(updateType) + } + + return( + <> + + + +
    + + + + + +
    +
    + +
    + + + +
    + +
    +
    + + ) +} + + +export default ProfileSettings \ No newline at end of file diff --git a/resources/js/Components/features/settings/team/index.js b/resources/js/Components/features/settings/team/index.js new file mode 100644 index 0000000..07e4547 --- /dev/null +++ b/resources/js/Components/features/settings/team/index.js @@ -0,0 +1,97 @@ +import moment from "moment" +import { useEffect, useState } from "react" +import { useDispatch, useSelector } from "react-redux" +import TitleCard from "../../../components/Cards/TitleCard" +import { showNotification } from '../../common/headerSlice' + +const TopSideButtons = () => { + + const dispatch = useDispatch() + + const addNewTeamMember = () => { + dispatch(showNotification({message : "Add New Member clicked", status : 1})) + } + + return( +
    + +
    + ) +} + + +const TEAM_MEMBERS = [ + {name : "Alex", avatar : "https://reqres.in/img/faces/1-image.jpg", email : "alex@dashwind.com", role : "Owner", joinedOn : moment(new Date()).add(-5*1, 'days').format("DD MMM YYYY"), lastActive : "5 hr ago"}, + {name : "Ereena", avatar : "https://reqres.in/img/faces/2-image.jpg", email : "ereena@dashwind.com", role : "Admin", joinedOn : moment(new Date()).add(-5*2, 'days').format("DD MMM YYYY"), lastActive : "15 min ago"}, + {name : "John", avatar : "https://reqres.in/img/faces/3-image.jpg", email : "jhon@dashwind.com", role : "Admin", joinedOn : moment(new Date()).add(-5*3, 'days').format("DD MMM YYYY"), lastActive : "20 hr ago"}, + {name : "Matrix", avatar : "https://reqres.in/img/faces/4-image.jpg", email : "matrix@dashwind.com", role : "Manager", joinedOn : moment(new Date()).add(-5*4, 'days').format("DD MMM YYYY"), lastActive : "1 hr ago"}, + {name : "Virat", avatar : "https://reqres.in/img/faces/5-image.jpg", email : "virat@dashwind.com", role : "Support", joinedOn : moment(new Date()).add(-5*5, 'days').format("DD MMM YYYY"), lastActive : "40 min ago"}, + {name : "Miya", avatar : "https://reqres.in/img/faces/6-image.jpg", email : "miya@dashwind.com", role : "Support", joinedOn : moment(new Date()).add(-5*7, 'days').format("DD MMM YYYY"), lastActive : "5 hr ago"}, + +] + +function Team(){ + + + const [members, setMembers] = useState(TEAM_MEMBERS) + + const getRoleComponent = (role) => { + if(role === "Admin")return
    {role}
    + if(role === "Manager")return
    {role}
    + if(role === "Owner")return
    {role}
    + if(role === "Support")return
    {role}
    + else return
    {role}
    + } + + return( + <> + + }> + + {/* Team Member list in table format loaded constant */} +
    + + + + + + + + + + + + { + members.map((l, k) => { + return( + + + + + + + + ) + }) + } + +
    NameEmail IdJoined OnRoleLast Active
    +
    +
    +
    + Avatar +
    +
    +
    +
    {l.name}
    +
    +
    +
    {l.email}{l.joinedOn}{getRoleComponent(l.role)}{l.lastActive}
    +
    +
    + + ) +} + + +export default Team \ No newline at end of file diff --git a/resources/js/Components/features/transactions/index.js b/resources/js/Components/features/transactions/index.js new file mode 100644 index 0000000..071649b --- /dev/null +++ b/resources/js/Components/features/transactions/index.js @@ -0,0 +1,128 @@ +import moment from "moment" +import { useEffect, useState } from "react" +import { useDispatch, useSelector } from "react-redux" +import { showNotification } from "../common/headerSlice" +import TitleCard from "../../components/Cards/TitleCard" +import { RECENT_TRANSACTIONS } from "../../utils/dummyData" +import FunnelIcon from '@heroicons/react/24/outline/FunnelIcon' +import XMarkIcon from '@heroicons/react/24/outline/XMarkIcon' +import SearchBar from "../../components/Input/SearchBar" + +const TopSideButtons = ({removeFilter, applyFilter, applySearch}) => { + + const [filterParam, setFilterParam] = useState("") + const [searchText, setSearchText] = useState("") + const locationFilters = ["Paris", "London", "Canada", "Peru", "Tokyo"] + + const showFiltersAndApply = (params) => { + applyFilter(params) + setFilterParam(params) + } + + const removeAppliedFilter = () => { + removeFilter() + setFilterParam("") + setSearchText("") + } + + useEffect(() => { + if(searchText == ""){ + removeAppliedFilter() + }else{ + applySearch(searchText) + } + }, [searchText]) + + return( +
    + + {filterParam != "" && } +
    + + +
    +
    + ) +} + + +function Transactions(){ + + + const [trans, setTrans] = useState(RECENT_TRANSACTIONS) + + const removeFilter = () => { + setTrans(RECENT_TRANSACTIONS) + } + + const applyFilter = (params) => { + let filteredTransactions = RECENT_TRANSACTIONS.filter((t) => {return t.location == params}) + setTrans(filteredTransactions) + } + + // Search according to name + const applySearch = (value) => { + let filteredTransactions = RECENT_TRANSACTIONS.filter((t) => {return t.email.toLowerCase().includes(value.toLowerCase()) || t.email.toLowerCase().includes(value.toLowerCase())}) + setTrans(filteredTransactions) + } + + return( + <> + + }> + + {/* Team Member list in table format loaded constant */} +
    + + + + + + + + + + + + { + trans.map((l, k) => { + return( + + + + + + + + ) + }) + } + +
    NameEmail IdLocationAmountTransaction Date
    +
    +
    +
    + Avatar +
    +
    +
    +
    {l.name}
    +
    +
    +
    {l.email}{l.location}${l.amount}{moment(l.date).format("D MMM")}
    +
    +
    + + ) +} + + +export default Transactions \ No newline at end of file diff --git a/resources/js/Components/features/user/ForgotPassword.js b/resources/js/Components/features/user/ForgotPassword.js new file mode 100644 index 0000000..ab61d85 --- /dev/null +++ b/resources/js/Components/features/user/ForgotPassword.js @@ -0,0 +1,86 @@ +import {useState, useRef} from 'react' +import {Link} from 'react-router-dom' +import LandingIntro from './LandingIntro' +import ErrorText from '../../components/Typography/ErrorText' +import InputText from '../../components/Input/InputText' +import CheckCircleIcon from '@heroicons/react/24/solid/CheckCircleIcon' + +function ForgotPassword(){ + + const INITIAL_USER_OBJ = { + emailId : "" + } + + const [loading, setLoading] = useState(false) + const [errorMessage, setErrorMessage] = useState("") + const [linkSent, setLinkSent] = useState(false) + const [userObj, setUserObj] = useState(INITIAL_USER_OBJ) + + const submitForm = (e) =>{ + e.preventDefault() + setErrorMessage("") + + if(userObj.emailId.trim() === "")return setErrorMessage("Email Id is required! (use any value)") + else{ + setLoading(true) + // Call API to send password reset link + setLoading(false) + setLinkSent(true) + } + } + + const updateFormValue = ({updateType, value}) => { + setErrorMessage("") + setUserObj({...userObj, [updateType] : value}) + } + + return( +
    +
    +
    +
    + +
    +
    +

    Forgot Password

    + + { + linkSent && + <> +
    +

    Link Sent

    +

    Check your email to reset password

    +
    + + + } + + { + !linkSent && + <> +

    We will send password reset link on your email Id

    +
    submitForm(e)}> + +
    + + + + +
    + + {errorMessage} + + +
    Don't have an account yet?
    +
    + + } + +
    +
    +
    +
    + ) +} + +export default ForgotPassword \ No newline at end of file diff --git a/resources/js/Components/features/user/LandingIntro.js b/resources/js/Components/features/user/LandingIntro.js new file mode 100644 index 0000000..7cd9c9c --- /dev/null +++ b/resources/js/Components/features/user/LandingIntro.js @@ -0,0 +1,27 @@ +import TemplatePointers from "./components/TemplatePointers" + + + +function LandingIntro(){ + + return( +
    +
    +
    + +

    dashwind-logoDashWind

    + +
    Dashwind Admin Template
    + + {/* Importing pointers component */} + + +
    + +
    +
    + ) + + } + + export default LandingIntro \ No newline at end of file diff --git a/resources/js/Components/features/user/Login.js b/resources/js/Components/features/user/Login.js new file mode 100644 index 0000000..cd36dda --- /dev/null +++ b/resources/js/Components/features/user/Login.js @@ -0,0 +1,72 @@ +import {useState, useRef} from 'react' +import {Link} from 'react-router-dom' +import LandingIntro from './LandingIntro' +import ErrorText from '../../components/Typography/ErrorText' +import InputText from '../../components/Input/InputText' + +function Login(){ + + const INITIAL_LOGIN_OBJ = { + password : "", + emailId : "" + } + + const [loading, setLoading] = useState(false) + const [errorMessage, setErrorMessage] = useState("") + const [loginObj, setLoginObj] = useState(INITIAL_LOGIN_OBJ) + + const submitForm = (e) =>{ + e.preventDefault() + setErrorMessage("") + + if(loginObj.emailId.trim() === "")return setErrorMessage("Email Id is required! (use any value)") + if(loginObj.password.trim() === "")return setErrorMessage("Password is required! (use any value)") + else{ + setLoading(true) + // Call API to check user credentials and save token in localstorage + localStorage.setItem("token", "DumyTokenHere") + setLoading(false) + window.location.href = '/app/welcome' + } + } + + const updateFormValue = ({updateType, value}) => { + setErrorMessage("") + setLoginObj({...loginObj, [updateType] : value}) + } + + return( +
    +
    +
    +
    + +
    +
    +

    Login

    +
    submitForm(e)}> + +
    + + + + + +
    + +
    Forgot Password? +
    + + {errorMessage} + + +
    Don't have an account yet? Register
    +
    +
    +
    +
    +
    + ) +} + +export default Login \ No newline at end of file diff --git a/resources/js/Components/features/user/Register.js b/resources/js/Components/features/user/Register.js new file mode 100644 index 0000000..836f487 --- /dev/null +++ b/resources/js/Components/features/user/Register.js @@ -0,0 +1,73 @@ +import {useState, useRef} from 'react' +import {Link} from 'react-router-dom' +import LandingIntro from './LandingIntro' +import ErrorText from '../../components/Typography/ErrorText' +import InputText from '../../components/Input/InputText' + +function Register(){ + + const INITIAL_REGISTER_OBJ = { + name : "", + password : "", + emailId : "" + } + + const [loading, setLoading] = useState(false) + const [errorMessage, setErrorMessage] = useState("") + const [registerObj, setRegisterObj] = useState(INITIAL_REGISTER_OBJ) + + const submitForm = (e) =>{ + e.preventDefault() + setErrorMessage("") + + if(registerObj.name.trim() === "")return setErrorMessage("Name is required! (use any value)") + if(registerObj.emailId.trim() === "")return setErrorMessage("Email Id is required! (use any value)") + if(registerObj.password.trim() === "")return setErrorMessage("Password is required! (use any value)") + else{ + setLoading(true) + // Call API to check user credentials and save token in localstorage + localStorage.setItem("token", "DumyTokenHere") + setLoading(false) + window.location.href = '/app/welcome' + } + } + + const updateFormValue = ({updateType, value}) => { + setErrorMessage("") + setRegisterObj({...registerObj, [updateType] : value}) + } + + return( +
    +
    +
    +
    + +
    +
    +

    Register

    +
    submitForm(e)}> + +
    + + + + + + + +
    + + {errorMessage} + + +
    Already have an account? Login
    +
    +
    +
    +
    +
    + ) +} + +export default Register \ No newline at end of file diff --git a/resources/js/Components/features/user/components/TemplatePointers.js b/resources/js/Components/features/user/components/TemplatePointers.js new file mode 100644 index 0000000..208afd9 --- /dev/null +++ b/resources/js/Components/features/user/components/TemplatePointers.js @@ -0,0 +1,14 @@ +function TemplatePointers(){ + return( + <> +

    Admin Dashboard Starter Kit

    +

    Light/dark mode toggle

    +

    Redux toolkit and other utility libraries configured

    +

    Calendar, Modal, Sidebar components

    +

    ✓ User-friendly documentation

    +

    Daisy UI components, Tailwind CSS support

    + + ) +} + +export default TemplatePointers \ No newline at end of file diff --git a/resources/js/Layouts/GuestLayout.jsx b/resources/js/Layouts/GuestLayout.jsx index 090d571..ce4cdf9 100644 --- a/resources/js/Layouts/GuestLayout.jsx +++ b/resources/js/Layouts/GuestLayout.jsx @@ -1,4 +1,4 @@ -import ApplicationLogo from '@/Components/ApplicationLogo'; +import ApplicationLogo from '../Components/ApplicationLogo'; import { Link } from '@inertiajs/react'; export default function Guest({ children }) { diff --git a/resources/js/Pages/Auth/Login.jsx b/resources/js/Pages/Auth/Login.jsx index 11bee02..cf3915f 100644 --- a/resources/js/Pages/Auth/Login.jsx +++ b/resources/js/Pages/Auth/Login.jsx @@ -1,10 +1,10 @@ import { useEffect } from 'react'; -import Checkbox from '@/Components/Checkbox'; -import GuestLayout from '@/Layouts/GuestLayout'; -import InputError from '@/Components/InputError'; -import InputLabel from '@/Components/InputLabel'; -import PrimaryButton from '@/Components/PrimaryButton'; -import TextInput from '@/Components/TextInput'; +import Checkbox from '../../Components/Checkbox'; +import GuestLayout from '../../Layouts/GuestLayout'; +import InputError from '../../Components/InputError'; +import InputLabel from '../../Components/InputLabel'; +import PrimaryButton from '../../Components/PrimaryButton'; +import TextInput from '../../Components/TextInput'; import { Head, Link, useForm } from '@inertiajs/react'; export default function Login({ status, canResetPassword }) { diff --git a/resources/js/Pages/list-admin/payment/ManualPayment.jsx b/resources/js/Pages/list-admin/payment/ManualPayment.jsx index 2b4812a..34109e5 100644 --- a/resources/js/Pages/list-admin/payment/ManualPayment.jsx +++ b/resources/js/Pages/list-admin/payment/ManualPayment.jsx @@ -1,13 +1,17 @@ import React, { useState } from 'react'; import { Head } from '@inertiajs/react'; import ModalInput from '@/Components/ModalInput'; +import Layout from '@/Components/Layout' + export default function ManualPayment({ santri, penalty, bill, fields, options }) { const [selectedSantri, setSelectedSantri] = useState(null); + // console.log(LeftSidebar) return (
    + - setSelectedSantri(null)} /> + setSelectedSantri(null)} /> {santri && santri.length > 0 ? santri.map((item, i) => (

    Nis: {item.user.nis}

    @@ -18,8 +22,6 @@ export default function ManualPayment({ santri, penalty, bill, fields, options }

    Payments:

    {item.payments.map((payment) => (
    - {/* {payment.detail_payments && payment.detail_payments.length > 0 ? ( */} - {payment.detail_payments.map((detail) => (

    {detail.penalty ? `Denda: Rp ${detail.penalty}` : 'Tidak ada denda'}

    @@ -63,8 +65,6 @@ export default function ManualPayment({ santri, penalty, bill, fields, options }
    ))} - - {/* ) :

    Tidak ada detail pembayaran.

    } */}
    ))}
    @@ -73,6 +73,7 @@ export default function ManualPayment({ santri, penalty, bill, fields, options }
    +
    + + + ) +} + +export default InternalPage \ No newline at end of file diff --git a/resources/js/Routes/index.jsx b/resources/js/Routes/index.jsx new file mode 100644 index 0000000..0ea9812 --- /dev/null +++ b/resources/js/Routes/index.jsx @@ -0,0 +1,85 @@ +// All components mapping with path for internal routes + +import { lazy } from 'react' + +const Dashboard = lazy(() => import('../pages/protected/Dashboard')) +const Welcome = lazy(() => import('@/Pages/list-admin/santri/IndexSantri')) +// const Page404 = lazy(() => import('../pages/protected/404')) +// const Blank = lazy(() => import('../pages/protected/Blank')) +// const Charts = lazy(() => import('../pages/protected/Charts')) +const Leads = lazy(() => import('../pages/protected/Leads')) +// const Integration = lazy(() => import('../pages/protected/Integration')) +// const Calendar = lazy(() => import('../pages/protected/Calendar')) +// const Team = lazy(() => import('../pages/protected/Team')) +// const Transactions = lazy(() => import('../pages/protected/Transactions')) +// const Bills = lazy(() => import('../pages/protected/Bills')) +// const ProfileSettings = lazy(() => import('../pages/protected/ProfileSettings')) +// const GettingStarted = lazy(() => import('../pages/GettingStarted')) +// const DocFeatures = lazy(() => import('../pages/DocFeatures')) +// const DocComponents = lazy(() => import('../pages/DocComponents')) + + +const routes = [ + { + path: route('dashboard'), // the url + component: Dashboard, // view rendered + }, + { + path: route('indexSantri'), // the url + component: Welcome, // view rendered + }, + { + path: route('indexManualPayment'), + component: Leads, + }, + // { + // path: '/settings-team', + // component: Team, + // }, + // { + // path: '/calendar', + // component: Calendar, + // }, + // { + // path: '/transactions', + // component: Transactions, + // }, + // { + // path: '/settings-profile', + // component: ProfileSettings, + // }, + // { + // path: '/settings-billing', + // component: Bills, + // }, + // { + // path: '/getting-started', + // component: GettingStarted, + // }, + // { + // path: '/features', + // component: DocFeatures, + // }, + // { + // path: '/components', + // component: DocComponents, + // }, + // { + // path: '/integration', + // component: Integration, + // }, + // { + // path: '/charts', + // component: Charts, + // }, + // { + // path: '/404', + // component: Page404, + // }, + // { + // path: '/blank', + // component: Blank, + // }, +] + +export default routes diff --git a/resources/js/Routes/sidebar.jsx b/resources/js/Routes/sidebar.jsx new file mode 100644 index 0000000..9110582 --- /dev/null +++ b/resources/js/Routes/sidebar.jsx @@ -0,0 +1,46 @@ +/** Icons are imported separatly to reduce build time */ +import BellIcon from '@heroicons/react/24/outline/BellIcon' +import DocumentTextIcon from '@heroicons/react/24/outline/DocumentTextIcon' +import Squares2X2Icon from '@heroicons/react/24/outline/Squares2X2Icon' +import TableCellsIcon from '@heroicons/react/24/outline/TableCellsIcon' +import WalletIcon from '@heroicons/react/24/outline/WalletIcon' +import CodeBracketSquareIcon from '@heroicons/react/24/outline/CodeBracketSquareIcon' +import DocumentIcon from '@heroicons/react/24/outline/DocumentIcon' +import ExclamationTriangleIcon from '@heroicons/react/24/outline/ExclamationTriangleIcon' +import CalendarDaysIcon from '@heroicons/react/24/outline/CalendarDaysIcon' +import ArrowRightOnRectangleIcon from '@heroicons/react/24/outline/ArrowRightOnRectangleIcon' +import UserIcon from '@heroicons/react/24/outline/UserIcon' +import Cog6ToothIcon from '@heroicons/react/24/outline/Cog6ToothIcon' +import BoltIcon from '@heroicons/react/24/outline/BoltIcon' +import ChartBarIcon from '@heroicons/react/24/outline/ChartBarIcon' +import CurrencyDollarIcon from '@heroicons/react/24/outline/CurrencyDollarIcon' +import InboxArrowDownIcon from '@heroicons/react/24/outline/InboxArrowDownIcon' +import UsersIcon from '@heroicons/react/24/outline/UsersIcon' +import KeyIcon from '@heroicons/react/24/outline/KeyIcon' +import DocumentDuplicateIcon from '@heroicons/react/24/outline/DocumentDuplicateIcon' + +const iconClasses = `h-6 w-6` +const submenuIconClasses = `h-5 w-5` + +const routes = [ + + { + path: route('dashboard'), + icon: , + name: 'Dashboard', + }, + { + path: route('indexSantri'), + icon: , // icon component + name: 'Data Santri', // name that appear in Sidebar + }, + { + path: route('indexManualPayment'), // url + icon: , // icon component + name: 'Data Pembayaran', // name that appear in Sidebar + }, +] + +export default routes + + diff --git a/resources/js/app.jsx b/resources/js/app.jsx index c150780..4310d44 100644 --- a/resources/js/app.jsx +++ b/resources/js/app.jsx @@ -1,11 +1,27 @@ import './bootstrap'; import '../css/app.css'; +import React, { lazy, useEffect } from 'react' import { createRoot } from 'react-dom/client'; import { createInertiaApp } from '@inertiajs/react'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; +import store from '../js/Auth/store'; +import { Provider } from 'react-redux'; +import { BrowserRouter } from 'react-router-dom'; +import Header from '@/Components/Header'; +import LeftSidebar from '@/Components/LeftSidebar'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; +const Layout = lazy(() => import('./Components/Layout')) +// const Login = lazy(() => import('./pages/Login')) +// const ForgotPassword = lazy(() => import('./pages/ForgotPassword')) +// const Register = lazy(() => import('./pages/Register')) +// const Documentation = lazy(() => import('./pages/Documentation')) + +useEffect(() => { + // 👆 daisy UI themes initialization + themeChange(false) +}, []) createInertiaApp({ title: (title) => `${title} - ${appName}`, @@ -13,9 +29,19 @@ createInertiaApp({ setup({ el, App, props }) { const root = createRoot(el); - root.render(); + root.render( + + +
    + + + + + ); }, progress: { color: '#4B5563', }, }); + +// export default App \ No newline at end of file diff --git a/resources/js/index.css b/resources/js/index.css new file mode 100644 index 0000000..f438917 --- /dev/null +++ b/resources/js/index.css @@ -0,0 +1,32 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +.loading-indicator:before { + content: ''; + background: #00000080; + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 1000; + } + + .loading-indicator:after { + content: ' '; + position: fixed; + top: 40%; + left: 45%; + z-index: 10010; + color:white; + text-align:center; + font-weight:bold; + font-size:1.2rem; + border: 16px solid #f3f3f3; /* Light grey */ + border-top: 16px solid #0474bf; /* Blue */ + border-radius: 50%; + width: 120px; + height: 120px; + animation: spin 2s linear infinite; +} \ No newline at end of file diff --git a/resources/js/reportWebVitals.jsx b/resources/js/reportWebVitals.jsx new file mode 100644 index 0000000..5253d3a --- /dev/null +++ b/resources/js/reportWebVitals.jsx @@ -0,0 +1,13 @@ +const reportWebVitals = onPerfEntry => { + if (onPerfEntry && onPerfEntry instanceof Function) { + import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { + getCLS(onPerfEntry); + getFID(onPerfEntry); + getFCP(onPerfEntry); + getLCP(onPerfEntry); + getTTFB(onPerfEntry); + }); + } +}; + +export default reportWebVitals; diff --git a/resources/js/store.js b/resources/js/store.js new file mode 100644 index 0000000..1decc15 --- /dev/null +++ b/resources/js/store.js @@ -0,0 +1,16 @@ +import { configureStore } from '@reduxjs/toolkit' +import headerSlice from '../features/common/headerSlice' +import modalSlice from '../features/common/modalSlice' +import rightDrawerSlice from '../features/common/rightDrawerSlice' +import leadsSlice from '../features/leads/leadSlice' + +const combinedReducer = { + header : headerSlice, + rightDrawer : rightDrawerSlice, + modal : modalSlice, + lead : leadsSlice +} + +export default configureStore({ + reducer: combinedReducer +}) \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 24c14bd..8fa62a2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -36,12 +36,13 @@ // payment type Route::get('/data-payment-type', [PaymentTypeController::class, 'index'])->name('indexPaymentType'); -Route::post('addpayment_types', [PaymentTypeController::class, 'store'])->name('storePaymentType'); +Route::post('/addpayment_types', [PaymentTypeController::class, 'store'])->name('storePaymentType'); Route::post('/updatepayment_types/{id}', [PaymentTypeController::class, 'update'])->name('updatePaymentType'); Route::post('/deletepayment_types/{id}', [PaymentTypeController::class, 'destroy'])->name('deletePaymentType'); // manual payment -Route::get('index-manual-payment', [PaymentController::class, 'indexManualPayment'])->name('indexManualPayment'); +Route::get('/index-manual-payment', [PaymentController::class, 'indexManualPayment'])->name('indexManualPayment'); +Route::post('/updatepayments/{paymentId}', [PaymentController::class, 'manualPayment'])->name('manualPayment'); Route::get('/dashboard', function () { return Inertia::render('Dashboard');