tenancy-docs/source/docs/v3/integrations/livewire.blade.md
2022-06-21 13:46:42 -03:00

60 lines
1.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Livewire integration
extends: _layouts.documentation
section: content
---
# Livewire {#livewire}
Open the `config/livewire.php` file and change this:
```php
'middleware_group' => ['web'],
```
to this:
```php
'middleware_group' => [
'web',
'universal',
InitializeTenancyByDomain::class, // or whatever tenancy middleware you use
],
```
(Don't forget to import the middleware class.)
Now you can use Livewire both in the central app and the tenant app.
Also make sure to enable [universal routes]({{ $page->link('features/universal-routes') }}).
And if you're using file uploads, read the [Real-time facades]({{ $page->link('realtime-facades') }}) page of the documentation. Livewire uses real-time facades in the uploading logic.
if you are using InitializeTenancyByPath and Livewire
you wil need
config/livewire.php
```
'middleware_group' => [
'web',
InitializeTenancyByPath::class, // or whatever tenancy middleware you use
],
```
add in the tenant route group
```
Route::post('livewire/message/{name}', [HttpConnectionHandler::class, '__invoke']);
```
In Blade just after @livewireScripts:
```
@livewireScripts
<script>
window.livewire_app_url = '{{ tenant()->id}}';
</script>
```
And in case you are wondering about the config of Livewire, there is no need to change it. Just leave it as it is; null:
```
'asset_url' => null,
```