diff --git a/src/resources/views/crud/buttons/quick-confirm.blade.php b/src/resources/views/crud/buttons/quick-confirm.blade.php
new file mode 100644
index 0000000000..c3badc660a
--- /dev/null
+++ b/src/resources/views/crud/buttons/quick-confirm.blade.php
@@ -0,0 +1,163 @@
+@php
+ $access = (function() use ($crud, $button) {
+ if (isset($button->meta['access']) && $button->meta['access'] !== null && $button->meta['access'] !== false) {
+ return $button->meta['access'];
+ }
+ return !is_null($crud->get(Str::of($button->name)->studly().'.access')) ? Str::of($button->name)->studly() : $button->name;
+ })();
+ $icon = $button->meta['icon'] ?? '';
+ $label = $button->meta['label'] ?? Str::of($button->name)->headline();
+
+ $defaultHref = url($crud->route. ($entry?->getKey() ? '/'.$entry?->getKey().'/' : '/') . Str::of($button->name)->kebab());
+ $defaultClass = match ($button->stack) {
+ 'line' => 'btn btn-sm btn-link',
+ 'top' => 'btn btn-outline-primary',
+ 'bottom' => 'btn btn-sm btn-secondary',
+ default => 'btn btn-outline-primary',
+ };
+
+ $wrapper = $button->meta['wrapper'] ?? [];
+ $wrapper['element'] = $wrapper['element'] ?? 'a';
+ $wrapper['href'] = $wrapper['href'] ?? $defaultHref;
+ if (is_a($wrapper['href'], \Closure::class, true)) {
+ $wrapper['href'] = ($wrapper['href'])($entry, $crud);
+ }
+ $wrapper['class'] = $wrapper['class'] ?? $defaultClass;
+ //if ajax enabled
+ $buttonAjaxConfiguration = $button->meta['ajax'] ?? false;
+ if($buttonAjaxConfiguration) {
+ $wrapper['data-route'] = $wrapper['href'];
+ $wrapper['data-method'] = $button->meta['ajax']['method'] ?? 'GET';
+ $wrapper['data-refresh-table'] = $button->meta['ajax']['refreshCrudTable'] ?? false;
+
+ $wrapper['href'] = 'javascript:void(0)';
+ $wrapper['onclick'] = 'sendQuickConfirmButtonAjaxRequest(this)';
+ $wrapper['data-button-type'] = 'quick-confirm-ajax';
+
+ //success message
+ $wrapper['data-success-title'] = $button->meta['ajax']['success_title'] ?? trans('backpack::crud.quick_button_ajax_success_title');
+ $wrapper['data-success-message'] = $button->meta['ajax']['success_message'] ?? trans('backpack::crud.quick_button_ajax_success_message');
+ //error message
+ $wrapper['data-error-title'] = $button->meta['ajax']['error_title'] ?? trans('backpack::crud.quick_button_ajax_error_title');
+ $wrapper['data-error-message'] = $button->meta['ajax']['error_message'] ?? trans('backpack::crud.quick_button_ajax_error_message');
+
+ $wrapper['data-confirm'] = false;
+ if (isset($button->meta['ajax']['confirm'])) {
+ $wrapper['data-confirm'] = boolval($button->meta['ajax']['confirm']);
+ }
+ }
+ //endif ajax enabled
+@endphp
+
+@if ($access === true || $crud->hasAccess($access, isset($entry) ? $entry : null))
+ <{{ $wrapper['element'] }}
+ bp-button="{{ $button->name }}"
+ @foreach ($wrapper as $attribute => $value)
+ @if (is_string($attribute))
+ {{ $attribute }}="{{ $value }}"
+ @endif
+ @endforeach
+ >
+ @if ($icon) @endif
+ {{ $label }}
+ {{ $wrapper['element'] }}>
+@endif
+
+
+@if($buttonAjaxConfiguration)
+{{-- Button Javascript --}}
+{{-- Pushed to the end of the page, after jQuery is loaded --}}
+@push('after_scripts') @if (request()->ajax()) @endpush @endif
+@bassetBlock('backpack/crud/buttons/quick-confirm-button.js')
+
+@endBassetBlock
+@if (!request()->ajax()) @endpush @endif
+@endif