diff --git a/app/Http/Controllers/GeneralController.php b/app/Http/Controllers/GeneralController.php index c75cc43..c56be3a 100644 --- a/app/Http/Controllers/GeneralController.php +++ b/app/Http/Controllers/GeneralController.php @@ -3,6 +3,8 @@ namespace App\Http\Controllers; use App\Models\Customer; +use App\Models\CustomerPoint; +use Illuminate\Support\Facades\DB; class GeneralController extends Controller { @@ -17,4 +19,16 @@ class GeneralController extends Controller { return inertia('Maintance'); } + + public function reset() + { + DB::beginTransaction(); + CustomerPoint::truncate(); + Customer::truncate(); + DB::commit(); + + + return redirect()->route('setting.index') + ->with('message', ['type' => 'success', 'message' => 'All data has been reset']); + } } diff --git a/resources/js/Components/Button.jsx b/resources/js/Components/Button.jsx index 573db10..cd02e83 100644 --- a/resources/js/Components/Button.jsx +++ b/resources/js/Components/Button.jsx @@ -1,31 +1,29 @@ -import { Spinner } from "flowbite-react"; -import React from "react"; +import { Spinner } from 'flowbite-react' +import React from 'react' -export default function Button({ children, type = "", processing, onClick }) { - let className = "" - if(type === "" || type === "primary") { - className = "text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 focus:outline-none dark:focus:ring-blue-800" - } else if (type === "secondary") { - className = "text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-600 dark:focus:ring-gray-700" +export default function Button({ children, type = '', processing, onClick }) { + let className = '' + if (type === '' || type === 'primary') { + className = + 'text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 focus:outline-none dark:focus:ring-blue-800' + } else if (type === 'secondary') { + className = + 'text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-600 dark:focus:ring-gray-700' + } else if (type === 'danger') { + className = + 'focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900' } return ( - ) -} \ No newline at end of file +} diff --git a/resources/js/Pages/Setting/Index.jsx b/resources/js/Pages/Setting/Index.jsx index 6dc5892..e38bcaa 100644 --- a/resources/js/Pages/Setting/Index.jsx +++ b/resources/js/Pages/Setting/Index.jsx @@ -1,10 +1,12 @@ import React from 'react' +import { Head, useForm, router } from '@inertiajs/react' +import { isEmpty } from 'lodash' + +import { useModalState } from '@/hooks' import AuthenticatedLayout from '@/Layouts/AuthenticatedLayout' import FormInput from '@/Components/FormInput' import Button from '@/Components/Button' -import { Head, useForm } from '@inertiajs/react' -import TextArea from '@/Components/TextArea' -import { isEmpty } from 'lodash' +import ModalConfirm from '@/Components/ModalConfirm' const extractValue = (set, key) => { const find = set.find((s) => s.key === key) @@ -39,6 +41,12 @@ export default function Setting(props) { post(route('setting.update')) } + const confirmModal = useModalState() + + const onReset = () => { + router.post(route('setting.reset')) + } + return ( +
+ +
+ +
+ +
diff --git a/routes/web.php b/routes/web.php index 69484cf..bd17c7c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -40,6 +40,7 @@ Route::middleware(['auth'])->group(function () { // Setting Route::get('/setting', [SettingController::class, 'index'])->name('setting.index'); Route::post('/setting', [SettingController::class, 'update'])->name('setting.update'); + Route::post('/setting/reset', [GeneralController::class, 'reset'])->name('setting.reset'); // Customer Route::get('/customers', [CustomerController::class, 'index'])->name('customer.index');