- How do I install and set up the support bubble in Laravel?
- Run `composer require spatie/laravel-support-bubble`, publish the assets with `php artisan vendor:publish --tag=support-bubble-assets`, and include the bubble in your Blade layout using `@include('support-bubble::bubble')`. Ensure TailwindCSS is loaded via CDN or your existing setup.
- Does this package work with Laravel 9 or 10?
- Yes, the package officially supports Laravel 8+. While it may work with Laravel 9 or 10, always check the [GitHub repo](https://github.com/spatie/laravel-support-bubble) for compatibility updates, as newer Laravel versions occasionally introduce breaking changes.
- Can I customize the bubble’s appearance beyond TailwindCSS?
- Absolutely. Publish the views with `php artisan vendor:publish --tag=support-bubble-views` to override the default Blade templates. You can also extend or replace the TailwindCSS classes by modifying the published assets or using your own CSS framework.
- How does the package handle spam submissions?
- The package includes a built-in honeypot field to deter spam. For additional security, consider integrating CAPTCHA (e.g., Google reCAPTCHA) via a custom event listener or middleware. The honeypot is configurable and can be adjusted in the published config file.
- Will the support bubble auto-detect logged-in users to avoid re-asking contact details?
- Yes, the package automatically detects logged-in users via Laravel’s authentication system and pre-fills their details in the support form. This reduces friction for returning users while still collecting metadata like URL, IP, and user agent.
- Can I store submissions in a database other than MySQL?
- The package uses Laravel’s Eloquent ORM and default migrations for storage, which work with MySQL, PostgreSQL, and SQLite. For alternative databases (e.g., MongoDB), you’d need to extend the `SupportBubble` model or use event listeners to redirect submissions to an external API.
- How do I trigger custom logic when a support form is submitted?
- Use Laravel’s event system. Listen for the `SupportBubbleSubmitted` event in your `EventServiceProvider` or via a listener. This allows you to integrate with CRMs, analytics tools, or workflows (e.g., sending Slack alerts) without modifying the package’s core logic.
- Does the package support multilingual applications?
- The package includes translation files for easy localization. Publish them with `php artisan vendor:publish --tag=support-bubble-translations` and add your language files to the `resources/lang` directory. Defaults to English, so you’ll need to translate strings manually for other languages.
- Can I dynamically show/hide the bubble based on user roles or page conditions?
- Yes, use Blade conditionals or JavaScript to control visibility. For example, wrap the `@include` directive in `@auth` or `@if(Request::is('checkout'))` logic. For dynamic behavior (e.g., hiding after submission), use Alpine.js or vanilla JS to toggle the bubble’s visibility.
- What are the alternatives to this package for Laravel support forms?
- Alternatives include `spatie/laravel-contact-form` (for standalone forms), `beberlei/laravel-forms` (for complex forms), or third-party services like Tawk.to or Zendesk’s embeddable widgets. Unlike this package, alternatives may lack built-in spam protection or Laravel-specific optimizations like auto-logged-in user detection.