Mostrando entradas con la etiqueta Jetstream. Mostrar todas las entradas
Mostrando entradas con la etiqueta Jetstream. Mostrar todas las entradas

Jetstream alpine (uso de las librerías JS de Alpine)

Al final de nuestro resources\views\layouts\app.blade.php antes del cerrar el body:
function dropdownLSG() {
   return {
     mostrar:false,
     mostrarlo() {
     if (this.mostrar) {
         this.mostrar = false;
         // habilitar el scroll
         document.getElementsByTagName('html')[0].style.overflow = 'auto';
     }
     else {
         this.mostrar = true;
         // deshabilitar el scroll
         document.getElementsByTagName('html')[0].style.overflow = 'hidden';
     }
   },
   cerrar() {
     this.mostrar = false;
     // habilitar el scroll
     document.getElementsByTagName('html')[0].style.overflow = 'auto';
   }
}
}

Y ya en la view que estemos llamar a los métodos Alpine llamar a métodos o usar variables:
x-on:click="mostrarlo()
x-data="dropdownLSG()"
x-on:click.away="cerrar()"
x-show="mostrar" <-- esa capa se muestra o no dependiendo si la variable está a true o false -->
Creación de clases dinámicas:
<!-- aplicará solo esas clases cuando el valor de mostrar sea true -->
<a :class="{'bg-opacity-100 text-orange-500': mostrar }"

Crear un proyecto con Jetstream

Jetstream es una aplicación que al instalarla te instala Tailwind CSS, Livewire y el scaffolding de Inertia.

Si no lo tienes instalado de antes:
composer require laravel/jetstream Para crear un proyecto con Jetstream:
laravel new blog_coders --jet Elegir:
0
no
Entramos dentro de la carperta creada.
npm install
npm run dev
php artisan migrate


Para poder usar Livewire hay q añadir sus css y sus js en resources\views\welcome.blade.php:
<head>
...
@livewireStyles
</head>
...
<body>
...
@livewireScripts
</body>

Para crear un componente de Livewire: php artisan make:livewire contador
En app\Http\Livewire\Contador.php:
public $count = 0;
public function incrementar() {
$this->count++;
}

En resources\views\livewire\contador.blade.php:
<div>
<h1>Hola mundo </h1>
<button wire:click='incrementar'>Aumentar valor </button>
<h2>{{ $count }} </h2>
</div>

Y llamar a este componente livewire desde nuestra vista resources\views\welcome.blade.php:
<livewire:contador>