shieldforce/federal-filament-store

This is my package federal-filament-store

Installs: 13

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

pkg:composer/shieldforce/federal-filament-store

v1.2.13 2025-12-12 00:37 UTC

This package is auto-updated.

Last update: 2025-12-12 00:57:04 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Este plugin implementa checkout de pagamento interno e externo para o filament!

Instalação

Instalar Via Composer:

composer require shieldforce/federal-filament-store

Você precisa publicar as migrações, views e assets:

php artisan federal-filament-store:install

# Publicar as tabelas
php artisan vendor:publish --tag="federal-filament-store-migrations"
php artisan migrate

# Publicar a config
php artisan vendor:publish --tag="federal-filament-store-config"

# Publicar as views
php artisan vendor:publish --tag="federal-filament-store-views"

# Publicar as assets
php artisan vendor:publish --tag=federal-filament-store-assets --force

# Publicar os css
php artisan vendor:publish --tag=federal-filament-store-css --force

Algumas configurações obrigatórias

// Adicionar o plugin no AdminPanel plugins
->plugins([
    //... outros plugins
    \Shieldforce\FederalFilamentStore\FederalFilamentStorePlugin::make()
      ->setLabelGroupSidebar("Loja"),
])

// Criar p Middleware
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Schema;
use Symfony\Component\HttpFoundation\Response;

class SetStoreMiddleware
{
    public function handle(Request $request, Closure $next): Response
    {
        if($request->route() && str_contains($request->route()->getName(), "ffs-")) {
            $this->setPluginStore();
        }

        return $next($request);
    }

    public function setPluginStore()
    {
        if (
            Schema::hasTable('products') &&
            Schema::hasTable('categories') &&
            Schema::hasTable('products_categories')
        ) {
            $products = \App\Models\Product::with('categories')->get()->map(fn($p) => [
                'id'         => $p->id,
                'name'       => $p->name,
                'price'      => $p->price_main,
                'categories' => $p->categories->map(fn($c) => ['id' => $c->id, 'name' => $c->name])->toArray(),
                'image'      => $p->picture,
            ])->toArray();

            $categories = \App\Models\Category::all()->map(fn($c) => [
                'id'   => $c->id,
                'name' => $c->name,
            ])->toArray();

            config([
                'federal-filament-store.products_callback'   => $products,
                'federal-filament-store.categories_callback' => $categories,
            ]);
        }
    }
}
    
// Adicionar o middleware no AdminPanel em ->middlewares([]) para alimentar as paginas com informações locais
->middlewares([
    //...outros middlewares
    \App\Http\Middleware\SetStoreMiddleware::class
])

CSS

/*Precisa para paginação ter espaço entre texto e botões, 
pode colocar no vendor/filament/assets.blade.php, dentro da tag style*/
nav[aria-label="Pagination Navigation"]
> .sm\:flex-1.sm\:flex.sm\:items-center.sm\:justify-between
> div:last-child {
    margin-left: 2rem;
}

Changelog

Consulte CHANGELOG para obter mais informações sobre o que mudou recentemente.

Contributing

Consulte CONTRIBUTING para obter detalhes.

Security Vulnerabilities

Revise nossa política de segurança sobre como relatar vulnerabilidades de segurança.

Credits

License

A Licença do MIT (MIT). Consulte Arquivo de Licença para obter mais informações.