mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-03-31 15:07:47 +01:00
244 lines
12 KiB
Twig
244 lines
12 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block title %}Adapters{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="mb-8">
|
|
<h1 class="section-title">Notification Adapters</h1>
|
|
<p class="section-subtitle">PHPFlasher supports multiple notification libraries. Choose your favorite!</p>
|
|
</div>
|
|
|
|
<div class="space-y-8">
|
|
{# Flasher (Default) #}
|
|
<div class="card">
|
|
<div class="h-2 bg-gradient-to-r from-indigo-500 to-purple-500"></div>
|
|
<div class="card-body">
|
|
<div class="flex items-center space-x-3 mb-4">
|
|
<div class="p-3 bg-indigo-100 rounded-xl">
|
|
<svg class="w-8 h-8 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h2 class="text-2xl font-bold text-gray-800">Flasher</h2>
|
|
<p class="text-gray-500">Default adapter with 17+ themes</p>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="text-gray-600 mb-4">The default PHPFlasher adapter with beautiful built-in themes. No additional JavaScript libraries required.</p>
|
|
|
|
<div class="flex flex-wrap gap-2 mb-6">
|
|
<button onclick="showNotification({type: 'success', message: 'This is the default Flasher notification!', adapter: 'flasher'})"
|
|
class="btn btn-success">Success</button>
|
|
<button onclick="showNotification({type: 'error', message: 'Error notification with Flasher', adapter: 'flasher'})"
|
|
class="btn btn-danger">Error</button>
|
|
<button onclick="showNotification({type: 'warning', message: 'Warning notification with Flasher', adapter: 'flasher'})"
|
|
class="btn btn-warning">Warning</button>
|
|
<button onclick="showNotification({type: 'info', message: 'Info notification with Flasher', adapter: 'flasher'})"
|
|
class="btn btn-info">Info</button>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Installation</span></div>
|
|
<pre class="!m-0"><code class="language-bash">composer require php-flasher/flasher-symfony</code></pre>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Usage</span></div>
|
|
<pre class="!m-0"><code class="language-php">flash()->success('Operation completed!');</code></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{# Toastr #}
|
|
<div class="card">
|
|
<div class="h-2 bg-gradient-to-r from-sky-500 to-blue-500"></div>
|
|
<div class="card-body">
|
|
<div class="flex items-center space-x-3 mb-4">
|
|
<div class="p-3 bg-sky-100 rounded-xl">
|
|
<svg class="w-8 h-8 text-sky-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"></path>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h2 class="text-2xl font-bold text-gray-800">Toastr</h2>
|
|
<p class="text-gray-500">Simple, elegant toast notifications</p>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="text-gray-600 mb-4">Classic toast notifications with smooth animations. One of the most popular notification libraries.</p>
|
|
|
|
<div class="flex flex-wrap gap-2 mb-6">
|
|
<button onclick="showNotification({type: 'success', message: 'Toastr success notification!', adapter: 'toastr'})"
|
|
class="btn btn-success">Success</button>
|
|
<button onclick="showNotification({type: 'error', message: 'Toastr error notification!', adapter: 'toastr'})"
|
|
class="btn btn-danger">Error</button>
|
|
<button onclick="showNotification({type: 'warning', message: 'Toastr warning notification!', adapter: 'toastr'})"
|
|
class="btn btn-warning">Warning</button>
|
|
<button onclick="showNotification({type: 'info', message: 'Toastr info notification!', adapter: 'toastr'})"
|
|
class="btn btn-info">Info</button>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Installation</span></div>
|
|
<pre class="!m-0"><code class="language-bash">composer require php-flasher/flasher-toastr-symfony</code></pre>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Usage</span></div>
|
|
<pre class="!m-0"><code class="language-php">toastr()->success('Data saved successfully!');
|
|
|
|
// With options
|
|
toastr()
|
|
->closeButton()
|
|
->progressBar()
|
|
->positionClass('toast-top-right')
|
|
->success('Profile updated!');</code></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{# SweetAlert #}
|
|
<div class="card">
|
|
<div class="h-2 bg-gradient-to-r from-pink-500 to-rose-500"></div>
|
|
<div class="card-body">
|
|
<div class="flex items-center space-x-3 mb-4">
|
|
<div class="p-3 bg-pink-100 rounded-xl">
|
|
<svg class="w-8 h-8 text-pink-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h2 class="text-2xl font-bold text-gray-800">SweetAlert 2</h2>
|
|
<p class="text-gray-500">Beautiful, responsive, customizable alerts</p>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="text-gray-600 mb-4">Feature-rich modal dialogs with confirmations, inputs, and beautiful animations. Perfect for important user interactions.</p>
|
|
|
|
<div class="flex flex-wrap gap-2 mb-6">
|
|
<button onclick="showNotification({type: 'success', message: 'SweetAlert success!', title: 'Success', adapter: 'sweetalert'})"
|
|
class="btn btn-success">Success</button>
|
|
<button onclick="showNotification({type: 'error', message: 'SweetAlert error message', title: 'Error', adapter: 'sweetalert'})"
|
|
class="btn btn-danger">Error</button>
|
|
<button onclick="showNotification({type: 'warning', message: 'Are you sure you want to proceed?', title: 'Warning', adapter: 'sweetalert'})"
|
|
class="btn btn-warning">Warning</button>
|
|
<button onclick="showNotification({type: 'info', message: 'Here is some information', title: 'Info', adapter: 'sweetalert'})"
|
|
class="btn btn-info">Info</button>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Installation</span></div>
|
|
<pre class="!m-0"><code class="language-bash">composer require php-flasher/flasher-sweetalert-symfony</code></pre>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Usage</span></div>
|
|
<pre class="!m-0"><code class="language-php">sweetalert()->success('Great job!', 'Success');
|
|
|
|
// Confirmation dialog
|
|
sweetalert()
|
|
->showDenyButton()
|
|
->showCancelButton()
|
|
->confirmButtonText('Save')
|
|
->denyButtonText("Don't save")
|
|
->warning('Do you want to save the changes?');</code></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{# Noty #}
|
|
<div class="card">
|
|
<div class="h-2 bg-gradient-to-r from-emerald-500 to-teal-500"></div>
|
|
<div class="card-body">
|
|
<div class="flex items-center space-x-3 mb-4">
|
|
<div class="p-3 bg-emerald-100 rounded-xl">
|
|
<svg class="w-8 h-8 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h2 class="text-2xl font-bold text-gray-800">Noty</h2>
|
|
<p class="text-gray-500">Dependency-free notification library</p>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="text-gray-600 mb-4">A flexible, dependency-free notification library with multiple layouts and themes.</p>
|
|
|
|
<div class="flex flex-wrap gap-2 mb-6">
|
|
<button onclick="showNotification({type: 'success', message: 'Noty success notification!', adapter: 'noty'})"
|
|
class="btn btn-success">Success</button>
|
|
<button onclick="showNotification({type: 'error', message: 'Noty error notification!', adapter: 'noty'})"
|
|
class="btn btn-danger">Error</button>
|
|
<button onclick="showNotification({type: 'warning', message: 'Noty warning notification!', adapter: 'noty'})"
|
|
class="btn btn-warning">Warning</button>
|
|
<button onclick="showNotification({type: 'info', message: 'Noty info notification!', adapter: 'noty'})"
|
|
class="btn btn-info">Info</button>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Installation</span></div>
|
|
<pre class="!m-0"><code class="language-bash">composer require php-flasher/flasher-noty-symfony</code></pre>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Usage</span></div>
|
|
<pre class="!m-0"><code class="language-php">noty()->success('Data saved!');
|
|
|
|
// With layout options
|
|
noty()
|
|
->layout('topCenter')
|
|
->timeout(3000)
|
|
->progressBar()
|
|
->info('Processing your request...');</code></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{# Notyf #}
|
|
<div class="card">
|
|
<div class="h-2 bg-gradient-to-r from-amber-500 to-orange-500"></div>
|
|
<div class="card-body">
|
|
<div class="flex items-center space-x-3 mb-4">
|
|
<div class="p-3 bg-amber-100 rounded-xl">
|
|
<svg class="w-8 h-8 text-amber-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h2 class="text-2xl font-bold text-gray-800">Notyf</h2>
|
|
<p class="text-gray-500">Minimalist, responsive notifications</p>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="text-gray-600 mb-4">A minimalist JavaScript library for toast notifications. Tiny footprint with smooth animations.</p>
|
|
|
|
<div class="flex flex-wrap gap-2 mb-6">
|
|
<button onclick="showNotification({type: 'success', message: 'Notyf success notification!', adapter: 'notyf'})"
|
|
class="btn btn-success">Success</button>
|
|
<button onclick="showNotification({type: 'error', message: 'Notyf error notification!', adapter: 'notyf'})"
|
|
class="btn btn-danger">Error</button>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Installation</span></div>
|
|
<pre class="!m-0"><code class="language-bash">composer require php-flasher/flasher-notyf-symfony</code></pre>
|
|
</div>
|
|
|
|
<div class="code-block">
|
|
<div class="code-header"><span>Usage</span></div>
|
|
<pre class="!m-0"><code class="language-php">notyf()->success('Minimal and clean!');
|
|
|
|
// With options
|
|
notyf()
|
|
->position('x', 'right')
|
|
->position('y', 'top')
|
|
->dismissible(true)
|
|
->ripple(true)
|
|
->success('File uploaded successfully!');</code></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|