new gui layout for pricing
@@ -23,6 +23,7 @@ class PlatformDashboardController extends Controller
|
||||
'paymentsTotal' => Payment::where('status', 'paid')->sum('amount'),
|
||||
'warehousesCount' => Warehouse::count(),
|
||||
'pricesCount' => PlatformPrice::count(),
|
||||
'prices' => PlatformPrice::query()->ordered()->limit(3)->get(),
|
||||
'companies' => Company::withCount(['users', 'warehouses', 'licenseKeys'])->latest()->limit(8)->get(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -1,29 +1,6 @@
|
||||
<x-layouts::app :title="__('Platform')">
|
||||
<div class="space-y-6">
|
||||
<section class="overflow-hidden rounded-3xl bg-gradient-to-br from-slate-950 via-slate-900 to-cyan-950 p-6 text-white shadow-xl sm:p-8">
|
||||
<div class="flex flex-col gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<p class="text-sm font-semibold uppercase tracking-[0.3em] text-cyan-300">MPBA WMS</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-5xl">Platform administration</h1>
|
||||
<p class="mt-3 max-w-2xl text-slate-300">Manage tenant companies, licences, payments, warehouses and internal API operations from one resilient control plane.</p>
|
||||
</div>
|
||||
<div class="grid gap-3 sm:min-w-80 sm:grid-cols-2">
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur">
|
||||
<p class="text-sm text-slate-300">System status</p>
|
||||
<p class="mt-2 flex items-center gap-2 text-2xl font-bold text-emerald-300">
|
||||
<i class="fa-solid fa-heart-pulse" aria-hidden="true"></i>
|
||||
OK
|
||||
</p>
|
||||
</div>
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur">
|
||||
<p class="text-sm text-slate-300">Paid £</p>
|
||||
<p class="mt-2 text-2xl font-bold">{{ number_format($paymentsTotal / 100, 2) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="grid gap-4 sm:grid-cols-2 xl:grid-cols-4">
|
||||
<section class="grid gap-4 sm:grid-cols-2 xl:grid-cols-5">
|
||||
@foreach ([['Companies', $companiesCount], ['Active', $activeCompaniesCount], ['Warehouses', $warehousesCount], ['Prices', $pricesCount], ['Licences', $licensesCount]] as [$label, $value])
|
||||
<article class="rounded-2xl border border-zinc-200 bg-white p-5 shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400">{{ $label }}</p>
|
||||
@@ -32,13 +9,83 @@
|
||||
@endforeach
|
||||
</section>
|
||||
|
||||
<section class="rounded-3xl border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<div class="flex flex-col gap-3 border-b border-zinc-200 p-5 sm:flex-row sm:items-center sm:justify-between dark:border-zinc-800">
|
||||
<div>
|
||||
<p class="text-xs font-bold uppercase tracking-[0.28em] text-cyan-500">Platform</p>
|
||||
<h2 class="mt-2 text-xl font-bold text-zinc-900 dark:text-white">Pricing plans</h2>
|
||||
<p class="text-sm text-zinc-500">Customer-facing Basic, Advanced and Pro plan cards shown under Platform.</p>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<a href="{{ route('platform.pricing.index') }}" wire:navigate class="rounded-xl border border-zinc-200 px-4 py-2 text-sm font-semibold text-zinc-700 hover:border-cyan-400 hover:text-cyan-700 dark:border-zinc-700 dark:text-zinc-200">
|
||||
View pricing
|
||||
</a>
|
||||
<a href="{{ route('platform.prices.index') }}" wire:navigate class="rounded-xl bg-cyan-500 px-4 py-2 text-sm font-bold text-slate-950 hover:bg-cyan-400">
|
||||
Manage prices
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5 p-5 lg:grid-cols-3">
|
||||
@forelse ($prices as $price)
|
||||
@php
|
||||
$isBasic = $price->code === 'basic';
|
||||
$isAdvanced = $price->code === 'advanced';
|
||||
$headerClass = $isAdvanced
|
||||
? 'from-cyan-500 to-blue-600'
|
||||
: ($isBasic ? 'from-slate-700 to-slate-950' : 'from-indigo-600 to-violet-700');
|
||||
$features = array_slice($price->featureRows(), 0, 3);
|
||||
@endphp
|
||||
|
||||
<article class="overflow-hidden rounded-3xl border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-950">
|
||||
<div class="bg-gradient-to-br {{ $headerClass }} p-5 text-white">
|
||||
<div class="flex items-start justify-between gap-4">
|
||||
<div>
|
||||
<p class="text-xs font-bold uppercase tracking-[0.24em] text-white/70">{{ $price->badge_label ?: 'Plan' }}</p>
|
||||
<h3 class="mt-2 text-2xl font-black tracking-tight">{{ $price->name }}</h3>
|
||||
</div>
|
||||
<span class="grid h-11 w-11 place-items-center rounded-2xl bg-white/15 text-lg backdrop-blur">
|
||||
<i class="fa-solid {{ $isBasic ? 'fa-box' : ($isAdvanced ? 'fa-layer-group' : 'fa-crown') }}" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
<p class="mt-3 text-sm leading-6 text-white/80">{{ $price->strapline }}</p>
|
||||
</div>
|
||||
|
||||
<div class="p-5">
|
||||
<div class="flex items-end gap-2">
|
||||
<span class="text-3xl font-black tracking-tight text-zinc-950 dark:text-white">{{ $price->formatAmount($price->monthly_amount) }}</span>
|
||||
<span class="pb-1 text-xs font-semibold text-zinc-500">/ month</span>
|
||||
</div>
|
||||
<p class="mt-3 line-clamp-2 text-sm leading-6 text-zinc-600 dark:text-zinc-300">{{ $price->description }}</p>
|
||||
|
||||
<ul class="mt-4 space-y-2 text-sm text-zinc-700 dark:text-zinc-200">
|
||||
@foreach ($features as $feature)
|
||||
<li class="flex gap-3">
|
||||
<i class="fa-solid fa-check mt-1 text-cyan-500" aria-hidden="true"></i>
|
||||
<span>{{ $feature }}</span>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
@empty
|
||||
<article class="rounded-2xl border border-dashed border-zinc-300 p-6 text-sm text-zinc-500 dark:border-zinc-700 lg:col-span-3">
|
||||
No platform pricing plans have been published yet.
|
||||
</article>
|
||||
@endforelse
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="rounded-2xl border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<div class="flex flex-col gap-3 border-b border-zinc-200 p-5 sm:flex-row sm:items-center sm:justify-between dark:border-zinc-800">
|
||||
<div>
|
||||
<h2 class="text-lg font-semibold text-zinc-900 dark:text-white">Recent companies</h2>
|
||||
<p class="text-sm text-zinc-500">Tenant isolation is enforced by company ownership on every warehouse record.</p>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2"><a href="{{ route('platform.prices.index') }}" wire:navigate class="rounded-lg border border-zinc-200 px-4 py-2 text-sm font-semibold text-zinc-700 hover:border-cyan-400 hover:text-cyan-700 dark:border-zinc-700 dark:text-zinc-200">Manage prices</a><a href="{{ route('platform.companies.index') }}" wire:navigate class="rounded-lg bg-zinc-900 px-4 py-2 text-sm font-semibold text-white dark:bg-white dark:text-zinc-900">Manage companies</a></div>
|
||||
<a href="{{ route('platform.companies.index') }}" wire:navigate class="rounded-lg bg-zinc-900 px-4 py-2 text-sm font-semibold text-white dark:bg-white dark:text-zinc-900">
|
||||
Manage companies
|
||||
</a>
|
||||
</div>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="min-w-full divide-y divide-zinc-200 text-sm dark:divide-zinc-800">
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
<x-layouts::app :title="__('Create Price')">
|
||||
<div class="space-y-6">
|
||||
<div class="flex flex-wrap items-center justify-between gap-3">
|
||||
<p class="text-sm font-semibold text-zinc-500 dark:text-zinc-400">
|
||||
Add a new platform pricing card with billing values, feature bullets and status controls.
|
||||
</p>
|
||||
<section class="overflow-hidden rounded-3xl bg-gradient-to-br from-slate-950 via-slate-900 to-cyan-950 p-6 text-white shadow-xl sm:p-8">
|
||||
<div class="flex flex-col gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<p class="text-sm font-semibold uppercase tracking-[0.3em] text-cyan-300">MPBA WMS</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-4xl">Create price</h1>
|
||||
<p class="mt-3 max-w-3xl text-base leading-7 text-slate-300">
|
||||
Add a professional pricing card with billing values, feature bullets and visibility controls.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<a href="{{ route('platform.prices.index') }}" wire:navigate class="rounded-xl border border-zinc-200 bg-white px-4 py-2 text-sm font-semibold text-zinc-700 shadow-sm hover:border-cyan-400 hover:text-cyan-700 dark:border-zinc-800 dark:bg-zinc-900 dark:text-zinc-200">
|
||||
Back to prices
|
||||
</a>
|
||||
</div>
|
||||
<a href="{{ route('platform.prices.index') }}" wire:navigate class="w-fit rounded-xl bg-white/10 px-4 py-2 text-sm font-semibold text-white ring-1 ring-white/15 hover:bg-white/15">
|
||||
Back to prices
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="rounded-3xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<form method="POST" action="{{ route('platform.prices.store') }}" class="space-y-6">
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
<x-layouts::app :title="__('Edit Price')">
|
||||
<div class="space-y-6">
|
||||
<div class="flex flex-wrap items-center justify-between gap-3">
|
||||
<p class="text-sm font-semibold text-zinc-500 dark:text-zinc-400">
|
||||
Update {{ $price->name }} pricing, feature list and visibility settings.
|
||||
</p>
|
||||
<section class="overflow-hidden rounded-3xl bg-gradient-to-br from-slate-950 via-slate-900 to-cyan-950 p-6 text-white shadow-xl sm:p-8">
|
||||
<div class="flex flex-col gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<p class="text-sm font-semibold uppercase tracking-[0.3em] text-cyan-300">MPBA WMS</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-4xl">Edit {{ $price->name }}</h1>
|
||||
<p class="mt-3 max-w-3xl text-base leading-7 text-slate-300">
|
||||
Update pricing, feature text and card visibility while keeping the platform pricing display consistent.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<a href="{{ route('platform.prices.index') }}" wire:navigate class="rounded-xl border border-zinc-200 bg-white px-4 py-2 text-sm font-semibold text-zinc-700 shadow-sm hover:border-cyan-400 hover:text-cyan-700 dark:border-zinc-800 dark:bg-zinc-900 dark:text-zinc-200">
|
||||
Back to prices
|
||||
</a>
|
||||
</div>
|
||||
<a href="{{ route('platform.prices.index') }}" wire:navigate class="w-fit rounded-xl bg-white/10 px-4 py-2 text-sm font-semibold text-white ring-1 ring-white/15 hover:bg-white/15">
|
||||
Back to prices
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="rounded-3xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<form method="POST" action="{{ route('platform.prices.update', $price) }}" class="space-y-6">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<x-layouts::app :title="__('Platform Pricing')">
|
||||
<x-layouts::app :title="__('Platform Prices')">
|
||||
<div class="space-y-6">
|
||||
<div class="flex flex-wrap items-center justify-between gap-3">
|
||||
<div>
|
||||
@@ -24,7 +24,7 @@
|
||||
@endif
|
||||
|
||||
<section class="grid gap-5 lg:grid-cols-3">
|
||||
@foreach ($prices as $price)
|
||||
@forelse ($prices as $price)
|
||||
@php
|
||||
$isBasic = $price->code === 'basic';
|
||||
$isAdvanced = $price->code === 'advanced';
|
||||
@@ -105,7 +105,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
@endforeach
|
||||
@empty
|
||||
<article class="rounded-3xl border border-dashed border-zinc-300 bg-white p-6 text-sm text-zinc-500 shadow-sm dark:border-zinc-700 dark:bg-zinc-900 lg:col-span-3">
|
||||
No pricing plans have been created yet.
|
||||
</article>
|
||||
@endforelse
|
||||
</section>
|
||||
</div>
|
||||
</x-layouts::app>
|
||||
|
||||
@@ -1,29 +1,5 @@
|
||||
<x-layouts::app :title="__('Pricing')">
|
||||
<div class="space-y-6">
|
||||
<section class="overflow-hidden rounded-3xl bg-gradient-to-br from-slate-950 via-slate-900 to-cyan-950 p-6 text-white shadow-xl sm:p-8">
|
||||
<div class="flex flex-col gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<p class="text-sm font-semibold uppercase tracking-[0.3em] text-cyan-300">Platform</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-5xl">Platform pricing</h1>
|
||||
<p class="mt-3 max-w-2xl text-slate-300">Choose the right WMS plan for warehouse visibility, operational control and enterprise-grade administration.</p>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-3 sm:min-w-80 sm:grid-cols-2">
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur">
|
||||
<p class="text-sm text-slate-300">Plans</p>
|
||||
<p class="mt-2 flex items-center gap-2 text-2xl font-bold text-emerald-300">
|
||||
<i class="fa-solid fa-layer-group" aria-hidden="true"></i>
|
||||
{{ $prices->count() }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur">
|
||||
<p class="text-sm text-slate-300">Billing</p>
|
||||
<p class="mt-2 text-2xl font-bold">Monthly</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="grid gap-5 lg:grid-cols-3">
|
||||
@forelse ($prices as $price)
|
||||
@php
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"laravel-best-practices",
|
||||
"configuring-horizon",
|
||||
"octane-development",
|
||||
"pennant-development",
|
||||
"fluxui-development",
|
||||
"livewire-development",
|
||||
"tailwindcss-development"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"laravel/horizon": "^5.47",
|
||||
"laravel/jetstream": "^5.5",
|
||||
"laravel/octane": "^2.17",
|
||||
"laravel/pennant": "^1.23",
|
||||
"laravel/tinker": "^3.0",
|
||||
"livewire/blaze": "^1.0",
|
||||
"livewire/flux": "^2.14",
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Pennant Store
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you will specify the default store that Pennant should use when
|
||||
| storing and resolving feature flag values. Pennant ships with the
|
||||
| ability to store flag values in an in-memory array or database.
|
||||
|
|
||||
| Supported: "array", "database"
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('PENNANT_STORE', 'database'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pennant Stores
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure each of the stores that should be available to
|
||||
| Pennant. These stores shall be used to store resolved feature flag
|
||||
| values - you may configure as many as your application requires.
|
||||
|
|
||||
*/
|
||||
|
||||
'stores' => [
|
||||
|
||||
'array' => [
|
||||
'driver' => 'array',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'driver' => 'database',
|
||||
'connection' => null,
|
||||
'table' => 'features',
|
||||
],
|
||||
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Laravel\Pennant\Migrations\PennantMigration;
|
||||
|
||||
return new class extends PennantMigration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('features', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->string('scope');
|
||||
$table->text('value');
|
||||
$table->timestamps();
|
||||
|
||||
$table->unique(['name', 'scope']);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('features');
|
||||
}
|
||||
};
|
||||
@@ -40,6 +40,8 @@
|
||||
<span data-wms-sidebar-label>{{ __('Dashboard') }}</span>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="wms-sidebar-group">
|
||||
@@ -228,61 +230,7 @@
|
||||
</aside>
|
||||
|
||||
<div class="wms-main-panel">
|
||||
@php
|
||||
$pageTitle = $title ?? __('Warehouse Management System');
|
||||
$pageDescription = match (true) {
|
||||
request()->routeIs('platform.dashboard') => __('Manage tenant companies, licences, payments, warehouses and internal API operations from one resilient control plane.'),
|
||||
request()->routeIs('platform.prices.index') => __('Choose, publish and maintain Basic, Advanced and Pro WMS pricing from one controlled platform screen.'),
|
||||
request()->routeIs('platform.prices.create') => __('Create a professional customer-facing pricing card with billing values, features and visibility controls.'),
|
||||
request()->routeIs('platform.prices.edit') => __('Update pricing, plan features and card visibility while preserving the live platform layout.'),
|
||||
request()->routeIs('platform.companies.*') => __('Manage tenant companies, ownership, users and the warehouse records attached to each organisation.'),
|
||||
request()->routeIs('platform.licenses.*') => __('Review licence allocation, account status and platform access across MPBA tenants.'),
|
||||
request()->routeIs('platform.payments.*') => __('Track payment activity, paid totals and tenant billing status from one administration screen.'),
|
||||
request()->routeIs('warehouses.*') => __('Maintain warehouse locations, operational details and company ownership records.'),
|
||||
request()->routeIs('inventory-management.*') => __('Monitor inventory activity, stock positions and warehouse item control.'),
|
||||
request()->routeIs('analytics.*') => __('Review operational insight, warehouse trends and management reporting.'),
|
||||
default => __('Manage tenant companies, licences, payments, warehouses and internal API operations from one resilient control plane.'),
|
||||
};
|
||||
|
||||
$pageStats = match (true) {
|
||||
request()->routeIs('platform.prices.*') => [
|
||||
['label' => __('Plans'), 'value' => '3', 'icon' => 'fa-layer-group'],
|
||||
['label' => __('Billing'), 'value' => __('Monthly'), 'icon' => null],
|
||||
],
|
||||
default => [
|
||||
['label' => __('System status'), 'value' => __('OK'), 'icon' => 'fa-heart-pulse'],
|
||||
['label' => __('Paid £'), 'value' => '0.00', 'icon' => null],
|
||||
],
|
||||
};
|
||||
@endphp
|
||||
|
||||
<main class="wms-content">
|
||||
<section class="wms-page-hero" aria-labelledby="wms-page-title">
|
||||
<div class="wms-page-hero-copy">
|
||||
<div class="wms-page-hero-kicker">{{ __('MPBA WMS') }}</div>
|
||||
<h1 id="wms-page-title" class="wms-page-hero-title">{{ $pageTitle }}</h1>
|
||||
<p class="wms-page-hero-description">{{ $pageDescription }}</p>
|
||||
</div>
|
||||
|
||||
<div class="wms-page-hero-actions">
|
||||
<button type="button" class="wms-hero-mobile-menu" data-wms-mobile-open aria-label="{{ __('Open navigation') }}">
|
||||
<i class="fa-solid fa-bars" aria-hidden="true"></i>
|
||||
</button>
|
||||
|
||||
@foreach ($pageStats as $stat)
|
||||
<div class="wms-page-hero-stat">
|
||||
<span>{{ $stat['label'] }}</span>
|
||||
<strong>
|
||||
@if (! empty($stat['icon']))
|
||||
<i class="fa-solid {{ $stat['icon'] }}" aria-hidden="true"></i>
|
||||
@endif
|
||||
{{ $stat['value'] }}
|
||||
</strong>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{ $slot }}
|
||||
</main>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,252 @@
|
||||
## Filament
|
||||
|
||||
- Filament is a Laravel UI framework built on Livewire, Alpine.js, and Tailwind CSS. UIs are defined in PHP via fluent, chainable components. Follow existing conventions in this app.
|
||||
- Use the ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ tool for official documentation on Artisan commands, code examples, testing, relationships, and idiomatic practices. If ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ is unavailable, refer to https://filamentphp.com/docs.
|
||||
|
||||
### Artisan
|
||||
|
||||
- Always use Filament-specific Artisan commands to create files. Find available commands with the ___SINGLE_BACKTICK___list-artisan-commands___SINGLE_BACKTICK___ tool, or run ___SINGLE_BACKTICK___php artisan --help___SINGLE_BACKTICK___.
|
||||
- Inspect required options before running, and always pass ___SINGLE_BACKTICK___--no-interaction___SINGLE_BACKTICK___.
|
||||
|
||||
### Patterns
|
||||
|
||||
Always use static ___SINGLE_BACKTICK___make()___SINGLE_BACKTICK___ methods to initialize components. Most configuration methods accept a ___SINGLE_BACKTICK___Closure___SINGLE_BACKTICK___ for dynamic values.
|
||||
|
||||
Use ___SINGLE_BACKTICK___Get $get___SINGLE_BACKTICK___ to read other form field values for conditional logic:
|
||||
|
||||
|
||||
<code-snippet name="Conditional form field visibility" lang="php">
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
|
||||
Select::make('type')
|
||||
->options(CompanyType::class)
|
||||
->required()
|
||||
->live(),
|
||||
|
||||
TextInput::make('company_name')
|
||||
->required()
|
||||
->visible(fn (Get $get): bool => $get('type') === 'business'),
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
Use ___SINGLE_BACKTICK___Set $set___SINGLE_BACKTICK___ inside ___SINGLE_BACKTICK___->afterStateUpdated()___SINGLE_BACKTICK___ on a ___SINGLE_BACKTICK___->live()___SINGLE_BACKTICK___ field to mutate another field reactively. Prefer ___SINGLE_BACKTICK___->live(onBlur: true)___SINGLE_BACKTICK___ on text inputs to avoid per-keystroke updates:
|
||||
|
||||
|
||||
<code-snippet name="Reactive field update" lang="php">
|
||||
use Filament\Schemas\Components\Utilities\Set;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
TextInput::make('title')
|
||||
->required()
|
||||
->live(onBlur: true)
|
||||
->afterStateUpdated(fn (Set $set, ?string $state) => $set(
|
||||
'slug',
|
||||
Str::slug($state ?? ''),
|
||||
)),
|
||||
|
||||
TextInput::make('slug')
|
||||
->required(),
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
Compose layout by nesting ___SINGLE_BACKTICK___Section___SINGLE_BACKTICK___ and ___SINGLE_BACKTICK___Grid___SINGLE_BACKTICK___. Children need explicit ___SINGLE_BACKTICK___->columnSpan()___SINGLE_BACKTICK___ or ___SINGLE_BACKTICK___->columnSpanFull()___SINGLE_BACKTICK___:
|
||||
|
||||
|
||||
<code-snippet name="Section and Grid layout" lang="php">
|
||||
use Filament\Schemas\Components\Grid;
|
||||
use Filament\Schemas\Components\Section;
|
||||
|
||||
Section::make('Details')
|
||||
->schema([
|
||||
Grid::make(2)->schema([
|
||||
TextInput::make('first_name')
|
||||
->columnSpan(1),
|
||||
TextInput::make('last_name')
|
||||
->columnSpan(1),
|
||||
TextInput::make('bio')
|
||||
->columnSpanFull(),
|
||||
]),
|
||||
]),
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
Use ___SINGLE_BACKTICK___Repeater___SINGLE_BACKTICK___ for inline ___SINGLE_BACKTICK___HasMany___SINGLE_BACKTICK___ management. ___SINGLE_BACKTICK___->relationship()___SINGLE_BACKTICK___ with no args binds to the relationship matching the field name:
|
||||
|
||||
|
||||
<code-snippet name="Repeater for HasMany" lang="php">
|
||||
use Filament\Forms\Components\Repeater;
|
||||
|
||||
Repeater::make('qualifications')
|
||||
->relationship()
|
||||
->schema([
|
||||
TextInput::make('institution')
|
||||
->required(),
|
||||
TextInput::make('qualification')
|
||||
->required(),
|
||||
])
|
||||
->columns(2),
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
Use ___SINGLE_BACKTICK___state()___SINGLE_BACKTICK___ with a ___SINGLE_BACKTICK___Closure___SINGLE_BACKTICK___ to compute derived column values:
|
||||
|
||||
|
||||
<code-snippet name="Computed table column value" lang="php">
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
|
||||
TextColumn::make('full_name')
|
||||
->state(fn (User $record): string => "{$record->first_name} {$record->last_name}"),
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
Use ___SINGLE_BACKTICK___SelectFilter___SINGLE_BACKTICK___ for enum or relationship filters, and ___SINGLE_BACKTICK___Filter___SINGLE_BACKTICK___ with a ___SINGLE_BACKTICK___->query()___SINGLE_BACKTICK___ closure for custom logic:
|
||||
|
||||
|
||||
<code-snippet name="Table filters" lang="php">
|
||||
use Filament\Tables\Filters\Filter;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
SelectFilter::make('status')
|
||||
->options(UserStatus::class),
|
||||
|
||||
SelectFilter::make('author')
|
||||
->relationship('author', 'name'),
|
||||
|
||||
Filter::make('verified')
|
||||
->query(fn (Builder $query) => $query->whereNotNull('email_verified_at')),
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
Actions are buttons that encapsulate optional modal forms and behavior:
|
||||
|
||||
|
||||
<code-snippet name="Action with modal form" lang="php">
|
||||
use Filament\Actions\Action;
|
||||
|
||||
Action::make('updateEmail')
|
||||
->schema([
|
||||
TextInput::make('email')
|
||||
->email()
|
||||
->required(),
|
||||
])
|
||||
->action(fn (array $data, User $record) => $record->update($data)),
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
### Testing
|
||||
|
||||
Testing setup (requires ___SINGLE_BACKTICK___pestphp/pest-plugin-livewire___SINGLE_BACKTICK___ in ___SINGLE_BACKTICK___composer.json___SINGLE_BACKTICK___):
|
||||
|
||||
- Always call ___SINGLE_BACKTICK___$this->actingAs(User::factory()->create())___SINGLE_BACKTICK___ before testing panel functionality.
|
||||
- For edit pages, pass ___SINGLE_BACKTICK___['record' => $user->id]___SINGLE_BACKTICK___, use ___SINGLE_BACKTICK___->call('save')___SINGLE_BACKTICK___ (not ___SINGLE_BACKTICK___->call('create')___SINGLE_BACKTICK___), and do not assert ___SINGLE_BACKTICK___->assertRedirect()___SINGLE_BACKTICK___ (edit pages do not redirect after save).
|
||||
|
||||
|
||||
<code-snippet name="Table test" lang="php">
|
||||
use function Pest\Livewire\livewire;
|
||||
|
||||
livewire(ListUsers::class)
|
||||
->assertCanSeeTableRecords($users)
|
||||
->searchTable($users->first()->name)
|
||||
->assertCanSeeTableRecords($users->take(1))
|
||||
->assertCanNotSeeTableRecords($users->skip(1));
|
||||
|
||||
</code-snippet>
|
||||
|
||||
<code-snippet name="Create resource test" lang="php">
|
||||
use function Pest\Laravel\assertDatabaseHas;
|
||||
|
||||
livewire(CreateUser::class)
|
||||
->fillForm([
|
||||
'name' => 'Test',
|
||||
'email' => 'test@example.com',
|
||||
])
|
||||
->call('create')
|
||||
->assertNotified()
|
||||
->assertHasNoFormErrors()
|
||||
->assertRedirect();
|
||||
|
||||
assertDatabaseHas(User::class, [
|
||||
'name' => 'Test',
|
||||
'email' => 'test@example.com',
|
||||
]);
|
||||
|
||||
</code-snippet>
|
||||
|
||||
<code-snippet name="Edit resource test" lang="php">
|
||||
livewire(EditUser::class, ['record' => $user->id])
|
||||
->fillForm(['name' => 'Updated'])
|
||||
->call('save')
|
||||
->assertNotified()
|
||||
->assertHasNoFormErrors();
|
||||
|
||||
assertDatabaseHas(User::class, [
|
||||
'id' => $user->id,
|
||||
'name' => 'Updated',
|
||||
]);
|
||||
|
||||
</code-snippet>
|
||||
|
||||
<code-snippet name="Testing validation" lang="php">
|
||||
livewire(CreateUser::class)
|
||||
->fillForm([
|
||||
'name' => null,
|
||||
'email' => 'invalid-email',
|
||||
])
|
||||
->call('create')
|
||||
->assertHasFormErrors([
|
||||
'name' => 'required',
|
||||
'email' => 'email',
|
||||
])
|
||||
->assertNotNotified();
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
Use ___SINGLE_BACKTICK___->callAction(DeleteAction::class)___SINGLE_BACKTICK___ for page actions, or ___SINGLE_BACKTICK___->callAction(TestAction::make('name')->table($record))___SINGLE_BACKTICK___ for table actions:
|
||||
|
||||
|
||||
<code-snippet name="Calling actions" lang="php">
|
||||
use Filament\Actions\Testing\TestAction;
|
||||
|
||||
livewire(ListUsers::class)
|
||||
->callAction(TestAction::make('promote')->table($user), [
|
||||
'role' => 'admin',
|
||||
])
|
||||
->assertNotified();
|
||||
|
||||
</code-snippet>
|
||||
|
||||
|
||||
### Correct Namespaces
|
||||
|
||||
- Form fields (___SINGLE_BACKTICK___TextInput___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Select___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Repeater___SINGLE_BACKTICK___, etc.): ___SINGLE_BACKTICK___Filament\Forms\Components\___SINGLE_BACKTICK___
|
||||
- Infolist entries (___SINGLE_BACKTICK___TextEntry___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___IconEntry___SINGLE_BACKTICK___, etc.): ___SINGLE_BACKTICK___Filament\Infolists\Components\___SINGLE_BACKTICK___
|
||||
- Layout components (___SINGLE_BACKTICK___Grid___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Section___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Fieldset___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Tabs___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Wizard___SINGLE_BACKTICK___, etc.): ___SINGLE_BACKTICK___Filament\Schemas\Components\___SINGLE_BACKTICK___
|
||||
- Schema utilities (___SINGLE_BACKTICK___Get___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Set___SINGLE_BACKTICK___, etc.): ___SINGLE_BACKTICK___Filament\Schemas\Components\Utilities\___SINGLE_BACKTICK___
|
||||
- Table columns (___SINGLE_BACKTICK___TextColumn___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___IconColumn___SINGLE_BACKTICK___, etc.): ___SINGLE_BACKTICK___Filament\Tables\Columns\___SINGLE_BACKTICK___
|
||||
- Table filters (___SINGLE_BACKTICK___SelectFilter___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Filter___SINGLE_BACKTICK___, etc.): ___SINGLE_BACKTICK___Filament\Tables\Filters\___SINGLE_BACKTICK___
|
||||
- Actions (___SINGLE_BACKTICK___DeleteAction___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___CreateAction___SINGLE_BACKTICK___, etc.): ___SINGLE_BACKTICK___Filament\Actions\___SINGLE_BACKTICK___. Never use ___SINGLE_BACKTICK___Filament\Tables\Actions\___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Filament\Forms\Actions\___SINGLE_BACKTICK___, or any other sub-namespace for actions.
|
||||
- Icons: ___SINGLE_BACKTICK___Filament\Support\Icons\Heroicon___SINGLE_BACKTICK___ enum (e.g., ___SINGLE_BACKTICK___Heroicon::PencilSquare___SINGLE_BACKTICK___)
|
||||
|
||||
### Common Mistakes
|
||||
|
||||
- **Never assume public file visibility.** File visibility is ___SINGLE_BACKTICK___private___SINGLE_BACKTICK___ by default. Always use ___SINGLE_BACKTICK___->visibility('public')___SINGLE_BACKTICK___ when public access is needed.
|
||||
- **Never assume full-width layout.** ___SINGLE_BACKTICK___Grid___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Section___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Fieldset___SINGLE_BACKTICK___, and ___SINGLE_BACKTICK___Repeater___SINGLE_BACKTICK___ do not span all columns by default.
|
||||
- **Use ___SINGLE_BACKTICK___Select::make('author_id')->relationship('author', 'name')___SINGLE_BACKTICK___ for BelongsTo fields.** ___SINGLE_BACKTICK___BelongsToSelect___SINGLE_BACKTICK___ does not exist in v4.
|
||||
- **___SINGLE_BACKTICK___Repeater___SINGLE_BACKTICK___ uses ___SINGLE_BACKTICK___->schema()___SINGLE_BACKTICK___, not ___SINGLE_BACKTICK___->fields()___SINGLE_BACKTICK___.**
|
||||
- **Never add ___SINGLE_BACKTICK___->dehydrated(false)___SINGLE_BACKTICK___ to fields that need to be saved.** It strips the value from form state before ___SINGLE_BACKTICK___->action()___SINGLE_BACKTICK___ or the save handler runs. Only use it for helper/UI-only fields.
|
||||
- **Use correct property types when overriding ___SINGLE_BACKTICK___Page___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___Resource___SINGLE_BACKTICK___, and ___SINGLE_BACKTICK___Widget___SINGLE_BACKTICK___ properties.** These properties have union types or changed modifiers that must be preserved:
|
||||
- ___SINGLE_BACKTICK___$navigationIcon___SINGLE_BACKTICK___: ___SINGLE_BACKTICK___protected static string | BackedEnum | null___SINGLE_BACKTICK___ (not ___SINGLE_BACKTICK___?string___SINGLE_BACKTICK___)
|
||||
- ___SINGLE_BACKTICK___$navigationGroup___SINGLE_BACKTICK___: ___SINGLE_BACKTICK___protected static string | UnitEnum | null___SINGLE_BACKTICK___ (not ___SINGLE_BACKTICK___?string___SINGLE_BACKTICK___)
|
||||
- ___SINGLE_BACKTICK___$view___SINGLE_BACKTICK___: ___SINGLE_BACKTICK___protected string___SINGLE_BACKTICK___ (not ___SINGLE_BACKTICK___protected static string___SINGLE_BACKTICK___) on ___SINGLE_BACKTICK___Page___SINGLE_BACKTICK___ and ___SINGLE_BACKTICK___Widget___SINGLE_BACKTICK___ classes
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/db800410232a09db40ffd9b85b3884fa.blade.php ENDPATH**/ ?>
|
||||
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Analytics')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Analytics'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-analytics">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Analytics</h1>
|
||||
<p class="mb-0 opacity-75">Display KPIs, warehouse performance trends, executive summaries, and OTTC analysis.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-graph-up-arrow"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">KPI1 Bar</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for kpi1 bar.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">KPI1 Line</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for kpi1 line.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">OTTC</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for ottc.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">Warehouse Performance</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for warehouse performance.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Analytics workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Metric</th>
|
||||
<th>Today</th>
|
||||
<th>Week</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>KPI1 Bar</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>KPI1 Line</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>OTTC</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Warehouse Performance</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Analytics/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -1,25 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal6da4ac82edc751872ca5a34642b398d0 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal6da4ac82edc751872ca5a34642b398d0 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::auth.simple','data' => ['title' => $title ?? null]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::auth.simple'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($title ?? null)]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal6da4ac82edc751872ca5a34642b398d0)): ?>
|
||||
<?php $attributes = $__attributesOriginal6da4ac82edc751872ca5a34642b398d0; ?>
|
||||
<?php unset($__attributesOriginal6da4ac82edc751872ca5a34642b398d0); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal6da4ac82edc751872ca5a34642b398d0)): ?>
|
||||
<?php $component = $__componentOriginal6da4ac82edc751872ca5a34642b398d0; ?>
|
||||
<?php unset($__componentOriginal6da4ac82edc751872ca5a34642b398d0); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/layouts/auth.blade.php ENDPATH**/ ?>
|
||||
@@ -1,336 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_0895d97ac72dcf2060e8a83465f0c2ce')):
|
||||
function _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
$errors = $__blaze->errors;
|
||||
$__slots['slot'] ??= new \Illuminate\View\ComponentSlot('');
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<?php $iconTrailing ??= $attributes->pluck('icon:trailing'); ?>
|
||||
<?php $iconLeading ??= $attributes->pluck('icon:leading'); ?>
|
||||
<?php $iconVariant ??= $attributes->pluck('icon:variant'); ?>
|
||||
<?php $maskDynamic ??= $attributes->pluck('mask:dynamic'); ?>
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'name' => $attributes->whereStartsWith('wire:model')->first(),
|
||||
'iconVariant' => 'mini',
|
||||
'variant' => 'outline',
|
||||
'iconTrailing' => null,
|
||||
'iconLeading' => null,
|
||||
'maskDynamic' => null,
|
||||
'expandable' => null,
|
||||
'clearable' => null,
|
||||
'copyable' => null,
|
||||
'viewable' => null,
|
||||
'invalid' => null,
|
||||
'loading' => null,
|
||||
'type' => 'text',
|
||||
'mask' => null,
|
||||
'size' => null,
|
||||
'icon' => null,
|
||||
'kbd' => null,
|
||||
'as' => null,
|
||||
];
|
||||
$name ??= $attributes['name'] ?? $__defaults['name']; unset($attributes['name']);
|
||||
$iconVariant ??= $attributes['icon-variant'] ?? $attributes['iconVariant'] ?? $__defaults['iconVariant']; unset($attributes['iconVariant'], $attributes['icon-variant']);
|
||||
$variant ??= $attributes['variant'] ?? $__defaults['variant']; unset($attributes['variant']);
|
||||
$iconTrailing ??= $attributes['icon-trailing'] ?? $attributes['iconTrailing'] ?? $__defaults['iconTrailing']; unset($attributes['iconTrailing'], $attributes['icon-trailing']);
|
||||
$iconLeading ??= $attributes['icon-leading'] ?? $attributes['iconLeading'] ?? $__defaults['iconLeading']; unset($attributes['iconLeading'], $attributes['icon-leading']);
|
||||
$maskDynamic ??= $attributes['mask-dynamic'] ?? $attributes['maskDynamic'] ?? $__defaults['maskDynamic']; unset($attributes['maskDynamic'], $attributes['mask-dynamic']);
|
||||
$expandable ??= $attributes['expandable'] ?? $__defaults['expandable']; unset($attributes['expandable']);
|
||||
$clearable ??= $attributes['clearable'] ?? $__defaults['clearable']; unset($attributes['clearable']);
|
||||
$copyable ??= $attributes['copyable'] ?? $__defaults['copyable']; unset($attributes['copyable']);
|
||||
$viewable ??= $attributes['viewable'] ?? $__defaults['viewable']; unset($attributes['viewable']);
|
||||
$invalid ??= $attributes['invalid'] ?? $__defaults['invalid']; unset($attributes['invalid']);
|
||||
$loading ??= $attributes['loading'] ?? $__defaults['loading']; unset($attributes['loading']);
|
||||
$type ??= $attributes['type'] ?? $__defaults['type']; unset($attributes['type']);
|
||||
$mask ??= $attributes['mask'] ?? $__defaults['mask']; unset($attributes['mask']);
|
||||
$size ??= $attributes['size'] ?? $__defaults['size']; unset($attributes['size']);
|
||||
$icon ??= $attributes['icon'] ?? $__defaults['icon']; unset($attributes['icon']);
|
||||
$kbd ??= $attributes['kbd'] ?? $__defaults['kbd']; unset($attributes['kbd']);
|
||||
$as ??= $attributes['as'] ?? $__defaults['as']; unset($attributes['as']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
|
||||
$inputAttributes = Flux::attributesAfter('input:', $attributes, []);
|
||||
|
||||
// There are a few loading scenarios that this covers:
|
||||
// If `:loading="false"` then never show loading.
|
||||
// If `:loading="true"` then always show loading.
|
||||
// If `:loading="foo"` then show loading when `foo` request is happening.
|
||||
// If `wire:model` then never show loading.
|
||||
// If `wire:model.live` then show loading when the `wire:model` value request is happening.
|
||||
$wireModel = $attributes->wire('model');
|
||||
$wireTarget = null;
|
||||
|
||||
if ($loading !== false) {
|
||||
if ($loading === true) {
|
||||
$loading = true;
|
||||
} elseif ($wireModel?->directive) {
|
||||
$loading = $wireModel->hasModifier('live');
|
||||
$wireTarget = $loading ? $wireModel->value() : null;
|
||||
} else {
|
||||
$wireTarget = $loading;
|
||||
$loading = (bool) $loading;
|
||||
}
|
||||
}
|
||||
|
||||
$iconLeading ??= $icon;
|
||||
|
||||
$hasLeadingIcon = (bool) ($iconLeading);
|
||||
$countOfTrailingIcons = collect([
|
||||
(bool) $iconTrailing,
|
||||
(bool) $kbd,
|
||||
(bool) $clearable,
|
||||
(bool) $copyable,
|
||||
(bool) $viewable,
|
||||
(bool) $expandable,
|
||||
])->filter()->count();
|
||||
|
||||
$iconClasses = Flux::classes()
|
||||
// When using the outline icon variant, we need to size it down to match the default icon sizes...
|
||||
->add($iconVariant === 'outline' ? 'size-5' : '')
|
||||
;
|
||||
|
||||
$inputLoadingClasses = Flux::classes()
|
||||
// When loading, we need to add some extra padding to the input to account for the loading icon...
|
||||
->add(match ($countOfTrailingIcons) {
|
||||
0 => 'pe-10',
|
||||
1 => 'pe-16',
|
||||
2 => 'pe-23',
|
||||
3 => 'pe-30',
|
||||
4 => 'pe-37',
|
||||
5 => 'pe-44',
|
||||
6 => 'pe-51',
|
||||
})
|
||||
;
|
||||
|
||||
$classes = Flux::classes()
|
||||
->add('w-full border rounded-lg block disabled:shadow-none dark:shadow-none')
|
||||
->add('appearance-none') // Without this, input[type="date"] on mobile doesn't respect w-full...
|
||||
->add(match ($size) {
|
||||
default => 'text-base sm:text-sm py-2 h-10 leading-[1.375rem]', // This makes the height of the input 40px (same as buttons and such...)
|
||||
'sm' => 'text-sm py-1.5 h-8 leading-[1.125rem]',
|
||||
'xs' => 'text-xs py-1.5 h-6 leading-[1.125rem]',
|
||||
})
|
||||
->add(match ($hasLeadingIcon) {
|
||||
true => 'ps-10',
|
||||
false => 'ps-3',
|
||||
})
|
||||
->add(match ($countOfTrailingIcons) {
|
||||
// Make sure there's enough padding on the right side of the input to account for all the icons...
|
||||
0 => 'pe-3',
|
||||
1 => 'pe-10',
|
||||
2 => 'pe-16',
|
||||
3 => 'pe-23',
|
||||
4 => 'pe-30',
|
||||
5 => 'pe-37',
|
||||
6 => 'pe-44',
|
||||
})
|
||||
->add(match ($variant) { // Background...
|
||||
'outline' => 'bg-white dark:bg-white/10 dark:disabled:bg-white/[7%]',
|
||||
'filled' => 'bg-zinc-800/5 dark:bg-white/10 dark:disabled:bg-white/[7%]',
|
||||
})
|
||||
->add(match ($variant) { // Text color
|
||||
'outline' => 'text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500',
|
||||
'filled' => 'text-zinc-700 placeholder-zinc-500 disabled:placeholder-zinc-400 dark:text-zinc-200 dark:placeholder-white/60 dark:disabled:placeholder-white/40',
|
||||
})
|
||||
->add(match ($variant) { // Border...
|
||||
'outline' => 'shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5',
|
||||
'filled' => 'border-0',
|
||||
})
|
||||
->add(match ($variant) { // Invalid...
|
||||
'outline' => 'data-invalid:shadow-none data-invalid:border-red-500 dark:data-invalid:border-red-500 disabled:data-invalid:border-red-500 dark:disabled:data-invalid:border-red-500',
|
||||
'filled' => 'data-invalid:border-red-500'
|
||||
})
|
||||
->add($attributes->pluck('class:input'))
|
||||
;
|
||||
?>
|
||||
|
||||
<?php if ($type === 'file'): ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/with-field.blade.php', $__blaze->compiledPath.'/6d9b56edd9c9c8e51fa8e057a8020521.php'); ?>
|
||||
<?php if (isset($__slots6d9b56edd9c9c8e51fa8e057a8020521)) { $__slotsStack6d9b56edd9c9c8e51fa8e057a8020521[] = $__slots6d9b56edd9c9c8e51fa8e057a8020521; } ?>
|
||||
<?php if (isset($__attrs6d9b56edd9c9c8e51fa8e057a8020521)) { $__attrsStack6d9b56edd9c9c8e51fa8e057a8020521[] = $__attrs6d9b56edd9c9c8e51fa8e057a8020521; } ?>
|
||||
<?php $__attrs6d9b56edd9c9c8e51fa8e057a8020521 = ['attributes' => $attributes,'name' => $name]; ?>
|
||||
<?php $__slots6d9b56edd9c9c8e51fa8e057a8020521 = []; ?>
|
||||
<?php $__blaze->pushData($__attrs6d9b56edd9c9c8e51fa8e057a8020521); ?>
|
||||
<?php ob_start(); ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/file.blade.php', $__blaze->compiledPath.'/1af25dd71f383ab33abb09bcbef1f074.php'); ?>
|
||||
<?php $__blaze->pushData(['attributes' => $attributes,'name' => $name,'size' => $size]); ?>
|
||||
<?php _1af25dd71f383ab33abb09bcbef1f074($__blaze, ['attributes' => $attributes,'name' => $name,'size' => $size], [], ['attributes', 'name', 'size'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php $__slots6d9b56edd9c9c8e51fa8e057a8020521['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slots6d9b56edd9c9c8e51fa8e057a8020521); ?>
|
||||
<?php _6d9b56edd9c9c8e51fa8e057a8020521($__blaze, $__attrs6d9b56edd9c9c8e51fa8e057a8020521, $__slots6d9b56edd9c9c8e51fa8e057a8020521, ['attributes', 'name'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStack6d9b56edd9c9c8e51fa8e057a8020521)) { $__slots6d9b56edd9c9c8e51fa8e057a8020521 = array_pop($__slotsStack6d9b56edd9c9c8e51fa8e057a8020521); } ?>
|
||||
<?php if (! empty($__attrsStack6d9b56edd9c9c8e51fa8e057a8020521)) { $__attrs6d9b56edd9c9c8e51fa8e057a8020521 = array_pop($__attrsStack6d9b56edd9c9c8e51fa8e057a8020521); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php elseif ($as !== 'button'): ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/with-field.blade.php', $__blaze->compiledPath.'/6d9b56edd9c9c8e51fa8e057a8020521.php'); ?>
|
||||
<?php if (isset($__slots6d9b56edd9c9c8e51fa8e057a8020521)) { $__slotsStack6d9b56edd9c9c8e51fa8e057a8020521[] = $__slots6d9b56edd9c9c8e51fa8e057a8020521; } ?>
|
||||
<?php if (isset($__attrs6d9b56edd9c9c8e51fa8e057a8020521)) { $__attrsStack6d9b56edd9c9c8e51fa8e057a8020521[] = $__attrs6d9b56edd9c9c8e51fa8e057a8020521; } ?>
|
||||
<?php $__attrs6d9b56edd9c9c8e51fa8e057a8020521 = ['attributes' => $attributes,'name' => $name]; ?>
|
||||
<?php $__slots6d9b56edd9c9c8e51fa8e057a8020521 = []; ?>
|
||||
<?php $__blaze->pushData($__attrs6d9b56edd9c9c8e51fa8e057a8020521); ?>
|
||||
<?php ob_start(); ?>
|
||||
<div <?php echo e($attributes->only('class')->class('w-full relative block group/input')); ?> data-flux-input>
|
||||
<?php if (is_string($iconLeading)): ?>
|
||||
<div class="pointer-events-none absolute top-0 bottom-0 border-s border-transparent flex items-center justify-center text-xs text-zinc-400/75 dark:text-white/60 ps-3 start-0">
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconLeading, 'variant' => $iconVariant, 'class' => $iconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconLeading,'variant' => $iconVariant,'class' => $iconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconLeading,'variant' => $iconVariant,'class' => $iconClasses], [], ['icon', 'variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
</div>
|
||||
<?php elseif ($iconLeading): ?>
|
||||
<div <?php echo e($iconLeading->attributes->class('absolute top-0 bottom-0 border-s border-transparent flex items-center justify-center text-xs text-zinc-400/75 dark:text-white/60 ps-3 start-0')); ?>>
|
||||
<?php echo e($iconLeading); ?>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<input
|
||||
type="<?php echo e($type); ?>"
|
||||
|
||||
<?php echo e($attributes->except('class')->class($type === 'file' ? '' : $classes)->merge($inputAttributes->getAttributes())); ?>
|
||||
|
||||
<?php if (isset($name)): ?> name="<?php echo e($name); ?>" <?php endif; ?>
|
||||
<?php if ($maskDynamic): ?> x-mask:dynamic="<?php echo e($maskDynamic); ?>" <?php elseif($mask): ?> x-mask="<?php echo e($mask); ?>" <?php endif; ?>
|
||||
<?php if (is_numeric($size)): ?> size="<?php echo e($size); ?>" <?php endif; ?>
|
||||
<?php $__getScope = fn($scope = []) => $scope; ?><?php if (isset($scope)) $__scope = $scope; ?><?php $scope = $__getScope(scope: ['name' => $name ?? null, 'invalid' => $invalid ?? false]); ?>
|
||||
<?php if ($scope['invalid'] || ($scope['name'] && $errors->has($scope['name']))): ?>
|
||||
aria-invalid="true" data-invalid
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__scope)) { $scope = $__scope; unset($__scope); } ?>
|
||||
data-flux-control
|
||||
data-flux-group-target
|
||||
<?php if($loading): ?> wire:loading.class="<?php echo e($inputLoadingClasses); ?>" <?php endif; ?>
|
||||
<?php if($loading && $wireTarget): ?> wire:target="<?php echo e($wireTarget); ?>" <?php endif; ?>
|
||||
>
|
||||
|
||||
<?php if ($loading || $countOfTrailingIcons > 0): ?>
|
||||
<div class="absolute top-0 bottom-0 flex items-center gap-x-1.5 pe-2 border-e border-transparent end-0 text-xs text-zinc-400">
|
||||
|
||||
<?php if ($loading): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['name' => 'loading', 'variant' => $iconVariant, 'class' => $iconClasses, 'wire:loading' => true, 'wire:target' => $wireTarget]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['name' => 'loading','variant' => $iconVariant,'class' => $iconClasses,'wire:loading' => true,'wire:target' => $wireTarget]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['name' => 'loading','variant' => $iconVariant,'class' => $iconClasses,'wire:loading' => true,'wire:target' => $wireTarget], [], ['variant', 'class', 'wire:loading', 'wire:target'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($clearable): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::input.clearable", ['inset' => 'left right', 'size' => $size, 'iconVariant' => $iconVariant]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/clearable.blade.php', $__blaze->compiledPath.'/84a2e4415c1c11eab19cc6a05501a0bd.php'); ?>
|
||||
<?php $__blaze->pushData(['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant]); ?>
|
||||
<?php _84a2e4415c1c11eab19cc6a05501a0bd($__blaze, ['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant], [], ['size', 'iconVariant'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($kbd): ?>
|
||||
<span class="pointer-events-none"><?php echo e($kbd); ?></span>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($expandable): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::input.expandable", ['inset' => 'left right', 'size' => $size, 'iconVariant' => $iconVariant]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/expandable.blade.php', $__blaze->compiledPath.'/877a95db7960dd6ae78021ffec6adb87.php'); ?>
|
||||
<?php $__blaze->pushData(['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant]); ?>
|
||||
<?php _877a95db7960dd6ae78021ffec6adb87($__blaze, ['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant], [], ['size', 'iconVariant'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($copyable): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::input.copyable", ['inset' => 'left right', 'size' => $size, 'iconVariant' => $iconVariant]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/copyable.blade.php', $__blaze->compiledPath.'/76e1656858e94ddaad1f897a68c28367.php'); ?>
|
||||
<?php $__blaze->pushData(['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant]); ?>
|
||||
<?php _76e1656858e94ddaad1f897a68c28367($__blaze, ['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant], [], ['size', 'iconVariant'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($viewable): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::input.viewable", ['inset' => 'left right', 'size' => $size, 'iconVariant' => $iconVariant]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/viewable.blade.php', $__blaze->compiledPath.'/dc0eeb96929c474f4cdb0a82144f2e63.php'); ?>
|
||||
<?php $__blaze->pushData(['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant]); ?>
|
||||
<?php _dc0eeb96929c474f4cdb0a82144f2e63($__blaze, ['inset' => 'left right','size' => $size,'iconVariant' => $iconVariant], [], ['size', 'iconVariant'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (is_string($iconTrailing)): ?>
|
||||
<?php
|
||||
$trailingIconClasses = clone $iconClasses;
|
||||
$trailingIconClasses->add('text-zinc-400/75 dark:text-white/60 pointer-events-none');
|
||||
?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconTrailing, 'variant' => $iconVariant, 'class' => $trailingIconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconTrailing,'variant' => $iconVariant,'class' => $trailingIconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconTrailing,'variant' => $iconVariant,'class' => $trailingIconClasses], [], ['icon', 'variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php elseif ($iconTrailing): ?>
|
||||
<?php echo e($iconTrailing); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php $__slots6d9b56edd9c9c8e51fa8e057a8020521['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slots6d9b56edd9c9c8e51fa8e057a8020521); ?>
|
||||
<?php _6d9b56edd9c9c8e51fa8e057a8020521($__blaze, $__attrs6d9b56edd9c9c8e51fa8e057a8020521, $__slots6d9b56edd9c9c8e51fa8e057a8020521, ['attributes', 'name'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStack6d9b56edd9c9c8e51fa8e057a8020521)) { $__slots6d9b56edd9c9c8e51fa8e057a8020521 = array_pop($__slotsStack6d9b56edd9c9c8e51fa8e057a8020521); } ?>
|
||||
<?php if (! empty($__attrsStack6d9b56edd9c9c8e51fa8e057a8020521)) { $__attrs6d9b56edd9c9c8e51fa8e057a8020521 = array_pop($__attrsStack6d9b56edd9c9c8e51fa8e057a8020521); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php else: ?>
|
||||
<button <?php echo e($attributes->merge(['type' => 'button'])->class([$classes, 'w-full relative flex'])); ?>>
|
||||
<?php if (is_string($iconLeading)): ?>
|
||||
<div class="absolute top-0 bottom-0 flex items-center justify-center text-xs text-zinc-400/75 ps-3 start-0">
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconLeading, 'variant' => $iconVariant, 'class' => $iconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconLeading,'variant' => $iconVariant,'class' => $iconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconLeading,'variant' => $iconVariant,'class' => $iconClasses], [], ['icon', 'variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
</div>
|
||||
<?php elseif ($iconLeading): ?>
|
||||
<div <?php echo e($iconLeading->attributes->class('absolute top-0 bottom-0 flex items-center justify-center text-xs text-zinc-400/75 ps-3 start-0')); ?>>
|
||||
<?php echo e($iconLeading); ?>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($attributes->has('placeholder')): ?>
|
||||
<div class="block self-center text-start flex-1 font-medium text-zinc-400 dark:text-white/40">
|
||||
<?php echo e($attributes->get('placeholder')); ?>
|
||||
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="text-start self-center flex-1 font-medium text-zinc-800 dark:text-white">
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($kbd): ?>
|
||||
<div class="absolute top-0 bottom-0 flex items-center justify-center text-xs text-zinc-400/75 pe-4 end-0">
|
||||
<?php echo e($kbd); ?>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (is_string($iconTrailing)): ?>
|
||||
<div class="absolute top-0 bottom-0 flex items-center justify-center text-xs text-zinc-400/75 pe-3 end-0">
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconTrailing, 'variant' => $iconVariant, 'class' => $iconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconTrailing,'variant' => $iconVariant,'class' => $iconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconTrailing,'variant' => $iconVariant,'class' => $iconClasses], [], ['icon', 'variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
</div>
|
||||
<?php elseif ($iconTrailing): ?>
|
||||
<div <?php echo e($iconTrailing->attributes->class('absolute top-0 bottom-0 flex items-center justify-center text-xs text-zinc-400/75 pe-2 end-0')); ?>>
|
||||
<?php echo e($iconTrailing); ?>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php ENDPATH**/ ?>
|
||||
@@ -1,67 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Platform')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Platform'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<section class="grid gap-4 sm:grid-cols-2 xl:grid-cols-4">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = [['Companies', $companiesCount], ['Active', $activeCompaniesCount], ['Warehouses', $warehousesCount], ['Licences', $licensesCount]]; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as [$label, $value]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<article class="rounded-2xl border border-zinc-200 bg-white p-5 shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400"><?php echo e($label); ?></p>
|
||||
<p class="mt-2 text-3xl font-bold text-zinc-900 dark:text-white"><?php echo e($value); ?></p>
|
||||
</article>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</section>
|
||||
|
||||
<section class="rounded-2xl border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<div class="flex flex-col gap-3 border-b border-zinc-200 p-5 sm:flex-row sm:items-center sm:justify-between dark:border-zinc-800">
|
||||
<div>
|
||||
<h2 class="text-lg font-semibold text-zinc-900 dark:text-white">Recent companies</h2>
|
||||
<p class="text-sm text-zinc-500">Tenant isolation is enforced by company ownership on every warehouse record.</p>
|
||||
</div>
|
||||
<a href="<?php echo e(route('platform.companies.index')); ?>" class="rounded-lg bg-zinc-900 px-4 py-2 text-sm font-semibold text-white dark:bg-white dark:text-zinc-900">Manage companies</a>
|
||||
</div>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="min-w-full divide-y divide-zinc-200 text-sm dark:divide-zinc-800">
|
||||
<thead class="bg-zinc-50 dark:bg-zinc-950">
|
||||
<tr>
|
||||
<th class="px-5 py-3 text-left font-semibold">Company</th>
|
||||
<th class="px-5 py-3 text-left font-semibold">Users</th>
|
||||
<th class="px-5 py-3 text-left font-semibold">Warehouses</th>
|
||||
<th class="px-5 py-3 text-left font-semibold">Licences</th>
|
||||
<th class="px-5 py-3 text-left font-semibold">Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-zinc-200 dark:divide-zinc-800">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $companies; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $company): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<tr>
|
||||
<td class="px-5 py-4 font-medium"><?php echo e($company->name); ?></td>
|
||||
<td class="px-5 py-4"><?php echo e($company->users_count); ?></td>
|
||||
<td class="px-5 py-4"><?php echo e($company->warehouses_count); ?></td>
|
||||
<td class="px-5 py-4"><?php echo e($company->license_keys_count); ?></td>
|
||||
<td class="px-5 py-4"><?php echo e($company->is_system_company ? 'System' : ucfirst($company->status)); ?></td>
|
||||
</tr>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Platform/Providers/../resources/views/dashboard/index.blade.php ENDPATH**/ ?>
|
||||
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Audit')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Audit'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-audit">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Audit</h1>
|
||||
<p class="mb-0 opacity-75">Review activity logs, data changes, interface events, and administrative actions.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-clipboard-check"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">Activity Log</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for activity log.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">Data Changes</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for data changes.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">API Audit</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for api audit.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">User Actions</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for user actions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Audit workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>When</th>
|
||||
<th>User</th>
|
||||
<th>Action</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Activity Log</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Data Changes</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>API Audit</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>User Actions</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Audit/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,38 @@
|
||||
# Laravel Boost
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($assist->hasMcpEnabled()): ?>
|
||||
|
||||
## Tools
|
||||
- Laravel Boost is an MCP server with tools designed specifically for this application. Prefer Boost tools over manual alternatives like shell commands or file reads.
|
||||
- Use ___SINGLE_BACKTICK___database-query___SINGLE_BACKTICK___ to run read-only queries against the database instead of writing raw SQL in tinker.
|
||||
- Use ___SINGLE_BACKTICK___database-schema___SINGLE_BACKTICK___ to inspect table structure before writing migrations or models.
|
||||
- Use ___SINGLE_BACKTICK___get-absolute-url___SINGLE_BACKTICK___ to resolve the correct scheme, domain, and port for project URLs. Always use this before sharing a URL with the user.
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(config('boost.browser_logs', false) !== false || config('boost.browser_logs_watcher', true) !== false): ?>
|
||||
- Use ___SINGLE_BACKTICK___browser-logs___SINGLE_BACKTICK___ to read browser logs, errors, and exceptions. Only recent logs are useful, ignore old entries.
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
|
||||
## Searching Documentation (IMPORTANT)
|
||||
- Always use ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ before making code changes. Do not skip this step. It returns version-specific docs based on installed packages automatically.
|
||||
- Pass a ___SINGLE_BACKTICK___packages___SINGLE_BACKTICK___ array to scope results when you know which packages are relevant.
|
||||
- Use multiple broad, topic-based queries: ___SINGLE_BACKTICK___['rate limiting', 'routing rate limiting', 'routing']___SINGLE_BACKTICK___. Expect the most relevant results first.
|
||||
- Do not add package names to queries because package info is already shared. Use ___SINGLE_BACKTICK___test resource table___SINGLE_BACKTICK___, not ___SINGLE_BACKTICK___filament 4 test resource table___SINGLE_BACKTICK___.
|
||||
### Search Syntax
|
||||
1. Use words for auto-stemmed AND logic: ___SINGLE_BACKTICK___rate limit___SINGLE_BACKTICK___ matches both "rate" AND "limit".
|
||||
2. Use ___SINGLE_BACKTICK___"quoted phrases"___SINGLE_BACKTICK___ for exact position matching: ___SINGLE_BACKTICK___"infinite scroll"___SINGLE_BACKTICK___ requires adjacent words in order.
|
||||
3. Combine words and phrases for mixed queries: ___SINGLE_BACKTICK___middleware "rate limit"___SINGLE_BACKTICK___.
|
||||
4. Use multiple queries for OR logic: ___SINGLE_BACKTICK___queries=["authentication", "middleware"]___SINGLE_BACKTICK___.
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
|
||||
## Artisan
|
||||
- Run Artisan commands directly via the command line (e.g., ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('route:list')); ?>___SINGLE_BACKTICK___). Use ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('list')); ?>___SINGLE_BACKTICK___ to discover available commands and ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('[command] --help')); ?>___SINGLE_BACKTICK___ to check parameters.
|
||||
- Inspect routes with ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('route:list')); ?>___SINGLE_BACKTICK___. Filter with: ___SINGLE_BACKTICK___--method=GET___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___--name=users___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___--path=api___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___--except-vendor___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___--only-vendor___SINGLE_BACKTICK___.
|
||||
- Read configuration values using dot notation: ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('config:show app.name')); ?>___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('config:show database.default')); ?>___SINGLE_BACKTICK___. Or read config files directly from the ___SINGLE_BACKTICK___config/___SINGLE_BACKTICK___ directory.
|
||||
|
||||
## Tinker
|
||||
- Execute PHP in app context for debugging and testing code. Do not create models without user approval, prefer tests with factories instead. Prefer existing Artisan commands over custom tinker code.
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($assist->hasMcpEnabled() && config('boost.tinker_tool_enabled', false)): ?>
|
||||
- Use the ___SINGLE_BACKTICK___tinker___SINGLE_BACKTICK___ MCP tool to execute PHP code instead of the CLI. It avoids shell escaping issues and runs the snippet in the Laravel application context.
|
||||
<?php else: ?>
|
||||
- Always use single quotes to prevent shell expansion: ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand("tinker --execute 'Your::code();'")); ?>___SINGLE_BACKTICK___
|
||||
- Double quotes for PHP strings inside: ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand("tinker --execute 'User::where(\"active\", true)->count();'")); ?>___SINGLE_BACKTICK___
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/e3b9888097c7ff3c001c6cdebb490dc0.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,177 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['exception', 'request']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['exception', 'request']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div
|
||||
x-data="{
|
||||
copied: false,
|
||||
async copyToClipboard() {
|
||||
try {
|
||||
await window.copyToClipboard('<?php echo e($request->fullUrl()); ?>');
|
||||
this.copied = true;
|
||||
setTimeout(() => { this.copied = false }, 3000);
|
||||
} catch (err) {
|
||||
console.error('Failed to copy the requestURL: ', err);
|
||||
}
|
||||
}
|
||||
}"
|
||||
<?php echo e($attributes->merge(['class' => "bg-white dark:bg-[#1a1a1a] border border-neutral-200 dark:border-white/10 rounded-lg flex items-center justify-between h-10 px-2 shadow-xs"])); ?>
|
||||
|
||||
>
|
||||
<div class="flex items-center gap-3 w-full">
|
||||
<?php if (isset($component)) { $__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.badge','data' => ['type' => 'error','variant' => 'solid']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::badge'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['type' => 'error','variant' => 'solid']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginalebc8ec9a834a8051f56913d6745a7050 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalebc8ec9a834a8051f56913d6745a7050 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.alert'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-2.5 h-2.5']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalebc8ec9a834a8051f56913d6745a7050)): ?>
|
||||
<?php $attributes = $__attributesOriginalebc8ec9a834a8051f56913d6745a7050; ?>
|
||||
<?php unset($__attributesOriginalebc8ec9a834a8051f56913d6745a7050); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalebc8ec9a834a8051f56913d6745a7050)): ?>
|
||||
<?php $component = $__componentOriginalebc8ec9a834a8051f56913d6745a7050; ?>
|
||||
<?php unset($__componentOriginalebc8ec9a834a8051f56913d6745a7050); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo e($exception->httpStatusCode()); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb)): ?>
|
||||
<?php $attributes = $__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb; ?>
|
||||
<?php unset($__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb)): ?>
|
||||
<?php $component = $__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb; ?>
|
||||
<?php unset($__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($component)) { $__componentOriginal5131cdd8ffd44ce9fe7ed2c3030dd413 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal5131cdd8ffd44ce9fe7ed2c3030dd413 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.http-method','data' => ['method' => ''.e($request->method()).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::http-method'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['method' => ''.e($request->method()).'']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal5131cdd8ffd44ce9fe7ed2c3030dd413)): ?>
|
||||
<?php $attributes = $__attributesOriginal5131cdd8ffd44ce9fe7ed2c3030dd413; ?>
|
||||
<?php unset($__attributesOriginal5131cdd8ffd44ce9fe7ed2c3030dd413); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal5131cdd8ffd44ce9fe7ed2c3030dd413)): ?>
|
||||
<?php $component = $__componentOriginal5131cdd8ffd44ce9fe7ed2c3030dd413; ?>
|
||||
<?php unset($__componentOriginal5131cdd8ffd44ce9fe7ed2c3030dd413); ?>
|
||||
<?php endif; ?>
|
||||
<div class="flex-1 text-sm font-light truncate text-neutral-950 dark:text-white">
|
||||
<span data-tippy-content="<?php echo e($request->fullUrl()); ?>">
|
||||
<?php echo e($request->fullUrl()); ?>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<button
|
||||
x-cloak
|
||||
@click="copyToClipboard()"
|
||||
class="<?php echo \Illuminate\Support\Arr::toCssClasses([
|
||||
"rounded-md w-6 h-6 flex flex-shrink-0 items-center justify-center cursor-pointer border transition-colors duration-200 ease-in-out",
|
||||
"bg-white/5 border-neutral-200 hover:bg-neutral-100 dark:bg-white/5 dark:border-white/10 dark:hover:bg-white/10",
|
||||
]); ?>"
|
||||
>
|
||||
<?php if (isset($component)) { $__componentOriginal8894ff2e6e6bd543865d608162806b35 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal8894ff2e6e6bd543865d608162806b35 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.copy','data' => ['class' => 'w-3 h-3 text-neutral-400','xShow' => '!copied']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.copy'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3 text-neutral-400','x-show' => '!copied']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal8894ff2e6e6bd543865d608162806b35)): ?>
|
||||
<?php $attributes = $__attributesOriginal8894ff2e6e6bd543865d608162806b35; ?>
|
||||
<?php unset($__attributesOriginal8894ff2e6e6bd543865d608162806b35); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal8894ff2e6e6bd543865d608162806b35)): ?>
|
||||
<?php $component = $__componentOriginal8894ff2e6e6bd543865d608162806b35; ?>
|
||||
<?php unset($__componentOriginal8894ff2e6e6bd543865d608162806b35); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($component)) { $__componentOriginal394a4f59b8774713925fcf456ba90b57 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal394a4f59b8774713925fcf456ba90b57 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.check','data' => ['class' => 'w-3 h-3 text-emerald-500','xShow' => 'copied']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.check'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3 text-emerald-500','x-show' => 'copied']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal394a4f59b8774713925fcf456ba90b57)): ?>
|
||||
<?php $attributes = $__attributesOriginal394a4f59b8774713925fcf456ba90b57; ?>
|
||||
<?php unset($__attributesOriginal394a4f59b8774713925fcf456ba90b57); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal394a4f59b8774713925fcf456ba90b57)): ?>
|
||||
<?php $component = $__componentOriginal394a4f59b8774713925fcf456ba90b57; ?>
|
||||
<?php unset($__componentOriginal394a4f59b8774713925fcf456ba90b57); ?>
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/request-url.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
?>
|
||||
# Do Things the Laravel Way
|
||||
|
||||
- Use ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('make:')); ?>___SINGLE_BACKTICK___ commands to create new files (i.e. migrations, controllers, models, etc.). You can list available Artisan commands using ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('list')); ?>___SINGLE_BACKTICK___ and check their parameters with ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('[command] --help')); ?>___SINGLE_BACKTICK___.
|
||||
- If you're creating a generic PHP class, use ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('make:class')); ?>___SINGLE_BACKTICK___.
|
||||
- Pass ___SINGLE_BACKTICK___--no-interaction___SINGLE_BACKTICK___ to all Artisan commands to ensure they work without user input. You should also pass the correct ___SINGLE_BACKTICK___--options___SINGLE_BACKTICK___ to ensure correct behavior.
|
||||
|
||||
### Model Creation
|
||||
- When creating new models, create useful factories and seeders for them too. Ask the user if they need any other things, using ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('make:model --help')); ?>___SINGLE_BACKTICK___ to check the available options.
|
||||
|
||||
## APIs & Eloquent Resources
|
||||
- For APIs, default to using Eloquent API Resources and API versioning unless existing API routes do not, then you should follow existing application convention.
|
||||
|
||||
## URL Generation
|
||||
- When generating links to other pages, prefer named routes and the ___SINGLE_BACKTICK___route()___SINGLE_BACKTICK___ function.
|
||||
|
||||
## Testing
|
||||
- When creating models for tests, use the factories for the models. Check if the factory has custom states that can be used before manually setting up the model.
|
||||
- Faker: Use methods such as ___SINGLE_BACKTICK___$this->faker->word()___SINGLE_BACKTICK___ or ___SINGLE_BACKTICK___fake()->randomDigit()___SINGLE_BACKTICK___. Follow existing conventions whether to use ___SINGLE_BACKTICK___$this->faker___SINGLE_BACKTICK___ or ___SINGLE_BACKTICK___fake()___SINGLE_BACKTICK___.
|
||||
- When creating tests, make use of ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('make:test [options] {name}')); ?>___SINGLE_BACKTICK___ to create a feature test, and pass ___SINGLE_BACKTICK___--unit___SINGLE_BACKTICK___ to create a unit test. Most tests should be feature tests.
|
||||
|
||||
## Vite Error
|
||||
- If you receive an "Illuminate\Foundation\ViteException: Unable to locate file in Vite manifest" error, you can run ___SINGLE_BACKTICK___<?php echo e($assist->nodePackageManagerCommand('run build')); ?>___SINGLE_BACKTICK___ or ask the user to run ___SINGLE_BACKTICK___<?php echo e($assist->nodePackageManagerCommand('run dev')); ?>___SINGLE_BACKTICK___ or ___SINGLE_BACKTICK___<?php echo e($assist->composerCommand('run dev')); ?>___SINGLE_BACKTICK___.
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/d1640c796ea7d658f5d537a146d3b49c.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,120 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['exception']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['exception']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div class="flex flex-col gap-2.5 bg-neutral-50 dark:bg-white/1 border border-neutral-200 dark:border-neutral-800 rounded-xl p-2.5 shadow-xs">
|
||||
<div class="flex items-center gap-2.5 p-2">
|
||||
<div class="bg-white dark:bg-neutral-800 border border-neutral-200 dark:border-white/5 rounded-md w-6 h-6 flex items-center justify-center p-1">
|
||||
<?php if (isset($component)) { $__componentOriginalebc8ec9a834a8051f56913d6745a7050 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalebc8ec9a834a8051f56913d6745a7050 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.alert','data' => ['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.alert'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalebc8ec9a834a8051f56913d6745a7050)): ?>
|
||||
<?php $attributes = $__attributesOriginalebc8ec9a834a8051f56913d6745a7050; ?>
|
||||
<?php unset($__attributesOriginalebc8ec9a834a8051f56913d6745a7050); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalebc8ec9a834a8051f56913d6745a7050)): ?>
|
||||
<?php $component = $__componentOriginalebc8ec9a834a8051f56913d6745a7050; ?>
|
||||
<?php unset($__componentOriginalebc8ec9a834a8051f56913d6745a7050); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<h3 class="text-base font-semibold text-neutral-900 dark:text-white">Exception trace</h3>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($exception->previousExceptions()->isNotEmpty()): ?>
|
||||
<a href="#previous-exceptions" class="ml-auto text-sm text-neutral-500 dark:text-neutral-400 hover:text-blue-500 dark:hover:text-emerald-500 transition-colors">
|
||||
<?php echo e($exception->previousExceptions()->count()); ?> previous <?php echo e(\Illuminate\Support\Str::plural('exception', $exception->previousExceptions()->count())); ?>
|
||||
|
||||
</a>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-1.5">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $exception->frameGroups(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $group): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($group['is_vendor']): ?>
|
||||
<?php if (isset($component)) { $__componentOriginal449787012edfba29f0e80f325065fad5 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal449787012edfba29f0e80f325065fad5 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.vendor-frames','data' => ['frames' => $group['frames']]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::vendor-frames'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['frames' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($group['frames'])]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal449787012edfba29f0e80f325065fad5)): ?>
|
||||
<?php $attributes = $__attributesOriginal449787012edfba29f0e80f325065fad5; ?>
|
||||
<?php unset($__attributesOriginal449787012edfba29f0e80f325065fad5); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal449787012edfba29f0e80f325065fad5)): ?>
|
||||
<?php $component = $__componentOriginal449787012edfba29f0e80f325065fad5; ?>
|
||||
<?php unset($__componentOriginal449787012edfba29f0e80f325065fad5); ?>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $group['frames']; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $frame): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<?php if (isset($component)) { $__componentOriginalc7c58c6d16fe849872fb25ad6e9b8407 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalc7c58c6d16fe849872fb25ad6e9b8407 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.frame','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::frame'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalc7c58c6d16fe849872fb25ad6e9b8407)): ?>
|
||||
<?php $attributes = $__attributesOriginalc7c58c6d16fe849872fb25ad6e9b8407; ?>
|
||||
<?php unset($__attributesOriginalc7c58c6d16fe849872fb25ad6e9b8407); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalc7c58c6d16fe849872fb25ad6e9b8407)): ?>
|
||||
<?php $component = $__componentOriginalc7c58c6d16fe849872fb25ad6e9b8407; ?>
|
||||
<?php unset($__componentOriginalc7c58c6d16fe849872fb25ad6e9b8407); ?>
|
||||
<?php endif; ?>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/trace.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,148 @@
|
||||
---
|
||||
name: livewire-development
|
||||
description: "Use for any task or question involving Livewire. Activate if user mentions Livewire, wire: directives, or Livewire-specific concepts like wire:model, wire:click, wire:sort, or islands, invoke this skill. Covers building new components, debugging reactivity issues, real-time form validation, drag-and-drop, loading states, migrating from Livewire 3 to 4, converting component formats (SFC/MFC/class-based), and performance optimization. Do not use for non-Livewire reactive UI (React, Vue, Alpine-only, Inertia.js) or standard Laravel forms without Livewire."
|
||||
license: MIT
|
||||
metadata:
|
||||
author: laravel
|
||||
---
|
||||
<?php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
?>
|
||||
# Livewire Development
|
||||
|
||||
## Documentation
|
||||
|
||||
Use ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ for detailed Livewire 4 patterns and documentation.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
### Creating Components
|
||||
|
||||
___SINGLE_BACKTICK______SINGLE_BACKTICK______SINGLE_BACKTICK___bash
|
||||
# Single-file component (SFC - default in v4)
|
||||
# Creates: resources/views/components/⚡create-post.blade.php
|
||||
<?php echo e($assist->artisanCommand('make:livewire create-post')); ?>
|
||||
|
||||
|
||||
# Page component (SFC - Full Page in v4)
|
||||
# Creates: resources/views/pages/⚡create-post.blade.php
|
||||
<?php echo e($assist->artisanCommand('make:livewire pages::create-post')); ?>
|
||||
|
||||
|
||||
# Multi-file component (MFC)
|
||||
# Creates: resources/views/components/⚡create-post/create-post.php
|
||||
# resources/views/components/⚡create-post/create-post.blade.php
|
||||
<?php echo e($assist->artisanCommand('make:livewire create-post --mfc')); ?>
|
||||
|
||||
|
||||
# Class-based component (v3 style)
|
||||
# Creates: app/Livewire/CreatePost.php AND resources/views/livewire/create-post.blade.php
|
||||
<?php echo e($assist->artisanCommand('make:livewire create-post --class')); ?>
|
||||
|
||||
|
||||
# With namespace
|
||||
<?php echo e($assist->artisanCommand('make:livewire Posts/CreatePost')); ?>
|
||||
|
||||
___SINGLE_BACKTICK______SINGLE_BACKTICK______SINGLE_BACKTICK___
|
||||
|
||||
### Converting Between Formats
|
||||
|
||||
Use ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('livewire:convert create-post')); ?>___SINGLE_BACKTICK___ to convert between single-file, multi-file, and class-based formats.
|
||||
|
||||
### Choosing a Component Format
|
||||
|
||||
> **Always follow the project's existing conventions first.** Before creating any component, inspect the project's existing Livewire components to determine the established format (SFC, MFC, or class-based) and directory structure. Check ___SINGLE_BACKTICK___<?php echo e($assist->appPath('Livewire/')); ?>___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___resources/views/components/___SINGLE_BACKTICK___, and ___SINGLE_BACKTICK___resources/views/livewire/___SINGLE_BACKTICK___ for existing components. If the project already uses a consistent format, **use that same format** — even if it differs from the Livewire v4 defaults below. Only fall back to the v4 defaults (SFC in ___SINGLE_BACKTICK___resources/views/components/___SINGLE_BACKTICK___) when no existing convention is established.
|
||||
|
||||
Also check ___SINGLE_BACKTICK___config/livewire.php___SINGLE_BACKTICK___ for ___SINGLE_BACKTICK___make_command.type___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___make_command.emoji___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___component_locations___SINGLE_BACKTICK___, and ___SINGLE_BACKTICK___component_namespaces___SINGLE_BACKTICK___ overrides, which change the default format and where files are stored.
|
||||
|
||||
### Component Format Reference
|
||||
|
||||
| Format | Flag | Class Path | View Path |
|
||||
|--------|------|------------|-----------|
|
||||
| Single-file (SFC) | default | — | ___SINGLE_BACKTICK___resources/views/components/⚡create-post.blade.php___SINGLE_BACKTICK___ (PHP + Blade in one file) |
|
||||
| Full Page SFC | ___SINGLE_BACKTICK___pages::name___SINGLE_BACKTICK___ | — | ___SINGLE_BACKTICK___resources/views/pages/⚡create-post.blade.php___SINGLE_BACKTICK___ |
|
||||
| Multi-file (MFC) | ___SINGLE_BACKTICK___--mfc___SINGLE_BACKTICK___ | ___SINGLE_BACKTICK___resources/views/components/⚡create-post/create-post.php___SINGLE_BACKTICK___ | ___SINGLE_BACKTICK___resources/views/components/⚡create-post/create-post.blade.php___SINGLE_BACKTICK___ |
|
||||
| Class-based | ___SINGLE_BACKTICK___--class___SINGLE_BACKTICK___ | ___SINGLE_BACKTICK___<?php echo e($assist->appPath('Livewire/CreatePost.php')); ?>___SINGLE_BACKTICK___ | ___SINGLE_BACKTICK___resources/views/livewire/create-post.blade.php___SINGLE_BACKTICK___ |
|
||||
| View-based | default (Blade-only) | — | ___SINGLE_BACKTICK___resources/views/components/⚡create-post.blade.php___SINGLE_BACKTICK___ (Blade-only with functional state) |
|
||||
|
||||
> **Important:** The ⚡ prefix shown above is the **default** behavior in Livewire v4 — it is **configurable**. Check ___SINGLE_BACKTICK___config/livewire.php___SINGLE_BACKTICK___ for the ___SINGLE_BACKTICK___make_command.emoji___SINGLE_BACKTICK___ setting. When ___SINGLE_BACKTICK___true___SINGLE_BACKTICK___ (default), always include the ⚡ prefix in filenames you create. When ___SINGLE_BACKTICK___false___SINGLE_BACKTICK___, omit the ⚡ prefix from all paths above.
|
||||
|
||||
Namespaced components map to subdirectories: ___SINGLE_BACKTICK___make:livewire Posts/CreatePost___SINGLE_BACKTICK___ creates ___SINGLE_BACKTICK___resources/views/components/posts/⚡create-post.blade.php___SINGLE_BACKTICK___ (single-file by default). Use ___SINGLE_BACKTICK___make:livewire Posts/CreatePost --mfc___SINGLE_BACKTICK___ for multi-file output at ___SINGLE_BACKTICK___resources/views/components/posts/⚡create-post/create-post.php___SINGLE_BACKTICK___ and ___SINGLE_BACKTICK___resources/views/components/posts/⚡create-post/create-post.blade.php___SINGLE_BACKTICK___.
|
||||
|
||||
### Single-File Component Example
|
||||
|
||||
___BOOST_SNIPPET_0___
|
||||
|
||||
## Livewire 4 Specifics
|
||||
|
||||
### Key Changes From Livewire 3
|
||||
|
||||
These things changed in Livewire 4, but may not have been updated in this application. Verify this application's setup to ensure you follow existing conventions.
|
||||
|
||||
- Use ___SINGLE_BACKTICK___Route::livewire()___SINGLE_BACKTICK___ for full-page components (e.g., ___SINGLE_BACKTICK___Route::livewire('/posts/create', CreatePost::class)___SINGLE_BACKTICK___); config keys renamed: ___SINGLE_BACKTICK___layout___SINGLE_BACKTICK___ → ___SINGLE_BACKTICK___component_layout___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___lazy_placeholder___SINGLE_BACKTICK___ → ___SINGLE_BACKTICK___component_placeholder___SINGLE_BACKTICK___.
|
||||
- ___SINGLE_BACKTICK___wire:model___SINGLE_BACKTICK___ now ignores child events by default (use ___SINGLE_BACKTICK___wire:model.deep___SINGLE_BACKTICK___ for old behavior); ___SINGLE_BACKTICK___wire:scroll___SINGLE_BACKTICK___ renamed to ___SINGLE_BACKTICK___wire:navigate:scroll___SINGLE_BACKTICK___.
|
||||
- Component tags must be properly closed; ___SINGLE_BACKTICK___wire:transition___SINGLE_BACKTICK___ now uses View Transitions API (modifiers removed).
|
||||
- JavaScript: ___SINGLE_BACKTICK___$wire.$js('name', fn)___SINGLE_BACKTICK___ → ___SINGLE_BACKTICK___$wire.$js.name = fn___SINGLE_BACKTICK___; ___SINGLE_BACKTICK___commit___SINGLE_BACKTICK___/___SINGLE_BACKTICK___request___SINGLE_BACKTICK___ hooks → ___SINGLE_BACKTICK___interceptMessage()___SINGLE_BACKTICK___/___SINGLE_BACKTICK___interceptRequest()___SINGLE_BACKTICK___.
|
||||
|
||||
### New Features
|
||||
|
||||
- Component formats: single-file (SFC), multi-file (MFC), view-based components.
|
||||
- Islands (___SINGLE_BACKTICK___@island___SINGLE_BACKTICK___) for isolated updates; async actions (___SINGLE_BACKTICK___wire:click.async___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___#[Async]___SINGLE_BACKTICK___) for parallel execution.
|
||||
- Deferred/bundled loading: ___SINGLE_BACKTICK___defer___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___lazy.bundle___SINGLE_BACKTICK___ for optimized component loading.
|
||||
|
||||
| Feature | Usage | Purpose |
|
||||
|---------|-------|---------|
|
||||
| Islands | ___SINGLE_BACKTICK___@island(name: 'stats')___SINGLE_BACKTICK___ | Isolated update regions |
|
||||
| Async | ___SINGLE_BACKTICK___wire:click.async___SINGLE_BACKTICK___ or ___SINGLE_BACKTICK___#[Async]___SINGLE_BACKTICK___ | Non-blocking actions |
|
||||
| Deferred | ___SINGLE_BACKTICK___defer___SINGLE_BACKTICK___ attribute | Load after page render |
|
||||
| Bundled | ___SINGLE_BACKTICK___lazy.bundle___SINGLE_BACKTICK___ | Load multiple together |
|
||||
|
||||
### New Directives
|
||||
|
||||
- ___SINGLE_BACKTICK___wire:sort___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___wire:intersect___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___wire:ref___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___.renderless___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___.preserve-scroll___SINGLE_BACKTICK___ are available for use.
|
||||
- ___SINGLE_BACKTICK___data-loading___SINGLE_BACKTICK___ attribute automatically added to elements triggering network requests.
|
||||
|
||||
| Directive | Purpose |
|
||||
|-----------|---------|
|
||||
| ___SINGLE_BACKTICK___wire:sort___SINGLE_BACKTICK___ | Drag-and-drop sorting |
|
||||
| ___SINGLE_BACKTICK___wire:intersect___SINGLE_BACKTICK___ | Viewport intersection detection |
|
||||
| ___SINGLE_BACKTICK___wire:ref___SINGLE_BACKTICK___ | Element references for JS |
|
||||
| ___SINGLE_BACKTICK___.renderless___SINGLE_BACKTICK___ | Component without rendering |
|
||||
| ___SINGLE_BACKTICK___.preserve-scroll___SINGLE_BACKTICK___ | Preserve scroll position |
|
||||
|
||||
## Best Practices
|
||||
|
||||
- Always use ___SINGLE_BACKTICK___wire:key___SINGLE_BACKTICK___ in loops
|
||||
- Use ___SINGLE_BACKTICK___wire:loading___SINGLE_BACKTICK___ for loading states
|
||||
- Use ___SINGLE_BACKTICK___wire:model.live___SINGLE_BACKTICK___ for instant updates (default is debounced)
|
||||
- Validate and authorize in actions (treat like HTTP requests)
|
||||
|
||||
## Configuration
|
||||
|
||||
- ___SINGLE_BACKTICK___smart_wire_keys___SINGLE_BACKTICK___ defaults to ___SINGLE_BACKTICK___true___SINGLE_BACKTICK___; new configs: ___SINGLE_BACKTICK___component_locations___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___component_namespaces___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___make_command___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___csp_safe___SINGLE_BACKTICK___.
|
||||
|
||||
## Alpine & JavaScript
|
||||
|
||||
- ___SINGLE_BACKTICK___wire:transition___SINGLE_BACKTICK___ uses browser View Transitions API; ___SINGLE_BACKTICK___$errors___SINGLE_BACKTICK___ and ___SINGLE_BACKTICK___$intercept___SINGLE_BACKTICK___ magic properties available.
|
||||
- Non-blocking ___SINGLE_BACKTICK___wire:poll___SINGLE_BACKTICK___ and parallel ___SINGLE_BACKTICK___wire:model.live___SINGLE_BACKTICK___ updates improve performance.
|
||||
|
||||
For interceptors and hooks, see [reference/javascript-hooks.md](reference/javascript-hooks.md).
|
||||
|
||||
## Testing
|
||||
|
||||
___BOOST_SNIPPET_1___
|
||||
|
||||
## Verification
|
||||
|
||||
1. Browser console: Check for JS errors
|
||||
2. Network tab: Verify Livewire requests return 200
|
||||
3. Ensure ___SINGLE_BACKTICK___wire:key___SINGLE_BACKTICK___ on all ___SINGLE_BACKTICK___@foreach___SINGLE_BACKTICK___ loops
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Missing ___SINGLE_BACKTICK___wire:key___SINGLE_BACKTICK___ in loops → unexpected re-rendering
|
||||
- Expecting ___SINGLE_BACKTICK___wire:model___SINGLE_BACKTICK___ real-time → use ___SINGLE_BACKTICK___wire:model.live___SINGLE_BACKTICK___
|
||||
- Unclosed component tags → syntax errors in v4
|
||||
- Using deprecated config keys or JS hooks
|
||||
- Including Alpine.js separately (already bundled in Livewire 4)
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/ad752539cb081521e34bf58da7d63fe0.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['frame']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div class="grid gap-3 p-4 bg-neutral-50 dark:bg-transparent overflow-x-auto rounded-lg">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($frame->previous()): ?>
|
||||
<div class="flex">
|
||||
<?php if (isset($component)) { $__componentOriginalc33171fb5f34409a0ad661ae1625dcb2 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.formatted-source','data' => ['frame' => $frame,'className' => 'text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::formatted-source'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'className' => 'text-xs']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2)): ?>
|
||||
<?php $attributes = $__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2; ?>
|
||||
<?php unset($__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalc33171fb5f34409a0ad661ae1625dcb2)): ?>
|
||||
<?php $component = $__componentOriginalc33171fb5f34409a0ad661ae1625dcb2; ?>
|
||||
<?php unset($__componentOriginalc33171fb5f34409a0ad661ae1625dcb2); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<span class="font-mono text-xs leading-3 text-neutral-500">Entrypoint</span>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $frame,'class' => 'text-xs']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::file-with-line'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'class' => 'text-xs']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d)): ?>
|
||||
<?php $attributes = $__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d; ?>
|
||||
<?php unset($__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d)): ?>
|
||||
<?php $component = $__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d; ?>
|
||||
<?php unset($__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/vendor-frame.blade.php ENDPATH**/ ?>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Warehouses')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Warehouses'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||
<h1 class="text-2xl font-bold">Warehouses</h1>
|
||||
<form method="POST" action="<?php echo e(route('warehouses.store')); ?>" class="mt-5 grid gap-4 md:grid-cols-4">
|
||||
<?php echo csrf_field(); ?>
|
||||
<input name="code" placeholder="Code" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<input name="name" placeholder="Warehouse name" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<input name="address" placeholder="Address" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<button class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Create</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="grid gap-4 md:grid-cols-2 xl:grid-cols-3">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $warehouses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<article class="rounded-2xl border border-zinc-200 bg-white p-5 shadow-sm dark:border-zinc-800 dark:bg-zinc-900"><p class="text-sm text-cyan-600"><?php echo e($warehouse->code); ?></p><h2 class="mt-1 text-xl font-bold"><?php echo e($warehouse->name); ?></h2><p class="mt-3 text-sm text-zinc-500"><?php echo e($warehouse->validation_rules_count); ?> rules</p></article>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</div>
|
||||
<?php echo e($warehouses->links()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Warehouse/Providers/../resources/views/warehouses/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,4 @@
|
||||
<svg width="6" height="10" viewBox="0 0 6 10" fill="none" xmlns="http://www.w3.org/2000/svg" <?php echo e($attributes); ?>>
|
||||
<path d="M0.875 9.25L5.125 5L0.875 0.75" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/chevron-right.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 435 B |
@@ -0,0 +1,4 @@
|
||||
<div <?php echo e($attributes->merge(['class' => "h-0 w-full relative"])); ?>>
|
||||
<div class="absolute top-[-1px] left-0 right-0 bottom-0 border-t border-dashed border-neutral-300 dark:border-white/[9%]"></div>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/separator.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,4 @@
|
||||
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24" <?php echo e($attributes); ?>>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/check.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 378 B |
@@ -0,0 +1,48 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['headers']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['headers']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div class="flex flex-col gap-3">
|
||||
<h2 class="text-lg font-semibold text-neutral-900 dark:text-white">Headers</h2>
|
||||
<div class="flex flex-col">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $headers; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<div class="flex max-w-full items-baseline gap-2 h-10 text-sm font-mono">
|
||||
<div class="uppercase text-neutral-500 dark:text-neutral-400 shrink-0"><?php echo e($key); ?></div>
|
||||
<div class="min-w-6 grow h-3 border-b-2 border-dotted border-neutral-300 dark:border-white/20"></div>
|
||||
<div class="truncate text-neutral-900 dark:text-white">
|
||||
<span data-tippy-content="<?php echo e($value); ?>">
|
||||
<?php echo e($value); ?>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/request-header.blade.php ENDPATH**/ ?>
|
||||
@@ -1,48 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('WMS Dashboard')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('WMS Dashboard'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<section class="overflow-hidden rounded-3xl bg-gradient-to-br from-slate-950 via-slate-900 to-cyan-950 p-6 text-white shadow-xl sm:p-8">
|
||||
<div class="flex flex-col gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<p class="text-sm font-semibold uppercase tracking-[0.3em] text-cyan-300">Warehouse management</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-5xl"><?php echo e(auth()->user()->company->name); ?></h1>
|
||||
<p class="mt-3 max-w-2xl text-slate-300">High-performance tenant-isolated warehouse operations with per-warehouse validation and licence-aware access.</p>
|
||||
</div>
|
||||
<div class="grid grid-cols-2 gap-3 sm:min-w-80">
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur"><p class="text-sm text-slate-300">Warehouses</p><p class="mt-2 text-3xl font-bold"><?php echo e($warehousesCount); ?></p></div>
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur"><p class="text-sm text-slate-300">Rules</p><p class="mt-2 text-3xl font-bold"><?php echo e($rulesCount); ?></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="grid gap-4 md:grid-cols-2 xl:grid-cols-3">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__empty_1 = true; $__currentLoopData = $warehouses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<article class="rounded-2xl border border-zinc-200 bg-white p-5 shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<div class="flex items-start justify-between gap-4"><div><p class="text-sm font-semibold text-cyan-600"><?php echo e($warehouse->code); ?></p><h2 class="mt-1 text-xl font-bold"><?php echo e($warehouse->name); ?></h2></div><span class="rounded-full bg-emerald-100 px-3 py-1 text-xs font-semibold text-emerald-800"><?php echo e($warehouse->status); ?></span></div>
|
||||
<p class="mt-4 text-sm text-zinc-500"><?php echo e($warehouse->validation_rules_count); ?> validation rules configured.</p>
|
||||
</article>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
<article class="rounded-2xl border border-dashed border-zinc-300 bg-white p-8 text-center dark:border-zinc-800 dark:bg-zinc-900 md:col-span-2 xl:col-span-3"><h2 class="text-xl font-bold">Create your first warehouse</h2><p class="mt-2 text-zinc-500">Warehouses are isolated to your company tenant.</p><a href="<?php echo e(route('warehouses.index')); ?>" class="mt-5 inline-flex rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Add warehouse</a></article>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</section>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Warehouse/Providers/../resources/views/warehouses/dashboard.blade.php ENDPATH**/ ?>
|
||||
@@ -1,152 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_1f71139a782d8d14d022079614a36d1c')):
|
||||
function _1f71139a782d8d14d022079614a36d1c($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
$__slots['slot'] ??= new \Illuminate\View\ComponentSlot('');
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<?php $iconTrailing ??= $attributes->pluck('icon:trailing'); ?>
|
||||
<?php $iconVariant ??= $attributes->pluck('icon:variant'); ?>
|
||||
|
||||
<?php
|
||||
$__awareDefaults = [ 'variant' ];
|
||||
$variant = $__blaze->getConsumableData('variant'); unset($attributes['variant']);
|
||||
unset($__awareDefaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'iconVariant' => 'outline',
|
||||
'iconTrailing' => null,
|
||||
'badgeColor' => null,
|
||||
'variant' => null,
|
||||
'iconDot' => null,
|
||||
'accent' => true,
|
||||
'badge' => null,
|
||||
'icon' => null,
|
||||
];
|
||||
$iconVariant ??= $attributes['icon-variant'] ?? $attributes['iconVariant'] ?? $__defaults['iconVariant']; unset($attributes['iconVariant'], $attributes['icon-variant']);
|
||||
$iconTrailing ??= $attributes['icon-trailing'] ?? $attributes['iconTrailing'] ?? $__defaults['iconTrailing']; unset($attributes['iconTrailing'], $attributes['icon-trailing']);
|
||||
$badgeColor ??= $attributes['badge-color'] ?? $attributes['badgeColor'] ?? $__defaults['badgeColor']; unset($attributes['badgeColor'], $attributes['badge-color']);
|
||||
$variant ??= $attributes['variant'] ?? $__defaults['variant']; unset($attributes['variant']);
|
||||
$iconDot ??= $attributes['icon-dot'] ?? $attributes['iconDot'] ?? $__defaults['iconDot']; unset($attributes['iconDot'], $attributes['icon-dot']);
|
||||
$accent ??= $attributes['accent'] ?? $__defaults['accent']; unset($attributes['accent']);
|
||||
$badge ??= $attributes['badge'] ?? $__defaults['badge']; unset($attributes['badge']);
|
||||
$icon ??= $attributes['icon'] ?? $__defaults['icon']; unset($attributes['icon']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
// Button should be a square if it has no text contents...
|
||||
$square ??= $slot->isEmpty();
|
||||
|
||||
// Size-up icons in square/icon-only buttons...
|
||||
$iconClasses = Flux::classes($square ? 'size-5!' : 'size-4!');
|
||||
|
||||
$classes = Flux::classes()
|
||||
->add('h-10 lg:h-8 relative flex items-center gap-3 rounded-lg')
|
||||
->add($square ? 'px-2.5!' : '')
|
||||
->add('py-0 text-start w-full px-3 my-px')
|
||||
->add('text-zinc-500 dark:text-white/80')
|
||||
->add(match ($variant) {
|
||||
'outline' => match ($accent) {
|
||||
true => [
|
||||
'data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content)',
|
||||
'data-current:bg-white dark:data-current:bg-white/[7%] data-current:border data-current:border-zinc-200 dark:data-current:border-transparent',
|
||||
'hover:text-zinc-800 dark:hover:text-white dark:hover:bg-white/[7%] hover:bg-zinc-800/5 ',
|
||||
'border border-transparent',
|
||||
],
|
||||
false => [
|
||||
'data-current:text-zinc-800 dark:data-current:text-zinc-100 data-current:border-zinc-200',
|
||||
'data-current:bg-white dark:data-current:bg-white/10 data-current:border data-current:border-zinc-200 dark:data-current:border-white/10 data-current:shadow-xs',
|
||||
'hover:text-zinc-800 dark:hover:text-white',
|
||||
],
|
||||
},
|
||||
default => match ($accent) {
|
||||
true => [
|
||||
'data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content)',
|
||||
'data-current:bg-zinc-800/[4%] dark:data-current:bg-white/[7%]',
|
||||
'hover:text-zinc-800 dark:hover:text-white hover:bg-zinc-800/[4%] dark:hover:bg-white/[7%]',
|
||||
],
|
||||
false => [
|
||||
'data-current:text-zinc-800 dark:data-current:text-zinc-100',
|
||||
'data-current:bg-zinc-800/[4%] dark:data-current:bg-white/10',
|
||||
'hover:text-zinc-800 dark:hover:text-white hover:bg-zinc-800/[4%] dark:hover:bg-white/10',
|
||||
],
|
||||
},
|
||||
})
|
||||
;
|
||||
?>
|
||||
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button-or-link.blade.php', $__blaze->compiledPath.'/0ce2b11ed180c4dc0167f11a527ecb34.php'); ?>
|
||||
<?php if (isset($__slots0ce2b11ed180c4dc0167f11a527ecb34)) { $__slotsStack0ce2b11ed180c4dc0167f11a527ecb34[] = $__slots0ce2b11ed180c4dc0167f11a527ecb34; } ?>
|
||||
<?php if (isset($__attrs0ce2b11ed180c4dc0167f11a527ecb34)) { $__attrsStack0ce2b11ed180c4dc0167f11a527ecb34[] = $__attrs0ce2b11ed180c4dc0167f11a527ecb34; } ?>
|
||||
<?php $__attrs0ce2b11ed180c4dc0167f11a527ecb34 = ['attributes' => $attributes->class($classes),'dataFluxNavlistItem' => true]; ?>
|
||||
<?php $__slots0ce2b11ed180c4dc0167f11a527ecb34 = []; ?>
|
||||
<?php $__blaze->pushData($__attrs0ce2b11ed180c4dc0167f11a527ecb34); ?>
|
||||
<?php ob_start(); ?>
|
||||
<?php if ($icon): ?>
|
||||
<div class="relative">
|
||||
<?php if (is_string($icon) && $icon !== ''): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $icon, 'variant' => $iconVariant, 'class' => $iconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $icon,'variant' => $iconVariant,'class' => $iconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $icon,'variant' => $iconVariant,'class' => $iconClasses], [], ['icon', 'variant'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php else: ?>
|
||||
<?php echo e($icon); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($iconDot): ?>
|
||||
<div class="absolute top-[-2px] end-[-2px]">
|
||||
<div class="size-[6px] rounded-full bg-zinc-500 dark:bg-zinc-400"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($slot->isNotEmpty()): ?>
|
||||
<div class="flex-1 text-sm font-medium leading-none whitespace-nowrap [[data-nav-footer]_&]:hidden [[data-nav-sidebar]_[data-nav-footer]_&]:block" data-content><?php echo e($slot); ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (is_string($iconTrailing) && $iconTrailing !== ''): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconTrailing, 'variant' => $iconVariant, 'class' => 'size-4!']); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconTrailing,'variant' => $iconVariant,'class' => 'size-4!']); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconTrailing,'variant' => $iconVariant,'class' => 'size-4!'], [], ['icon', 'variant'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php elseif ($iconTrailing): ?>
|
||||
<?php echo e($iconTrailing); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($badge) && $badge !== ''): ?>
|
||||
<?php $badgeAttributes = Flux::attributesAfter('badge:', $attributes, ['color' => $badgeColor]); ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/navlist/badge.blade.php', $__blaze->compiledPath.'/d6f0e8f201ea668d6d5f2ae1e30f6d6e.php'); ?>
|
||||
<?php if (isset($__slotsd6f0e8f201ea668d6d5f2ae1e30f6d6e)) { $__slotsStackd6f0e8f201ea668d6d5f2ae1e30f6d6e[] = $__slotsd6f0e8f201ea668d6d5f2ae1e30f6d6e; } ?>
|
||||
<?php if (isset($__attrsd6f0e8f201ea668d6d5f2ae1e30f6d6e)) { $__attrsStackd6f0e8f201ea668d6d5f2ae1e30f6d6e[] = $__attrsd6f0e8f201ea668d6d5f2ae1e30f6d6e; } ?>
|
||||
<?php $__attrsd6f0e8f201ea668d6d5f2ae1e30f6d6e = ['attributes' => $badgeAttributes]; ?>
|
||||
<?php $__slotsd6f0e8f201ea668d6d5f2ae1e30f6d6e = []; ?>
|
||||
<?php $__blaze->pushData($__attrsd6f0e8f201ea668d6d5f2ae1e30f6d6e); ?>
|
||||
<?php ob_start(); ?><?php echo e($badge); ?><?php $__slotsd6f0e8f201ea668d6d5f2ae1e30f6d6e['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slotsd6f0e8f201ea668d6d5f2ae1e30f6d6e); ?>
|
||||
<?php _d6f0e8f201ea668d6d5f2ae1e30f6d6e($__blaze, $__attrsd6f0e8f201ea668d6d5f2ae1e30f6d6e, $__slotsd6f0e8f201ea668d6d5f2ae1e30f6d6e, ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStackd6f0e8f201ea668d6d5f2ae1e30f6d6e)) { $__slotsd6f0e8f201ea668d6d5f2ae1e30f6d6e = array_pop($__slotsStackd6f0e8f201ea668d6d5f2ae1e30f6d6e); } ?>
|
||||
<?php if (! empty($__attrsStackd6f0e8f201ea668d6d5f2ae1e30f6d6e)) { $__attrsd6f0e8f201ea668d6d5f2ae1e30f6d6e = array_pop($__attrsStackd6f0e8f201ea668d6d5f2ae1e30f6d6e); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php endif; ?>
|
||||
<?php $__slots0ce2b11ed180c4dc0167f11a527ecb34['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slots0ce2b11ed180c4dc0167f11a527ecb34); ?>
|
||||
<?php _0ce2b11ed180c4dc0167f11a527ecb34($__blaze, $__attrs0ce2b11ed180c4dc0167f11a527ecb34, $__slots0ce2b11ed180c4dc0167f11a527ecb34, ['attributes', 'dataFluxNavlistItem'], ['dataFluxNavlistItem' => 'data-flux-navlist-item'], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStack0ce2b11ed180c4dc0167f11a527ecb34)) { $__slots0ce2b11ed180c4dc0167f11a527ecb34 = array_pop($__slotsStack0ce2b11ed180c4dc0167f11a527ecb34); } ?>
|
||||
<?php if (! empty($__attrsStack0ce2b11ed180c4dc0167f11a527ecb34)) { $__attrs0ce2b11ed180c4dc0167f11a527ecb34 = array_pop($__attrsStack0ce2b11ed180c4dc0167f11a527ecb34); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/navlist/item.blade.php ENDPATH**/ ?>
|
||||
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Inventory Management')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Inventory Management'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-inventory-management">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Inventory Management</h1>
|
||||
<p class="mb-0 opacity-75">Track inventory movement, stock visibility, pallet quantities, and product availability.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-boxes"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">Stock Overview</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for stock overview.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">Pallet Quantity Rules</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for pallet quantity rules.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">Inventory Exceptions</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for inventory exceptions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">Product Movement</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for product movement.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Inventory Management workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Part Number</th>
|
||||
<th>Description</th>
|
||||
<th>Pallet Qty</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Stock Overview</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Pallet Quantity Rules</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Inventory Exceptions</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Product Movement</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/InventoryManagement/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,6 @@
|
||||
# Livewire
|
||||
|
||||
- Livewire allow to build dynamic, reactive interfaces in PHP without writing JavaScript.
|
||||
- You can use Alpine.js for client-side interactions instead of JavaScript frameworks.
|
||||
- Keep state server-side so the UI reflects it. Validate and authorize in actions as you would in HTTP requests.
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/535d56990e285f39e3e99bf188f787e4.blade.php ENDPATH**/ ?>
|
||||
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Sentinel Integration')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Sentinel Integration'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-sentinel-integration">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Sentinel Integration</h1>
|
||||
<p class="mb-0 opacity-75">Track Sentinel API activity, inbound receiver events, and interface status.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-broadcast"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">Sentinel Receiver</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for sentinel receiver.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">API Activity</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for api activity.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">Interface Health</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for interface health.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">Payload Archive</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for payload archive.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Sentinel Integration workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Endpoint</th>
|
||||
<th>Reference</th>
|
||||
<th>HTTP</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Sentinel Receiver</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>API Activity</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Interface Health</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Payload Archive</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/SentinelIntegration/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,6 @@
|
||||
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" <?php echo e($attributes); ?>>
|
||||
<path d="M2.75 2.75H5.614L5.316 2.114C5.069 1.587 4.54 1.25 3.958 1.25H2.25C1.422 1.25 0.75 1.922 0.75 2.75V4.75C0.75 3.645 1.645 2.75 2.75 2.75Z" />
|
||||
<path d="M0.75 4.75V2.75C0.75 1.922 1.422 1.25 2.25 1.25H3.958C4.54 1.25 5.069 1.587 5.316 2.114L5.614 2.75" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M2.75 2.75H9.25C10.355 2.75 11.25 3.645 11.25 4.75V8.25C11.25 9.355 10.355 10.25 9.25 10.25H2.75C1.645 10.25 0.75 9.355 0.75 8.25V4.75C0.75 3.645 1.645 2.75 2.75 2.75Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/folder.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 905 B |
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Security')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Security'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-security">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Security</h1>
|
||||
<p class="mb-0 opacity-75">Control roles, permissions, audit visibility, and protected administration actions.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-shield-check"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">Roles</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for roles.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">Permissions</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for permissions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">Admin Access</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for admin access.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">Security Audit</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for security audit.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Security workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Area</th>
|
||||
<th>Permission</th>
|
||||
<th>Role</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Roles</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Permissions</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Admin Access</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Security Audit</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/Modules/Security/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -1,84 +0,0 @@
|
||||
<?php # [BlazeFolded]:{flux::text}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/text.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::text}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/text.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php if (isset($component)) { $__componentOriginal08b8a564843783787e0bee3357e24f38 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal08b8a564843783787e0bee3357e24f38 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::auth','data' => ['title' => __('Email verification')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::auth'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Email verification'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="mt-4 flex flex-col gap-6">
|
||||
<?php ob_start(); ?><p class="[:where(&)]:font-normal [:where(&)]:text-sm [:where(&)]:text-zinc-500 [:where(&)]:dark:text-white/70 text-center" data-flux-text ><?php ob_start(); ?>
|
||||
<?php echo e(__('Please verify your email address by clicking on the link we just emailed to you.')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></p><?php echo ltrim(ob_get_clean()); ?>
|
||||
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(session('status') == 'verification-link-sent'): ?>
|
||||
<?php ob_start(); ?><p class="[:where(&)]:font-normal [:where(&)]:text-sm [:where(&)]:text-zinc-500 [:where(&)]:dark:text-white/70 text-center font-medium !dark:text-green-400 !text-green-600" data-flux-text ><?php ob_start(); ?>
|
||||
<?php echo e(__('A new verification link has been sent to the email address you provided during registration.')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></p><?php echo ltrim(ob_get_clean()); ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
|
||||
<div class="flex flex-col items-center justify-between space-y-3">
|
||||
<form method="POST" action="<?php echo e(route('verification.send')); ?>">
|
||||
<?php echo csrf_field(); ?>
|
||||
<?php ob_start(); ?><button type="submit" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)] text-[var(--color-accent-foreground)] border border-black/10 dark:border-0 shadow-[inset_0px_1px_--theme(--color-white/.2)] [[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none w-full" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target">
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
|
||||
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
|
||||
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
||||
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<span><?php ob_start(); ?>
|
||||
<?php echo e(__('Resend verification email')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></span>
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</form>
|
||||
|
||||
<form method="POST" action="<?php echo e(route('logout')); ?>">
|
||||
<?php echo csrf_field(); ?>
|
||||
<?php ob_start(); ?><button type="submit" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15 text-zinc-800 dark:text-white *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none text-sm cursor-pointer" data-flux-button="data-flux-button" data-test="logout-button">
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
|
||||
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
|
||||
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
||||
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<span><?php ob_start(); ?>
|
||||
<?php echo e(__('Log out')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></span>
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $attributes = $__attributesOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__attributesOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $component = $__componentOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__componentOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/livewire/auth/verify-email.blade.php ENDPATH**/ ?>
|
||||
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Replenishment')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Replenishment'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-replenishment">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Replenishment</h1>
|
||||
<p class="mb-0 opacity-75">Configure replenishment thresholds, review stock gaps, and monitor refill activity.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-arrow-repeat"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">Replenishment Rules</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for replenishment rules.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">Minimum Stock</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for minimum stock.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">Suggested Transfers</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for suggested transfers.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">Exception Queue</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for exception queue.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Replenishment workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Item</th>
|
||||
<th>Minimum</th>
|
||||
<th>Current</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Replenishment Rules</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Minimum Stock</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Suggested Transfers</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Exception Queue</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Replenishment/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,6 @@
|
||||
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" <?php echo e($attributes); ?>>
|
||||
<path d="M5.99996 10.6876C7.10936 10.6876 8.00871 8.58896 8.00871 6.00012C8.00871 3.41129 7.10936 1.31262 5.99996 1.31262C4.89056 1.31262 3.99121 3.41129 3.99121 6.00012C3.99121 8.58896 4.89056 10.6876 5.99996 10.6876Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M1.3125 6.00012H10.6875" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M6 10.6876C8.58883 10.6876 10.6875 8.58896 10.6875 6.00012C10.6875 3.41129 8.58883 1.31262 6 1.31262C3.41117 1.31262 1.3125 3.41129 1.3125 6.00012C1.3125 8.58896 3.41117 10.6876 6 10.6876Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/globe.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 991 B |
@@ -0,0 +1,12 @@
|
||||
@php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
@endphp
|
||||
# Laravel Pint Code Formatter
|
||||
|
||||
@if($assist->supportsPintAgentFormatter())
|
||||
- If you have modified any PHP files, you must run ___SINGLE_BACKTICK___{{ $assist->binCommand('pint') }} --dirty --format agent___SINGLE_BACKTICK___ before finalizing changes to ensure your code matches the project's expected style.
|
||||
- Do not run ___SINGLE_BACKTICK___{{ $assist->binCommand('pint') }} --test --format agent___SINGLE_BACKTICK___, simply run ___SINGLE_BACKTICK___{{ $assist->binCommand('pint') }} --format agent___SINGLE_BACKTICK___ to fix any formatting issues.
|
||||
@else
|
||||
- If you have modified any PHP files, you must run ___SINGLE_BACKTICK___{{ $assist->binCommand('pint') }} --dirty___SINGLE_BACKTICK___ before finalizing changes to ensure your code matches the project's expected style.
|
||||
- Do not run ___SINGLE_BACKTICK___{{ $assist->binCommand('pint') }} --test___SINGLE_BACKTICK___, simply run ___SINGLE_BACKTICK___{{ $assist->binCommand('pint') }}___SINGLE_BACKTICK___ to fix any formatting issues.
|
||||
@endif
|
||||
@@ -0,0 +1,3 @@
|
||||
# Deployment
|
||||
|
||||
- Laravel can be deployed using [Laravel Cloud](https://cloud.laravel.com/), which is the fastest way to deploy and scale production Laravel applications.
|
||||
@@ -1,125 +0,0 @@
|
||||
<?php # [BlazeFolded]:{flux::text}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/text.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::text}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/text.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php
|
||||
$__assetKey = '1913343547-0';
|
||||
|
||||
ob_start();
|
||||
?>
|
||||
<?php echo app('Illuminate\Foundation\Vite')('resources/js/passkeys.js'); ?>
|
||||
<?php
|
||||
$__output = ob_get_clean();
|
||||
|
||||
// If the asset has already been loaded anywhere during this request, skip it...
|
||||
if (in_array($__assetKey, \Livewire\Features\SupportScriptsAndAssets\SupportScriptsAndAssets::$alreadyRunAssetKeys)) {
|
||||
// Skip it...
|
||||
} else {
|
||||
\Livewire\Features\SupportScriptsAndAssets\SupportScriptsAndAssets::$alreadyRunAssetKeys[] = $__assetKey;
|
||||
|
||||
// Check if we're in a Livewire component or not and store the asset accordingly...
|
||||
if (isset($this)) {
|
||||
\Livewire\store($this)->push('assets', $__output, $__assetKey);
|
||||
} else {
|
||||
\Livewire\Features\SupportScriptsAndAssets\SupportScriptsAndAssets::$nonLivewireAssets[$__assetKey] = $__output;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<div
|
||||
x-data="{
|
||||
supported: false,
|
||||
showForm: false,
|
||||
name: '',
|
||||
loading: false,
|
||||
error: null,
|
||||
updateSupport() {
|
||||
this.supported = Boolean(window.Passkeys?.isSupported());
|
||||
},
|
||||
init() {
|
||||
this.updateSupport();
|
||||
|
||||
window.addEventListener('passkeys:ready', () => this.updateSupport(), { once: true });
|
||||
},
|
||||
async register() {
|
||||
if (!this.name.trim()) return;
|
||||
|
||||
this.loading = true;
|
||||
this.error = null;
|
||||
|
||||
try {
|
||||
await window.Passkeys.register({ name: this.name });
|
||||
this.name = '';
|
||||
this.showForm = false;
|
||||
await $wire.loadPasskeys();
|
||||
} catch (e) {
|
||||
if (e.constructor?.name !== 'UserCancelledError') {
|
||||
this.error = e.message;
|
||||
}
|
||||
} finally {
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
cancel() {
|
||||
this.showForm = false;
|
||||
this.name = '';
|
||||
this.error = null;
|
||||
},
|
||||
}"
|
||||
>
|
||||
<template x-if="!supported">
|
||||
<?php ob_start(); ?><p class="[:where(&)]:font-normal [:where(&)]:text-sm [:where(&)]:text-zinc-500 [:where(&)]:dark:text-white/70" data-flux-text ><?php ob_start(); ?><?php echo e(__('Passkeys are not supported in this browser.')); ?><?php echo trim(ob_get_clean()); ?></p><?php echo ltrim(ob_get_clean()); ?>
|
||||
</template>
|
||||
|
||||
<template x-if="supported && !showForm">
|
||||
<div>
|
||||
<?php ob_start(); ?><button type="button" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-3 pe-4 inline-flex bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)] text-[var(--color-accent-foreground)] border border-black/10 dark:border-0 shadow-[inset_0px_1px_--theme(--color-white/.2)] [[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)]" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" x-on:click="showForm = true">
|
||||
<svg class="shrink-0 [:where(&)]:size-4" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path d="M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z"/>
|
||||
</svg>
|
||||
|
||||
|
||||
|
||||
|
||||
<span><?php ob_start(); ?>
|
||||
<?php echo e(__('Add passkey')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></span>
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template x-if="supported && showForm">
|
||||
<div class="space-y-4 rounded-lg border border-zinc-200 dark:border-zinc-700 bg-zinc-50 dark:bg-zinc-800/50 p-4">
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php', $__blaze->compiledPath.'/0895d97ac72dcf2060e8a83465f0c2ce.php'); ?>
|
||||
<?php $__blaze->pushData(['label' => e(__('Passkey name')),'xModel' => 'name','placeholder' => e(__('e.g., MacBook Pro, iPhone')),'xOn:keydown.enter.prevent' => 'register()','xRef' => 'passkeyNameInput','xInit' => '$nextTick(() => $refs.passkeyNameInput?.focus())']); ?>
|
||||
<?php _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, ['label' => e(__('Passkey name')),'xModel' => 'name','placeholder' => e(__('e.g., MacBook Pro, iPhone')),'xOn:keydown.enter.prevent' => 'register()','xRef' => 'passkeyNameInput','xInit' => '$nextTick(() => $refs.passkeyNameInput?.focus())'], [], [], ['xModel' => 'x-model', 'xOn:keydown.enter.prevent' => 'x-on:keydown.enter.prevent', 'xRef' => 'x-ref', 'xInit' => 'x-init'], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php ob_start(); ?><p class="[:where(&)]:font-normal [:where(&)]:text-sm [:where(&)]:text-zinc-500 [:where(&)]:dark:text-white/70 !mt-1" data-flux-text ><?php ob_start(); ?><?php echo e(__('Give this passkey a name to help you identify it later.')); ?><?php echo trim(ob_get_clean()); ?></p><?php echo ltrim(ob_get_clean()); ?>
|
||||
|
||||
<p x-show="error" x-text="error" x-cloak class="text-sm text-red-600 dark:text-red-400"></p>
|
||||
|
||||
<div class="flex gap-2">
|
||||
<?php ob_start(); ?><button type="button" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)] text-[var(--color-accent-foreground)] border border-black/10 dark:border-0 shadow-[inset_0px_1px_--theme(--color-white/.2)] [[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)]" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" x-on:click="register()" x-bind:disabled="loading || !name.trim()">
|
||||
<?php ob_start(); ?>
|
||||
<span x-show="!loading"><?php echo e(__('Register passkey')); ?></span>
|
||||
<span x-show="loading" x-cloak><?php echo e(__('Registering...')); ?></span>
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
<?php ob_start(); ?><button type="button" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15 text-zinc-800 dark:text-white" data-flux-button="data-flux-button" x-on:click="cancel()">
|
||||
<?php ob_start(); ?>
|
||||
<?php echo e(__('Cancel')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/components/passkey-registration.blade.php ENDPATH**/ ?>
|
||||
@@ -1,40 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Validation Rules')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Validation Rules'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||
<h1 class="text-2xl font-bold">Warehouse validation rules</h1>
|
||||
<form method="POST" action="<?php echo e(route('warehouse-rules.store')); ?>" class="mt-5 grid gap-4 md:grid-cols-6">
|
||||
<?php echo csrf_field(); ?>
|
||||
<select name="warehouse_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $warehouses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><option value="<?php echo e($warehouse->id); ?>"><?php echo e($warehouse->name); ?></option><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></select>
|
||||
<input name="name" placeholder="Rule name" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<input name="rule_key" placeholder="stock.location.required" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<select name="severity" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><option>error</option><option>warning</option><option>blocker</option><option>info</option></select>
|
||||
<input name="configuration" placeholder='{"min": 1}' class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<button class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Add rule</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800"><table class="min-w-full text-sm"><thead><tr class="border-b"><th class="p-4 text-left">Warehouse</th><th class="p-4 text-left">Rule</th><th class="p-4 text-left">Key</th><th class="p-4 text-left">Severity</th></tr></thead><tbody><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $rules; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $rule): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><tr class="border-b border-zinc-100 dark:border-zinc-800"><td class="p-4"><?php echo e($rule->warehouse->name); ?></td><td class="p-4 font-semibold"><?php echo e($rule->name); ?></td><td class="p-4"><code><?php echo e($rule->rule_key); ?></code></td><td class="p-4"><?php echo e($rule->severity); ?></td></tr><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></tbody></table></div>
|
||||
<?php echo e($rules->links()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Warehouse/Providers/../resources/views/rules/index.blade.php ENDPATH**/ ?>
|
||||
@@ -15,8 +15,8 @@
|
||||
<div class="flex flex-col gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<p class="text-sm font-semibold uppercase tracking-[0.3em] text-cyan-300">Platform</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-5xl">Platform pricing</h1>
|
||||
<p class="mt-3 max-w-2xl text-slate-300">Choose the right WMS plan for warehouse visibility, operational control and enterprise-grade administration.</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-4xl">Platform pricing</h1>
|
||||
<p class="mt-3 max-w-3xl text-base leading-7 text-slate-300">Choose the right WMS plan for warehouse visibility, operational control and enterprise-grade administration.</p>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-3 sm:min-w-80 sm:grid-cols-2">
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php use \Illuminate\Foundation\Exceptions\Renderer\Renderer; ?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
|
||||
|
||||
<title><?php echo e(config('app.name', 'Laravel')); ?></title>
|
||||
|
||||
<link
|
||||
rel="icon" type="image/svg+xml"
|
||||
href="data:image/svg+xml,%3Csvg viewBox='0 -.11376601 49.74245785 51.31690859' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m49.626 11.564a.809.809 0 0 1 .028.209v10.972a.8.8 0 0 1 -.402.694l-9.209 5.302v10.509c0 .286-.152.55-.4.694l-19.223 11.066c-.044.025-.092.041-.14.058-.018.006-.035.017-.054.022a.805.805 0 0 1 -.41 0c-.022-.006-.042-.018-.063-.026-.044-.016-.09-.03-.132-.054l-19.219-11.066a.801.801 0 0 1 -.402-.694v-32.916c0-.072.01-.142.028-.21.006-.023.02-.044.028-.067.015-.042.029-.085.051-.124.015-.026.037-.047.055-.071.023-.032.044-.065.071-.093.023-.023.053-.04.079-.06.029-.024.055-.05.088-.069h.001l9.61-5.533a.802.802 0 0 1 .8 0l9.61 5.533h.002c.032.02.059.045.088.068.026.02.055.038.078.06.028.029.048.062.072.094.017.024.04.045.054.071.023.04.036.082.052.124.008.023.022.044.028.068a.809.809 0 0 1 .028.209v20.559l8.008-4.611v-10.51c0-.07.01-.141.028-.208.007-.024.02-.045.028-.068.016-.042.03-.085.052-.124.015-.026.037-.047.054-.071.024-.032.044-.065.072-.093.023-.023.052-.04.078-.06.03-.024.056-.05.088-.069h.001l9.611-5.533a.801.801 0 0 1 .8 0l9.61 5.533c.034.02.06.045.09.068.025.02.054.038.077.06.028.029.048.062.072.094.018.024.04.045.054.071.023.039.036.082.052.124.009.023.022.044.028.068zm-1.574 10.718v-9.124l-3.363 1.936-4.646 2.675v9.124l8.01-4.611zm-9.61 16.505v-9.13l-4.57 2.61-13.05 7.448v9.216zm-36.84-31.068v31.068l17.618 10.143v-9.214l-9.204-5.209-.003-.002-.004-.002c-.031-.018-.057-.044-.086-.066-.025-.02-.054-.036-.076-.058l-.002-.003c-.026-.025-.044-.056-.066-.084-.02-.027-.044-.05-.06-.078l-.001-.003c-.018-.03-.029-.066-.042-.1-.013-.03-.03-.058-.038-.09v-.001c-.01-.038-.012-.078-.016-.117-.004-.03-.012-.06-.012-.09v-21.483l-4.645-2.676-3.363-1.934zm8.81-5.994-8.007 4.609 8.005 4.609 8.006-4.61-8.006-4.608zm4.164 28.764 4.645-2.674v-20.096l-3.363 1.936-4.646 2.675v20.096zm24.667-23.325-8.006 4.609 8.006 4.609 8.005-4.61zm-.801 10.605-4.646-2.675-3.363-1.936v9.124l4.645 2.674 3.364 1.937zm-18.422 20.561 11.743-6.704 5.87-3.35-8-4.606-9.211 5.303-8.395 4.833z' fill='%23ff2d20'/%3E%3C/svg%3E"
|
||||
/>
|
||||
|
||||
<?php echo Renderer::css(); ?>
|
||||
|
||||
</head>
|
||||
<body class="font-sans antialiased overflow-x-hidden bg-neutral-50 dark:bg-neutral-900 dark:text-white scheme-light-dark">
|
||||
<div class="min-h-dvh">
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php echo Renderer::js(); ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/layout.blade.php ENDPATH**/ ?>
|
||||
@@ -56,6 +56,8 @@
|
||||
<span data-wms-sidebar-label><?php echo e(__('Dashboard')); ?></span>
|
||||
</a>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="wms-sidebar-group">
|
||||
@@ -325,62 +327,7 @@
|
||||
</aside>
|
||||
|
||||
<div class="wms-main-panel">
|
||||
<?php
|
||||
$pageTitle = $title ?? __('Warehouse Management System');
|
||||
$pageDescription = match (true) {
|
||||
request()->routeIs('platform.dashboard') => __('Manage tenant companies, licences, payments, warehouses and internal API operations from one resilient control plane.'),
|
||||
request()->routeIs('platform.prices.index') => __('Choose, publish and maintain Basic, Advanced and Pro WMS pricing from one controlled platform screen.'),
|
||||
request()->routeIs('platform.prices.create') => __('Create a professional customer-facing pricing card with billing values, features and visibility controls.'),
|
||||
request()->routeIs('platform.prices.edit') => __('Update pricing, plan features and card visibility while preserving the live platform layout.'),
|
||||
request()->routeIs('platform.companies.*') => __('Manage tenant companies, ownership, users and the warehouse records attached to each organisation.'),
|
||||
request()->routeIs('platform.licenses.*') => __('Review licence allocation, account status and platform access across MPBA tenants.'),
|
||||
request()->routeIs('platform.payments.*') => __('Track payment activity, paid totals and tenant billing status from one administration screen.'),
|
||||
request()->routeIs('warehouses.*') => __('Maintain warehouse locations, operational details and company ownership records.'),
|
||||
request()->routeIs('inventory-management.*') => __('Monitor inventory activity, stock positions and warehouse item control.'),
|
||||
request()->routeIs('analytics.*') => __('Review operational insight, warehouse trends and management reporting.'),
|
||||
default => __('Manage tenant companies, licences, payments, warehouses and internal API operations from one resilient control plane.'),
|
||||
};
|
||||
|
||||
$pageStats = match (true) {
|
||||
request()->routeIs('platform.prices.*') => [
|
||||
['label' => __('Plans'), 'value' => '3', 'icon' => 'fa-layer-group'],
|
||||
['label' => __('Billing'), 'value' => __('Monthly'), 'icon' => null],
|
||||
],
|
||||
default => [
|
||||
['label' => __('System status'), 'value' => __('OK'), 'icon' => 'fa-heart-pulse'],
|
||||
['label' => __('Paid £'), 'value' => '0.00', 'icon' => null],
|
||||
],
|
||||
};
|
||||
?>
|
||||
|
||||
<main class="wms-content">
|
||||
<section class="wms-page-hero" aria-labelledby="wms-page-title">
|
||||
<div class="wms-page-hero-copy">
|
||||
<div class="wms-page-hero-kicker"><?php echo e(__('MPBA WMS')); ?></div>
|
||||
<h1 id="wms-page-title" class="wms-page-hero-title"><?php echo e($pageTitle); ?></h1>
|
||||
<p class="wms-page-hero-description"><?php echo e($pageDescription); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="wms-page-hero-actions">
|
||||
<button type="button" class="wms-hero-mobile-menu" data-wms-mobile-open aria-label="<?php echo e(__('Open navigation')); ?>">
|
||||
<i class="fa-solid fa-bars" aria-hidden="true"></i>
|
||||
</button>
|
||||
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $pageStats; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $stat): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<div class="wms-page-hero-stat">
|
||||
<span><?php echo e($stat['label']); ?></span>
|
||||
<strong>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(! empty($stat['icon'])): ?>
|
||||
<i class="fa-solid <?php echo e($stat['icon']); ?>" aria-hidden="true"></i>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
<?php echo e($stat['value']); ?>
|
||||
|
||||
</strong>
|
||||
</div>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</main>
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
<div
|
||||
class="relative text-neutral-400 dark:text-neutral-400"
|
||||
x-data="{ spotlight: { x: 0, y: 0 } }"
|
||||
@mousemove="const rect = $el.getBoundingClientRect(); spotlight = { x: $event.clientX - rect.left, y: $event.clientY - rect.top }">
|
||||
<div
|
||||
class="absolute w-full text-neutral-800 dark:text-neutral-100"
|
||||
x-data="{ isDark: window.matchMedia('(prefers-color-scheme: dark)').matches || document.documentElement.classList.contains('dark') }"
|
||||
:style="
|
||||
'mask-image: radial-gradient(circle at ' +
|
||||
spotlight.x +
|
||||
'px ' +
|
||||
spotlight.y +
|
||||
'px, black 0%, transparent ' + (isDark ? '150px' : '120px') + '); -webkit-mask-image: radial-gradient(circle at ' +
|
||||
spotlight.x +
|
||||
'px ' +
|
||||
spotlight.y +
|
||||
'px, black 0%, transparent ' + (isDark ? '600px' : '400px') + ');'
|
||||
">
|
||||
<?php if (isset($component)) { $__componentOriginal2a45ee13943eadc15ee63d255f492356 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal2a45ee13943eadc15ee63d255f492356 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.laravel-ascii','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.laravel-ascii'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal2a45ee13943eadc15ee63d255f492356)): ?>
|
||||
<?php $attributes = $__attributesOriginal2a45ee13943eadc15ee63d255f492356; ?>
|
||||
<?php unset($__attributesOriginal2a45ee13943eadc15ee63d255f492356); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal2a45ee13943eadc15ee63d255f492356)): ?>
|
||||
<?php $component = $__componentOriginal2a45ee13943eadc15ee63d255f492356; ?>
|
||||
<?php unset($__componentOriginal2a45ee13943eadc15ee63d255f492356); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php if (isset($component)) { $__componentOriginal2a45ee13943eadc15ee63d255f492356 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal2a45ee13943eadc15ee63d255f492356 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.laravel-ascii','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.laravel-ascii'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal2a45ee13943eadc15ee63d255f492356)): ?>
|
||||
<?php $attributes = $__attributesOriginal2a45ee13943eadc15ee63d255f492356; ?>
|
||||
<?php unset($__attributesOriginal2a45ee13943eadc15ee63d255f492356); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal2a45ee13943eadc15ee63d255f492356)): ?>
|
||||
<?php $component = $__componentOriginal2a45ee13943eadc15ee63d255f492356; ?>
|
||||
<?php unset($__componentOriginal2a45ee13943eadc15ee63d255f492356); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/laravel-ascii-spotlight.blade.php ENDPATH**/ ?>
|
||||
@@ -1,66 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_3feb8572f4b247ceb864938a4490c071')):
|
||||
function _3feb8572f4b247ceb864938a4490c071($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'variant' => 'outline',
|
||||
];
|
||||
$variant ??= $attributes['variant'] ?? $__defaults['variant']; unset($attributes['variant']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$classes = Flux::classes('shrink-0')
|
||||
->add(match($variant) {
|
||||
'outline' => '[:where(&)]:size-6',
|
||||
'solid' => '[:where(&)]:size-6',
|
||||
'mini' => '[:where(&)]:size-5',
|
||||
'micro' => '[:where(&)]:size-4',
|
||||
});
|
||||
?>
|
||||
|
||||
<?php switch ($variant): case ('outline'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('solid'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('mini'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('micro'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php endswitch; ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/chevron-down.blade.php ENDPATH**/ ?>
|
||||
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Security')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Security'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-security">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Security</h1>
|
||||
<p class="mb-0 opacity-75">Control roles, permissions, audit visibility, and protected administration actions.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-shield-check"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">Roles</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for roles.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">Permissions</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for permissions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">Admin Access</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for admin access.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">Security Audit</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for security audit.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Security workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Area</th>
|
||||
<th>Permission</th>
|
||||
<th>Role</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Roles</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Permissions</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Admin Access</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Security Audit</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Security/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?php $__env->startSection('title', __('Forbidden')); ?>
|
||||
<?php $__env->startSection('code', '403'); ?>
|
||||
<?php $__env->startSection('message', __($exception->getMessage() ?: 'Forbidden')); ?>
|
||||
|
||||
<?php echo $__env->make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?><?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/errors/403.blade.php ENDPATH**/ ?>
|
||||
@@ -1,16 +0,0 @@
|
||||
<?php $layout->viewContext->mergeIntoNewEnvironment($__env); ?>
|
||||
|
||||
@component($layout->view, $layout->params)
|
||||
@slot($layout->slotOrSection)
|
||||
{!! $content !!}
|
||||
@endslot
|
||||
|
||||
<?php
|
||||
// Manually forward slots defined in the Livewire template into the layout component...
|
||||
foreach ($layout->viewContext->slots[-1] ?? [] as $name => $slot) {
|
||||
$__env->slot($name, attributes: $slot->attributes->getAttributes());
|
||||
echo $slot->toHtml();
|
||||
$__env->endSlot();
|
||||
}
|
||||
?>
|
||||
@endcomponent
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
name: fluxui-development
|
||||
description: "Use this skill for Flux UI development in Livewire applications only. Trigger when working with <flux:*> components, building or customizing Livewire component UIs, creating forms, modals, tables, or other interactive elements. Covers: flux: components (buttons, inputs, modals, forms, tables, date-pickers, kanban, badges, tooltips, etc.), component composition, Tailwind CSS styling, Heroicons/Lucide icon integration, validation patterns, responsive design, and theming. Do not use for non-Livewire frameworks or non-component styling."
|
||||
license: MIT
|
||||
metadata:
|
||||
author: laravel
|
||||
---
|
||||
@php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
@endphp
|
||||
# Flux UI Development
|
||||
|
||||
## Documentation
|
||||
|
||||
Use ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ for detailed Flux UI patterns and documentation.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
This project uses the free edition of Flux UI, which includes all free components and variants but not Pro components.
|
||||
|
||||
Flux UI is a component library for Livewire built with Tailwind CSS. It provides components that are easy to use and customize.
|
||||
|
||||
Use Flux UI components when available. Fall back to standard Blade components when no Flux component exists for your needs.
|
||||
|
||||
___BOOST_SNIPPET_0___
|
||||
|
||||
## Available Components (Free Edition)
|
||||
|
||||
Available: avatar, badge, brand, breadcrumbs, button, callout, card, checkbox, dropdown, field, heading, icon, input, modal, navbar, otp-input, pagination, profile, progress, radio, select, separator, skeleton, switch, table, text, textarea, toast, tooltip
|
||||
|
||||
## Icons
|
||||
|
||||
Flux includes [Heroicons](https://heroicons.com/) as its default icon set. Search for exact icon names on the Heroicons site - do not guess or invent icon names.
|
||||
|
||||
___BOOST_SNIPPET_1___
|
||||
|
||||
For icons not available in Heroicons, use [Lucide](https://lucide.dev/). Import the icons you need with the Artisan command:
|
||||
|
||||
___SINGLE_BACKTICK______SINGLE_BACKTICK______SINGLE_BACKTICK___bash
|
||||
{{ $assist->artisanCommand('flux:icon crown grip-vertical github') }}
|
||||
___SINGLE_BACKTICK______SINGLE_BACKTICK______SINGLE_BACKTICK___
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Form Fields
|
||||
|
||||
___BOOST_SNIPPET_2___
|
||||
|
||||
### Modals
|
||||
|
||||
___BOOST_SNIPPET_3___
|
||||
|
||||
## Verification
|
||||
|
||||
1. Check component renders correctly
|
||||
2. Test interactive states
|
||||
3. Verify mobile responsiveness
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Trying to use Pro-only components in the free edition
|
||||
- Not checking if a Flux component exists before creating custom implementations
|
||||
- Forgetting to use the ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ tool for component-specific documentation
|
||||
- Not following existing project patterns for Flux usage
|
||||
@@ -1,40 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Licence Keys')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Licence Keys'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($plainKey): ?><div class="rounded-2xl bg-emerald-50 p-4 text-emerald-900 ring-1 ring-emerald-200">New key: <code class="font-bold"><?php echo e($plainKey); ?></code></div><?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||
<h1 class="text-2xl font-bold">Licence keys</h1>
|
||||
<form method="POST" action="<?php echo e(route('platform.licenses.store')); ?>" class="mt-5 grid gap-4 md:grid-cols-5">
|
||||
<?php echo csrf_field(); ?>
|
||||
<select name="company_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $companies; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $company): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><option value="<?php echo e($company->id); ?>"><?php echo e($company->name); ?></option><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></select>
|
||||
<input name="label" placeholder="Licence label" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<select name="plan" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><option>standard</option><option>professional</option><option>enterprise</option></select>
|
||||
<input name="max_users" type="number" value="10" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<button class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Issue</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800"><table class="min-w-full text-sm"><thead><tr class="border-b"><th class="p-4 text-left">Company</th><th class="p-4 text-left">Label</th><th class="p-4 text-left">Plan</th><th class="p-4 text-left">Prefix</th><th class="p-4 text-left">Expires</th></tr></thead><tbody><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $licenses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $license): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><tr class="border-b border-zinc-100 dark:border-zinc-800"><td class="p-4"><?php echo e($license->company->name); ?></td><td class="p-4 font-semibold"><?php echo e($license->label); ?></td><td class="p-4"><?php echo e($license->plan); ?></td><td class="p-4"><code><?php echo e($license->key_prefix); ?></code></td><td class="p-4"><?php echo e(optional($license->expires_at)->toDateString()); ?></td></tr><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></tbody></table></div>
|
||||
<?php echo e($licenses->links()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/Modules/Platform/Providers/../resources/views/licenses/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,8 @@
|
||||
<section
|
||||
<?php echo e($attributes->merge(['class' => "w-full max-w-7xl mx-auto p-4 sm:p-14 border-x border-dashed border-neutral-300 dark:border-white/[9%]"])); ?>
|
||||
|
||||
>
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</section>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/section-container.blade.php ENDPATH**/ ?>
|
||||
@@ -1,65 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_50d7e9e02b0a09ef19c84ebdf6a22b69')):
|
||||
function _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
$__slots['slot'] ??= new \Illuminate\View\ComponentSlot('');
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'icon' => null,
|
||||
'name' => null,
|
||||
];
|
||||
$icon ??= $attributes['icon'] ?? $__defaults['icon']; unset($attributes['icon']);
|
||||
$name ??= $attributes['name'] ?? $__defaults['name']; unset($attributes['name']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$icon = $name ?? $icon;
|
||||
?>
|
||||
|
||||
<?php $__resolved = $__blaze->resolve('flux::' . 'icon.' . $icon); ?>
|
||||
<?php $__blaze->pushData($attributes->all()); ?>
|
||||
<?php if ($__resolved !== false): ?>
|
||||
<?php if (isset($__slotsa4ee29fd1f7dc8668566bb29201d64b5)) { $__slotsStacka4ee29fd1f7dc8668566bb29201d64b5[] = $__slotsa4ee29fd1f7dc8668566bb29201d64b5; } ?>
|
||||
<?php $__slotsa4ee29fd1f7dc8668566bb29201d64b5 = []; ?>
|
||||
<?php ob_start(); ?><?php echo e($slot); ?><?php $__slotsa4ee29fd1f7dc8668566bb29201d64b5['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__slotsa4ee29fd1f7dc8668566bb29201d64b5 = array_merge($__blaze->mergedComponentSlots(), $__slotsa4ee29fd1f7dc8668566bb29201d64b5); ?>
|
||||
<?php ('_' . $__resolved)($__blaze, $attributes->all(), $__slotsa4ee29fd1f7dc8668566bb29201d64b5, [], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStacka4ee29fd1f7dc8668566bb29201d64b5)) { $__slotsa4ee29fd1f7dc8668566bb29201d64b5 = array_pop($__slotsStacka4ee29fd1f7dc8668566bb29201d64b5); } ?>
|
||||
<?php else: ?>
|
||||
<?php if (!Flux::componentExists($name = 'icon.' . $icon)) throw new \Exception("Flux component [{$name}] does not exist."); ?><?php if (isset($component)) { $__componentOriginal99f5bdde02e072cb5fe2c95dd124b389 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal99f5bdde02e072cb5fe2c95dd124b389 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve([
|
||||
'view' => (app()->version() >= 12 ? hash('xxh128', 'flux') : md5('flux')) . '::' . 'icon.' . $icon,
|
||||
'data' => $__env->getCurrentComponentData(),
|
||||
] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('flux::' . 'icon.' . $icon); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php $component->withAttributes($attributes->getAttributes()); ?><?php echo e($slot); ?> <?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal99f5bdde02e072cb5fe2c95dd124b389)): ?>
|
||||
<?php $attributes = $__attributesOriginal99f5bdde02e072cb5fe2c95dd124b389; ?>
|
||||
<?php unset($__attributesOriginal99f5bdde02e072cb5fe2c95dd124b389); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal99f5bdde02e072cb5fe2c95dd124b389)): ?>
|
||||
<?php $component = $__componentOriginal99f5bdde02e072cb5fe2c95dd124b389; ?>
|
||||
<?php unset($__componentOriginal99f5bdde02e072cb5fe2c95dd124b389); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php unset($__resolved) ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,5 @@
|
||||
# Livewire
|
||||
|
||||
- Livewire allow to build dynamic, reactive interfaces in PHP without writing JavaScript.
|
||||
- You can use Alpine.js for client-side interactions instead of JavaScript frameworks.
|
||||
- Keep state server-side so the UI reflects it. Validate and authorize in actions as you would in HTTP requests.
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['method']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['method']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<?php
|
||||
$type = match ($method) {
|
||||
'GET', 'OPTIONS', 'ANY' => 'default',
|
||||
'POST' => 'success',
|
||||
'PUT', 'PATCH' => 'primary',
|
||||
'DELETE' => 'error',
|
||||
default => 'default',
|
||||
};
|
||||
?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.badge','data' => ['type' => ''.e($type).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::badge'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['type' => ''.e($type).'']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginalba2eecb54ab69c011eea9820c76048d8 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalba2eecb54ab69c011eea9820c76048d8 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.globe','data' => ['class' => 'w-2.5 h-2.5']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.globe'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-2.5 h-2.5']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalba2eecb54ab69c011eea9820c76048d8)): ?>
|
||||
<?php $attributes = $__attributesOriginalba2eecb54ab69c011eea9820c76048d8; ?>
|
||||
<?php unset($__attributesOriginalba2eecb54ab69c011eea9820c76048d8); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalba2eecb54ab69c011eea9820c76048d8)): ?>
|
||||
<?php $component = $__componentOriginalba2eecb54ab69c011eea9820c76048d8; ?>
|
||||
<?php unset($__componentOriginalba2eecb54ab69c011eea9820c76048d8); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo e($method); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb)): ?>
|
||||
<?php $attributes = $__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb; ?>
|
||||
<?php unset($__attributesOriginal0bc865510ef3ecddbe48edc4e8cc9ddb); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb)): ?>
|
||||
<?php $component = $__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb; ?>
|
||||
<?php unset($__componentOriginal0bc865510ef3ecddbe48edc4e8cc9ddb); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/http-method.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,45 @@
|
||||
@php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
@endphp
|
||||
# Laravel Boost Guidelines
|
||||
|
||||
The Laravel Boost guidelines are specifically curated by Laravel maintainers for this application. These guidelines should be followed closely to ensure the best experience when building Laravel applications.
|
||||
|
||||
## Foundational Context
|
||||
This application is a Laravel application and its main Laravel ecosystems package & versions are below. You are an expert with them all. Ensure you abide by these specific packages & versions.
|
||||
|
||||
- php - {{ PHP_MAJOR_VERSION }}.{{ PHP_MINOR_VERSION }}
|
||||
@foreach (app(\Laravel\Roster\Roster::class)->packages()->unique(fn ($package) => $package->rawName()) as $package)
|
||||
- {{ $package->rawName() }} ({{ $package->name() }}) - v{{ $package->majorVersion() }}
|
||||
@endforeach
|
||||
|
||||
@if (! empty(config('boost.purpose')))
|
||||
Application purpose: {!! config('boost.purpose') !!}
|
||||
|
||||
@endif
|
||||
|
||||
@if($assist->hasSkillsEnabled())
|
||||
## Skills Activation
|
||||
This project has domain-specific skills available in ___SINGLE_BACKTICK___**/skills/**___SINGLE_BACKTICK___. You MUST activate the relevant skill whenever you work in that domain—don't wait until you're stuck.
|
||||
@endif
|
||||
|
||||
## Conventions
|
||||
- You must follow all existing code conventions used in this application. When creating or editing a file, check sibling files for the correct structure, approach, and naming.
|
||||
- Use descriptive names for variables and methods. For example, ___SINGLE_BACKTICK___isRegisteredForDiscounts___SINGLE_BACKTICK___, not ___SINGLE_BACKTICK___discount()___SINGLE_BACKTICK___.
|
||||
- Check for existing components to reuse before writing a new one.
|
||||
|
||||
## Verification Scripts
|
||||
- Do not create verification scripts or tinker when tests cover that functionality and prove they work. Unit and feature tests are more important.
|
||||
|
||||
## Application Structure & Architecture
|
||||
- Stick to existing directory structure; don't create new base folders without approval.
|
||||
- Do not change the application's dependencies without approval.
|
||||
|
||||
## Frontend Bundling
|
||||
- If the user doesn't see a frontend change reflected in the UI, it could mean they need to run ___SINGLE_BACKTICK___{{ $assist->nodePackageManagerCommand('run build') }}___SINGLE_BACKTICK___, ___SINGLE_BACKTICK___{{ $assist->nodePackageManagerCommand('run dev') }}___SINGLE_BACKTICK___, or ___SINGLE_BACKTICK___{{ $assist->composerCommand('run dev') }}___SINGLE_BACKTICK___. Ask them.
|
||||
|
||||
## Documentation Files
|
||||
- You must only create documentation files if explicitly requested by the user.
|
||||
|
||||
## Replies
|
||||
- Be concise in your explanations - focus on what's important rather than explaining obvious details.
|
||||
@@ -0,0 +1,458 @@
|
||||
<?php if (isset($component)) { $__componentOriginalbbd4eeea836234825f7514ed20d2d52d = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalbbd4eeea836234825f7514ed20d2d52d = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.layout','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::layout'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'px-6 py-0 sm:py-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::section-container'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'px-6 py-0 sm:py-0']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal6769184c81828596613858780a973bc6 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal6769184c81828596613858780a973bc6 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.topbar','data' => ['title' => $exception->title(),'markdown' => $exceptionAsMarkdown]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::topbar'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->title()),'markdown' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exceptionAsMarkdown)]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal6769184c81828596613858780a973bc6)): ?>
|
||||
<?php $attributes = $__attributesOriginal6769184c81828596613858780a973bc6; ?>
|
||||
<?php unset($__attributesOriginal6769184c81828596613858780a973bc6); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal6769184c81828596613858780a973bc6)): ?>
|
||||
<?php $component = $__componentOriginal6769184c81828596613858780a973bc6; ?>
|
||||
<?php unset($__componentOriginal6769184c81828596613858780a973bc6); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $attributes = $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $component = $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal40a3de7997c05e5562c4104d90e9b634 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal40a3de7997c05e5562c4104d90e9b634 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::separator'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $attributes = $__attributesOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $component = $__componentOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__componentOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-8 py-0 sm:py-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::section-container'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'flex flex-col gap-8 py-0 sm:py-0']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal1e817eb3c41fe3ea9eb0c15213c4b557 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal1e817eb3c41fe3ea9eb0c15213c4b557 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.header','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::header'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal1e817eb3c41fe3ea9eb0c15213c4b557)): ?>
|
||||
<?php $attributes = $__attributesOriginal1e817eb3c41fe3ea9eb0c15213c4b557; ?>
|
||||
<?php unset($__attributesOriginal1e817eb3c41fe3ea9eb0c15213c4b557); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal1e817eb3c41fe3ea9eb0c15213c4b557)): ?>
|
||||
<?php $component = $__componentOriginal1e817eb3c41fe3ea9eb0c15213c4b557; ?>
|
||||
<?php unset($__componentOriginal1e817eb3c41fe3ea9eb0c15213c4b557); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $attributes = $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $component = $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal40a3de7997c05e5562c4104d90e9b634 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal40a3de7997c05e5562c4104d90e9b634 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.separator','data' => ['class' => '-mt-5 -z-10']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::separator'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => '-mt-5 -z-10']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $attributes = $__attributesOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $component = $__componentOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__componentOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-8 pt-14']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::section-container'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'flex flex-col gap-8 pt-14']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal92c1a431b4816bac5d5a20d0fc1238ab = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal92c1a431b4816bac5d5a20d0fc1238ab = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.trace','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::trace'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal92c1a431b4816bac5d5a20d0fc1238ab)): ?>
|
||||
<?php $attributes = $__attributesOriginal92c1a431b4816bac5d5a20d0fc1238ab; ?>
|
||||
<?php unset($__attributesOriginal92c1a431b4816bac5d5a20d0fc1238ab); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal92c1a431b4816bac5d5a20d0fc1238ab)): ?>
|
||||
<?php $component = $__componentOriginal92c1a431b4816bac5d5a20d0fc1238ab; ?>
|
||||
<?php unset($__componentOriginal92c1a431b4816bac5d5a20d0fc1238ab); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($exception->previousExceptions()->isNotEmpty()): ?>
|
||||
<?php if (isset($component)) { $__componentOriginal57933e9e29ce1ea934dd1d7d96c0d62e = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal57933e9e29ce1ea934dd1d7d96c0d62e = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.previous-exceptions','data' => ['exception' => $exception]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::previous-exceptions'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['exception' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception)]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal57933e9e29ce1ea934dd1d7d96c0d62e)): ?>
|
||||
<?php $attributes = $__attributesOriginal57933e9e29ce1ea934dd1d7d96c0d62e; ?>
|
||||
<?php unset($__attributesOriginal57933e9e29ce1ea934dd1d7d96c0d62e); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal57933e9e29ce1ea934dd1d7d96c0d62e)): ?>
|
||||
<?php $component = $__componentOriginal57933e9e29ce1ea934dd1d7d96c0d62e; ?>
|
||||
<?php unset($__componentOriginal57933e9e29ce1ea934dd1d7d96c0d62e); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginalb73d2d8821ad40718c243f895ec0c546 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalb73d2d8821ad40718c243f895ec0c546 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.query','data' => ['queries' => $exception->applicationQueries()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::query'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['queries' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationQueries())]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalb73d2d8821ad40718c243f895ec0c546)): ?>
|
||||
<?php $attributes = $__attributesOriginalb73d2d8821ad40718c243f895ec0c546; ?>
|
||||
<?php unset($__attributesOriginalb73d2d8821ad40718c243f895ec0c546); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalb73d2d8821ad40718c243f895ec0c546)): ?>
|
||||
<?php $component = $__componentOriginalb73d2d8821ad40718c243f895ec0c546; ?>
|
||||
<?php unset($__componentOriginalb73d2d8821ad40718c243f895ec0c546); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $attributes = $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $component = $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal40a3de7997c05e5562c4104d90e9b634 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal40a3de7997c05e5562c4104d90e9b634 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::separator'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $attributes = $__attributesOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $component = $__componentOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__componentOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'flex flex-col gap-12']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::section-container'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'flex flex-col gap-12']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginalcc330c991c1b19cde28fea414de1b6cb = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalcc330c991c1b19cde28fea414de1b6cb = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.request-header','data' => ['headers' => $exception->requestHeaders()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::request-header'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['headers' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->requestHeaders())]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalcc330c991c1b19cde28fea414de1b6cb)): ?>
|
||||
<?php $attributes = $__attributesOriginalcc330c991c1b19cde28fea414de1b6cb; ?>
|
||||
<?php unset($__attributesOriginalcc330c991c1b19cde28fea414de1b6cb); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalcc330c991c1b19cde28fea414de1b6cb)): ?>
|
||||
<?php $component = $__componentOriginalcc330c991c1b19cde28fea414de1b6cb; ?>
|
||||
<?php unset($__componentOriginalcc330c991c1b19cde28fea414de1b6cb); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal3ce7d5064193f9b8bde76eb6792e715a = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal3ce7d5064193f9b8bde76eb6792e715a = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.request-body','data' => ['body' => $exception->requestBody()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::request-body'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['body' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->requestBody())]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal3ce7d5064193f9b8bde76eb6792e715a)): ?>
|
||||
<?php $attributes = $__attributesOriginal3ce7d5064193f9b8bde76eb6792e715a; ?>
|
||||
<?php unset($__attributesOriginal3ce7d5064193f9b8bde76eb6792e715a); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal3ce7d5064193f9b8bde76eb6792e715a)): ?>
|
||||
<?php $component = $__componentOriginal3ce7d5064193f9b8bde76eb6792e715a; ?>
|
||||
<?php unset($__componentOriginal3ce7d5064193f9b8bde76eb6792e715a); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal40aab92597234e6686a03fbf91514afb = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal40aab92597234e6686a03fbf91514afb = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.routing','data' => ['routing' => $exception->applicationRouteContext()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::routing'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['routing' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationRouteContext())]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal40aab92597234e6686a03fbf91514afb)): ?>
|
||||
<?php $attributes = $__attributesOriginal40aab92597234e6686a03fbf91514afb; ?>
|
||||
<?php unset($__attributesOriginal40aab92597234e6686a03fbf91514afb); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal40aab92597234e6686a03fbf91514afb)): ?>
|
||||
<?php $component = $__componentOriginal40aab92597234e6686a03fbf91514afb; ?>
|
||||
<?php unset($__componentOriginal40aab92597234e6686a03fbf91514afb); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal982e77712eb0069b2ae32176000f422d = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal982e77712eb0069b2ae32176000f422d = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.routing-parameter','data' => ['routeParameters' => $exception->applicationRouteParametersContext()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::routing-parameter'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['routeParameters' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($exception->applicationRouteParametersContext())]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal982e77712eb0069b2ae32176000f422d)): ?>
|
||||
<?php $attributes = $__attributesOriginal982e77712eb0069b2ae32176000f422d; ?>
|
||||
<?php unset($__attributesOriginal982e77712eb0069b2ae32176000f422d); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal982e77712eb0069b2ae32176000f422d)): ?>
|
||||
<?php $component = $__componentOriginal982e77712eb0069b2ae32176000f422d; ?>
|
||||
<?php unset($__componentOriginal982e77712eb0069b2ae32176000f422d); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $attributes = $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $component = $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal40a3de7997c05e5562c4104d90e9b634 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal40a3de7997c05e5562c4104d90e9b634 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.separator','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::separator'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $attributes = $__attributesOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__attributesOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal40a3de7997c05e5562c4104d90e9b634)): ?>
|
||||
<?php $component = $__componentOriginal40a3de7997c05e5562c4104d90e9b634; ?>
|
||||
<?php unset($__componentOriginal40a3de7997c05e5562c4104d90e9b634); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(! app()->runningUnitTests() && ! app()->runningInConsole()): ?>
|
||||
<?php if (isset($component)) { $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.section-container','data' => ['class' => 'pb-0 sm:pb-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::section-container'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'pb-0 sm:pb-0']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal00da9961ee0aae6b56664f2b481f9f2e = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal00da9961ee0aae6b56664f2b481f9f2e = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.laravel-ascii-spotlight','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::laravel-ascii-spotlight'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal00da9961ee0aae6b56664f2b481f9f2e)): ?>
|
||||
<?php $attributes = $__attributesOriginal00da9961ee0aae6b56664f2b481f9f2e; ?>
|
||||
<?php unset($__attributesOriginal00da9961ee0aae6b56664f2b481f9f2e); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal00da9961ee0aae6b56664f2b481f9f2e)): ?>
|
||||
<?php $component = $__componentOriginal00da9961ee0aae6b56664f2b481f9f2e; ?>
|
||||
<?php unset($__componentOriginal00da9961ee0aae6b56664f2b481f9f2e); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $attributes = $__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__attributesOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b)): ?>
|
||||
<?php $component = $__componentOriginal1e2fb8a385bff5b6574eeb687cee100b; ?>
|
||||
<?php unset($__componentOriginal1e2fb8a385bff5b6574eeb687cee100b); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalbbd4eeea836234825f7514ed20d2d52d)): ?>
|
||||
<?php $attributes = $__attributesOriginalbbd4eeea836234825f7514ed20d2d52d; ?>
|
||||
<?php unset($__attributesOriginalbbd4eeea836234825f7514ed20d2d52d); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalbbd4eeea836234825f7514ed20d2d52d)): ?>
|
||||
<?php $component = $__componentOriginalbbd4eeea836234825f7514ed20d2d52d; ?>
|
||||
<?php unset($__componentOriginalbbd4eeea836234825f7514ed20d2d52d); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/show.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,11 @@
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg" <?php echo e($attributes); ?>>
|
||||
<g clip-path="url(#clip0_14732_6105)">
|
||||
<path d="M9.87466 7.8287L5.92654 0.549947C5.82917 0.369362 5.68068 0.221523 5.49966 0.124947C5.25374 -0.00665839 4.9658 -0.0358401 4.69847 0.0437494C4.43115 0.123339 4.20606 0.305262 4.07216 0.549947L0.124664 7.8287C0.0383472 7.98887 -0.00481098 8.16875 -0.000569449 8.35066C0.00367208 8.53256 0.0551674 8.71024 0.148856 8.86622C0.242546 9.0222 0.375205 9.15112 0.533798 9.24031C0.692391 9.32951 0.871462 9.37591 1.05341 9.37495H8.94591C9.12031 9.37495 9.29203 9.33202 9.44591 9.24995C9.56783 9.18524 9.67572 9.09703 9.76338 8.99041C9.85104 8.8838 9.91672 8.76088 9.95663 8.62876C9.99655 8.49663 10.0099 8.35791 9.99595 8.22059C9.98199 8.08328 9.94036 7.95009 9.87466 7.8287ZM4.99966 8.12495C4.87605 8.12495 4.75521 8.08829 4.65243 8.01962C4.54965 7.95094 4.46954 7.85333 4.42224 7.73912C4.37493 7.62492 4.36256 7.49925 4.38667 7.37802C4.41079 7.25678 4.47031 7.14541 4.55772 7.05801C4.64513 6.9706 4.75649 6.91107 4.87773 6.88696C4.99897 6.86284 5.12464 6.87522 5.23884 6.92252C5.35304 6.96983 5.45066 7.04993 5.51933 7.15272C5.58801 7.2555 5.62466 7.37633 5.62466 7.49995C5.62466 7.66571 5.55882 7.82468 5.44161 7.94189C5.3244 8.0591 5.16542 8.12495 4.99966 8.12495ZM5.62466 5.93745C5.62466 6.02033 5.59174 6.09981 5.53313 6.15842C5.47453 6.21702 5.39504 6.24995 5.31216 6.24995H4.68716C4.60428 6.24995 4.5248 6.21702 4.46619 6.15842C4.40759 6.09981 4.37466 6.02033 4.37466 5.93745V3.43745C4.37466 3.35457 4.40759 3.27508 4.46619 3.21648C4.5248 3.15787 4.60428 3.12495 4.68716 3.12495H5.31216C5.39504 3.12495 5.47453 3.15787 5.53313 3.21648C5.59174 3.27508 5.62466 3.35457 5.62466 3.43745V5.93745Z" fill="currentColor" />
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_14732_6105">
|
||||
<rect width="10" height="10" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/alert.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -1,40 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Payments')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Payments'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||
<h1 class="text-2xl font-bold">Payments and overrides</h1>
|
||||
<form method="POST" action="<?php echo e(route('platform.payments.store')); ?>" class="mt-5 grid gap-4 md:grid-cols-6">
|
||||
<?php echo csrf_field(); ?>
|
||||
<select name="company_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $companies; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $company): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><option value="<?php echo e($company->id); ?>"><?php echo e($company->name); ?></option><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></select>
|
||||
<input name="amount" type="number" value="0" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<input name="currency" value="gbp" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<select name="status" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><option>paid</option><option>pending</option><option>failed</option><option>refunded</option><option>override</option></select>
|
||||
<input name="description" placeholder="Description" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<button class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Add</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800"><table class="min-w-full text-sm"><thead><tr class="border-b"><th class="p-4 text-left">Company</th><th class="p-4 text-left">Amount</th><th class="p-4 text-left">Status</th><th class="p-4 text-left">Description</th></tr></thead><tbody><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $payments; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $payment): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><tr class="border-b border-zinc-100 dark:border-zinc-800"><td class="p-4"><?php echo e($payment->company->name); ?></td><td class="p-4 font-semibold"><?php echo e(strtoupper($payment->currency)); ?> <?php echo e(number_format($payment->amount / 100, 2)); ?></td><td class="p-4"><?php echo e($payment->status); ?></td><td class="p-4"><?php echo e($payment->description); ?></td></tr><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></tbody></table></div>
|
||||
<?php echo e($payments->links()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/Platform/Providers/../resources/views/payments/index.blade.php ENDPATH**/ ?>
|
||||
@@ -1,121 +0,0 @@
|
||||
<?php # [BlazeFolded]:{flux::heading}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/heading.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::subheading}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/subheading.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::modal.trigger}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/modal/trigger.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::heading}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/heading.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::subheading}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/subheading.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::modal.close}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/modal/close.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::modal}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/modal/index.blade.php}:{1776985208} ?>
|
||||
<section class="mt-10 space-y-6">
|
||||
<div class="relative mb-5">
|
||||
<?php ob_start(); ?><div class="font-medium [:where(&)]:text-zinc-800 [:where(&)]:dark:text-white text-sm [&:has(+[data-flux-subheading])]:mb-2 [[data-flux-subheading]+&]:mt-2" data-flux-heading><?php ob_start(); ?><?php echo e(__('Delete account')); ?><?php echo trim(ob_get_clean()); ?></div>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
<?php ob_start(); ?><div class="text-sm [:where(&)]:text-zinc-500 [:where(&)]:dark:text-white/70" data-flux-subheading>
|
||||
<?php ob_start(); ?><?php echo e(__('Delete your account and all of its resources')); ?><?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
|
||||
<?php ob_start(); ?><div
|
||||
class="contents"
|
||||
x-data
|
||||
x-on:click="$el.querySelector('button[disabled]') || $dispatch('modal-show', { name: 'confirm-user-deletion' })"
|
||||
data-flux-modal-trigger
|
||||
>
|
||||
<?php ob_start(); ?>
|
||||
<?php ob_start(); ?><button type="button" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-red-500 hover:bg-red-600 dark:bg-red-600 dark:hover:bg-red-500 text-white shadow-[inset_0px_1px_var(--color-red-500),inset_0px_2px_--theme(--color-white/.15)] dark:shadow-none [[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-red-600 dark:[[data-flux-button-group]_&]:border-red-900/25" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" x-data="" x-on:click.prevent="$dispatch('open-modal', 'confirm-user-deletion')">
|
||||
<?php ob_start(); ?>
|
||||
<?php echo e(__('Delete account')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
|
||||
<?php ob_start(); ?><ui-modal <?php if (($__blazeAttr = $errors->isNotEmpty()) !== false && !is_null($__blazeAttr)): ?>show="<?php echo e($__blazeAttr === true ? 'show' : $__blazeAttr); ?>"<?php endif; unset($__blazeAttr); ?> focusable="focusable" data-flux-modal>
|
||||
|
||||
<dialog
|
||||
wire:ignore.self
|
||||
class="p-6 [:where(&)]:max-w-xl [:where(&)]:min-w-xs shadow-lg rounded-xl bg-white dark:bg-zinc-800 ring ring-black/5 dark:ring-zinc-700 shadow-lg rounded-xl max-w-lg"
|
||||
data-modal="confirm-user-deletion" <?php if (isset($scope)) $__scope = $scope; ?><?php $scope = array (
|
||||
'name' => 'confirm-user-deletion',
|
||||
); ?>
|
||||
x-data="fluxModal(<?php echo \Illuminate\Support\Js::from($scope['name'])->toHtml() ?>, <?php echo \Illuminate\Support\Js::from(isset($__livewire) ? $__livewire->getId() : null)->toHtml() ?>)"
|
||||
<?php if (isset($__scope)) { $scope = $__scope; unset($__scope); } ?>
|
||||
x-on:modal-show.document="handleShow($event)"
|
||||
x-on:modal-close.document="handleClose($event)"
|
||||
>
|
||||
<?php ob_start(); ?>
|
||||
<form method="POST" wire:submit="deleteUser" class="space-y-6">
|
||||
<div>
|
||||
<?php ob_start(); ?><div class="font-medium [:where(&)]:text-zinc-800 [:where(&)]:dark:text-white text-base [&:has(+[data-flux-subheading])]:mb-2 [[data-flux-subheading]+&]:mt-2" data-flux-heading><?php ob_start(); ?><?php echo e(__('Are you sure you want to delete your account?')); ?><?php echo trim(ob_get_clean()); ?></div>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
|
||||
<?php ob_start(); ?><div class="text-sm [:where(&)]:text-zinc-500 [:where(&)]:dark:text-white/70" data-flux-subheading>
|
||||
<?php ob_start(); ?>
|
||||
<?php echo e(__('Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php', $__blaze->compiledPath.'/0895d97ac72dcf2060e8a83465f0c2ce.php'); ?>
|
||||
<?php $__blaze->pushData(['wire:model' => 'password','label' => __('Password'),'type' => 'password','viewable' => true]); ?>
|
||||
<?php _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, ['wire:model' => 'password','label' => __('Password'),'type' => 'password','viewable' => true], [], ['label', 'viewable'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
|
||||
<div class="flex justify-end space-x-2 rtl:space-x-reverse">
|
||||
<?php ob_start(); ?><ui-close data-flux-modal-close >
|
||||
<?php ob_start(); ?>
|
||||
<?php ob_start(); ?><button type="button" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-zinc-800/5 hover:bg-zinc-800/10 dark:bg-white/10 dark:hover:bg-white/20 text-zinc-800 dark:text-white [[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-zinc-200/80 dark:[[data-flux-button-group]_&]:border-zinc-900/50" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target">
|
||||
<?php ob_start(); ?><?php echo e(__('Cancel')); ?><?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</ui-close>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
|
||||
<?php ob_start(); ?><button type="submit" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-red-500 hover:bg-red-600 dark:bg-red-600 dark:hover:bg-red-500 text-white shadow-[inset_0px_1px_var(--color-red-500),inset_0px_2px_--theme(--color-white/.15)] dark:shadow-none [[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-red-600 dark:[[data-flux-button-group]_&]:border-red-900/25 *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target">
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
|
||||
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
|
||||
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
||||
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<span><?php ob_start(); ?><?php echo e(__('Delete account')); ?><?php echo trim(ob_get_clean()); ?></span>
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
</form>
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
|
||||
<div class="absolute top-0 end-0 mt-4 me-4">
|
||||
<ui-close data-flux-modal-close >
|
||||
<button type="button" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-8 text-sm rounded-md w-8 inline-flex bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15 text-zinc-800 dark:text-white text-zinc-400! hover:text-zinc-800! dark:text-zinc-500! dark:hover:text-white!" data-flux-button="data-flux-button" aria-label="Close modal">
|
||||
<svg class="shrink-0 [:where(&)]:size-5" data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path d="M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"/>
|
||||
</svg>
|
||||
</button>
|
||||
</ui-close>
|
||||
</div>
|
||||
</dialog>
|
||||
</ui-modal>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</section>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/livewire/settings/delete-user-form.blade.php ENDPATH**/ ?>
|
||||
@@ -1,121 +0,0 @@
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php if (isset($component)) { $__componentOriginal08b8a564843783787e0bee3357e24f38 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal08b8a564843783787e0bee3357e24f38 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::auth','data' => ['title' => __('Confirm password')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::auth'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Confirm password'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="flex flex-col gap-6">
|
||||
<?php if (isset($component)) { $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-header','data' => ['title' => __('Confirm password'),'description' => __('This is a secure area of the application. Please confirm your password before continuing.')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-header'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Confirm password')),'description' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('This is a secure area of the application. Please confirm your password before continuing.'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $attributes = $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $component = $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-session-status','data' => ['class' => 'text-center','status' => session('status')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-session-status'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'text-center','status' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(session('status'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $attributes = $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $component = $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal360dec750a5c22110ff2b6afe54f0581 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal360dec750a5c22110ff2b6afe54f0581 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.passkey-verify','data' => ['optionsRoute' => 'passkey.confirm-options','submitRoute' => 'passkey.confirm','label' => __('Confirm with passkey'),'loadingLabel' => __('Confirming...'),'separator' => __('Or confirm with password')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('passkey-verify'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['options-route' => 'passkey.confirm-options','submit-route' => 'passkey.confirm','label' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Confirm with passkey')),'loading-label' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Confirming...')),'separator' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Or confirm with password'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal360dec750a5c22110ff2b6afe54f0581)): ?>
|
||||
<?php $attributes = $__attributesOriginal360dec750a5c22110ff2b6afe54f0581; ?>
|
||||
<?php unset($__attributesOriginal360dec750a5c22110ff2b6afe54f0581); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal360dec750a5c22110ff2b6afe54f0581)): ?>
|
||||
<?php $component = $__componentOriginal360dec750a5c22110ff2b6afe54f0581; ?>
|
||||
<?php unset($__componentOriginal360dec750a5c22110ff2b6afe54f0581); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="POST" action="<?php echo e(route('password.confirm.store')); ?>" class="flex flex-col gap-6">
|
||||
<?php echo csrf_field(); ?>
|
||||
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php', $__blaze->compiledPath.'/0895d97ac72dcf2060e8a83465f0c2ce.php'); ?>
|
||||
<?php $__blaze->pushData(['name' => 'password','label' => __('Password'),'type' => 'password','required' => true,'autocomplete' => 'current-password','placeholder' => __('Password'),'viewable' => true]); ?>
|
||||
<?php _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, ['name' => 'password','label' => __('Password'),'type' => 'password','required' => true,'autocomplete' => 'current-password','placeholder' => __('Password'),'viewable' => true], [], ['label', 'required', 'placeholder', 'viewable'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
|
||||
<?php ob_start(); ?><button type="submit" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)] text-[var(--color-accent-foreground)] border border-black/10 dark:border-0 shadow-[inset_0px_1px_--theme(--color-white/.2)] [[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none w-full" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" data-test="confirm-password-button">
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
|
||||
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
|
||||
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
||||
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<span><?php ob_start(); ?>
|
||||
<?php echo e(__('Confirm')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></span>
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</form>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $attributes = $__attributesOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__attributesOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $component = $__componentOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__componentOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/livewire/auth/confirm-password.blade.php ENDPATH**/ ?>
|
||||
@@ -11,30 +11,7 @@
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<section class="overflow-hidden rounded-3xl bg-gradient-to-br from-slate-950 via-slate-900 to-cyan-950 p-6 text-white shadow-xl sm:p-8">
|
||||
<div class="flex flex-col gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<p class="text-sm font-semibold uppercase tracking-[0.3em] text-cyan-300">MPBA WMS</p>
|
||||
<h1 class="mt-3 text-3xl font-bold tracking-tight sm:text-5xl">Platform administration</h1>
|
||||
<p class="mt-3 max-w-2xl text-slate-300">Manage tenant companies, licences, payments, warehouses and internal API operations from one resilient control plane.</p>
|
||||
</div>
|
||||
<div class="grid gap-3 sm:min-w-80 sm:grid-cols-2">
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur">
|
||||
<p class="text-sm text-slate-300">System status</p>
|
||||
<p class="mt-2 flex items-center gap-2 text-2xl font-bold text-emerald-300">
|
||||
<i class="fa-solid fa-heart-pulse" aria-hidden="true"></i>
|
||||
OK
|
||||
</p>
|
||||
</div>
|
||||
<div class="rounded-2xl bg-white/10 p-4 backdrop-blur">
|
||||
<p class="text-sm text-slate-300">Paid £</p>
|
||||
<p class="mt-2 text-2xl font-bold"><?php echo e(number_format($paymentsTotal / 100, 2)); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="grid gap-4 sm:grid-cols-2 xl:grid-cols-4">
|
||||
<section class="grid gap-4 sm:grid-cols-2 xl:grid-cols-5">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = [['Companies', $companiesCount], ['Active', $activeCompaniesCount], ['Warehouses', $warehousesCount], ['Prices', $pricesCount], ['Licences', $licensesCount]]; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as [$label, $value]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<article class="rounded-2xl border border-zinc-200 bg-white p-5 shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-400"><?php echo e($label); ?></p>
|
||||
@@ -43,13 +20,83 @@
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</section>
|
||||
|
||||
<section class="rounded-3xl border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<div class="flex flex-col gap-3 border-b border-zinc-200 p-5 sm:flex-row sm:items-center sm:justify-between dark:border-zinc-800">
|
||||
<div>
|
||||
<p class="text-xs font-bold uppercase tracking-[0.28em] text-cyan-500">Platform</p>
|
||||
<h2 class="mt-2 text-xl font-bold text-zinc-900 dark:text-white">Pricing plans</h2>
|
||||
<p class="text-sm text-zinc-500">Customer-facing Basic, Advanced and Pro plan cards shown under Platform.</p>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<a href="<?php echo e(route('platform.pricing.index')); ?>" wire:navigate class="rounded-xl border border-zinc-200 px-4 py-2 text-sm font-semibold text-zinc-700 hover:border-cyan-400 hover:text-cyan-700 dark:border-zinc-700 dark:text-zinc-200">
|
||||
View pricing
|
||||
</a>
|
||||
<a href="<?php echo e(route('platform.prices.index')); ?>" wire:navigate class="rounded-xl bg-cyan-500 px-4 py-2 text-sm font-bold text-slate-950 hover:bg-cyan-400">
|
||||
Manage prices
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5 p-5 lg:grid-cols-3">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__empty_1 = true; $__currentLoopData = $prices; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $price): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<?php
|
||||
$isBasic = $price->code === 'basic';
|
||||
$isAdvanced = $price->code === 'advanced';
|
||||
$headerClass = $isAdvanced
|
||||
? 'from-cyan-500 to-blue-600'
|
||||
: ($isBasic ? 'from-slate-700 to-slate-950' : 'from-indigo-600 to-violet-700');
|
||||
$features = array_slice($price->featureRows(), 0, 3);
|
||||
?>
|
||||
|
||||
<article class="overflow-hidden rounded-3xl border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-950">
|
||||
<div class="bg-gradient-to-br <?php echo e($headerClass); ?> p-5 text-white">
|
||||
<div class="flex items-start justify-between gap-4">
|
||||
<div>
|
||||
<p class="text-xs font-bold uppercase tracking-[0.24em] text-white/70"><?php echo e($price->badge_label ?: 'Plan'); ?></p>
|
||||
<h3 class="mt-2 text-2xl font-black tracking-tight"><?php echo e($price->name); ?></h3>
|
||||
</div>
|
||||
<span class="grid h-11 w-11 place-items-center rounded-2xl bg-white/15 text-lg backdrop-blur">
|
||||
<i class="fa-solid <?php echo e($isBasic ? 'fa-box' : ($isAdvanced ? 'fa-layer-group' : 'fa-crown')); ?>" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
<p class="mt-3 text-sm leading-6 text-white/80"><?php echo e($price->strapline); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="p-5">
|
||||
<div class="flex items-end gap-2">
|
||||
<span class="text-3xl font-black tracking-tight text-zinc-950 dark:text-white"><?php echo e($price->formatAmount($price->monthly_amount)); ?></span>
|
||||
<span class="pb-1 text-xs font-semibold text-zinc-500">/ month</span>
|
||||
</div>
|
||||
<p class="mt-3 line-clamp-2 text-sm leading-6 text-zinc-600 dark:text-zinc-300"><?php echo e($price->description); ?></p>
|
||||
|
||||
<ul class="mt-4 space-y-2 text-sm text-zinc-700 dark:text-zinc-200">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $features; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $feature): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<li class="flex gap-3">
|
||||
<i class="fa-solid fa-check mt-1 text-cyan-500" aria-hidden="true"></i>
|
||||
<span><?php echo e($feature); ?></span>
|
||||
</li>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
<article class="rounded-2xl border border-dashed border-zinc-300 p-6 text-sm text-zinc-500 dark:border-zinc-700 lg:col-span-3">
|
||||
No platform pricing plans have been published yet.
|
||||
</article>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="rounded-2xl border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900">
|
||||
<div class="flex flex-col gap-3 border-b border-zinc-200 p-5 sm:flex-row sm:items-center sm:justify-between dark:border-zinc-800">
|
||||
<div>
|
||||
<h2 class="text-lg font-semibold text-zinc-900 dark:text-white">Recent companies</h2>
|
||||
<p class="text-sm text-zinc-500">Tenant isolation is enforced by company ownership on every warehouse record.</p>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2"><a href="<?php echo e(route('platform.prices.index')); ?>" wire:navigate class="rounded-lg border border-zinc-200 px-4 py-2 text-sm font-semibold text-zinc-700 hover:border-cyan-400 hover:text-cyan-700 dark:border-zinc-700 dark:text-zinc-200">Manage prices</a><a href="<?php echo e(route('platform.companies.index')); ?>" wire:navigate class="rounded-lg bg-zinc-900 px-4 py-2 text-sm font-semibold text-white dark:bg-white dark:text-zinc-900">Manage companies</a></div>
|
||||
<a href="<?php echo e(route('platform.companies.index')); ?>" wire:navigate class="rounded-lg bg-zinc-900 px-4 py-2 text-sm font-semibold text-white dark:bg-white dark:text-zinc-900">
|
||||
Manage companies
|
||||
</a>
|
||||
</div>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="min-w-full divide-y divide-zinc-200 text-sm dark:divide-zinc-800">
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
<?php # [BlazeFolded]:{flux::toast}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/toast/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::toast.group}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/toast/group.blade.php}:{1776985208} ?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>" class="dark">
|
||||
<head>
|
||||
<?php echo $__env->make('partials.head', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?>
|
||||
</head>
|
||||
<body class="min-h-screen bg-white antialiased dark:bg-linear-to-b dark:from-neutral-950 dark:to-neutral-900">
|
||||
<div class="bg-background flex min-h-svh flex-col items-center justify-center gap-6 p-6 md:p-10">
|
||||
<div class="flex w-full max-w-sm flex-col gap-2">
|
||||
<a href="<?php echo e(route('home')); ?>" class="flex flex-col items-center gap-2 font-medium" wire:navigate>
|
||||
<span class="flex h-9 w-9 mb-1 items-center justify-center rounded-md">
|
||||
<?php if (isset($component)) { $__componentOriginal159d6670770cb479b1921cea6416c26c = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal159d6670770cb479b1921cea6416c26c = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.app-logo-icon','data' => ['class' => 'size-9 fill-current text-black dark:text-white']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('app-logo-icon'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'size-9 fill-current text-black dark:text-white']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal159d6670770cb479b1921cea6416c26c)): ?>
|
||||
<?php $attributes = $__attributesOriginal159d6670770cb479b1921cea6416c26c; ?>
|
||||
<?php unset($__attributesOriginal159d6670770cb479b1921cea6416c26c); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal159d6670770cb479b1921cea6416c26c)): ?>
|
||||
<?php $component = $__componentOriginal159d6670770cb479b1921cea6416c26c; ?>
|
||||
<?php unset($__componentOriginal159d6670770cb479b1921cea6416c26c); ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
<span class="sr-only"><?php echo e(config('app.name', 'Laravel')); ?></span>
|
||||
</a>
|
||||
<div class="flex flex-col gap-6">
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php app("livewire")->forceAssetInjection(); ?><div x-persist="<?php echo e('toast'); ?>">
|
||||
<?php ob_start(); ?><ui-toast-group x-data x-on:toast-show.document="$el.showToast($event.detail)" popover="manual" position="bottom end" wire:ignore>
|
||||
<?php ob_start(); ?>
|
||||
<?php ob_start(); ?><ui-toast x-data x-on:toast-show.document="! $el.closest('ui-toast-group') && $el.showToast($event.detail)" popover="manual" position="bottom end" wire:ignore>
|
||||
<template>
|
||||
<div class="max-w-sm in-[ui-toast-group]:max-w-auto in-[ui-toast-group]:w-xs sm:in-[ui-toast-group]:w-sm" data-variant="" data-flux-toast-dialog>
|
||||
<div class="p-2 flex rounded-xl shadow-lg bg-white border border-zinc-200 border-b-zinc-300/80 dark:bg-zinc-700 dark:border-zinc-600">
|
||||
<div class="flex-1 flex items-start gap-4 overflow-hidden">
|
||||
<div class="flex-1 py-1.5 ps-2.5 flex gap-2">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=success]_&]:block shrink-0 mt-0.5 size-4 text-lime-600 dark:text-lime-400">
|
||||
<path fill-rule="evenodd" d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm3.844-8.791a.75.75 0 0 0-1.188-.918l-3.7 4.79-1.649-1.833a.75.75 0 1 0-1.114 1.004l2.25 2.5a.75.75 0 0 0 1.15-.043l4.25-5.5Z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=warning]_&]:block shrink-0 mt-0.5 size-4 text-amber-500 dark:text-amber-400">
|
||||
<path fill-rule="evenodd" d="M6.701 2.25c.577-1 2.02-1 2.598 0l5.196 9a1.5 1.5 0 0 1-1.299 2.25H2.804a1.5 1.5 0 0 1-1.3-2.25l5.197-9ZM8 4a.75.75 0 0 1 .75.75v3a.75.75 0 1 1-1.5 0v-3A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=info]_&]:block shrink-0 mt-0.5 size-4 text-cyan-500 dark:text-cyan-400">
|
||||
<path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="hidden [[data-flux-toast-dialog][data-variant=danger]_&]:block shrink-0 mt-0.5 size-4 text-rose-500 dark:text-rose-400">
|
||||
<path fill-rule="evenodd" d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14ZM8 4a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-1.5 0v-3A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
||||
<div>
|
||||
|
||||
<div class="font-medium text-sm text-zinc-800 dark:text-white [&:not(:empty)+div]:font-normal [&:not(:empty)+div]:text-zinc-500 [&:not(:empty)+div]:dark:text-zinc-300 [&:not(:empty)]:pb-2"><slot name="heading"></slot></div>
|
||||
|
||||
|
||||
<div class="font-medium text-sm text-zinc-800 dark:text-white"><slot name="text"></slot></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<ui-close class="flex items-center">
|
||||
<button type="button" class="inline-flex items-center font-medium justify-center gap-2 truncate disabled:opacity-50 dark:disabled:opacity-75 disabled:cursor-default h-8 text-sm rounded-md w-8 bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15 text-zinc-400 hover:text-zinc-800 dark:text-zinc-400 dark:hover:text-white" as="button">
|
||||
<div>
|
||||
<svg class="[:where(&)]:size-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path d="M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</button>
|
||||
</ui-close>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</ui-toast>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
<?php echo trim(ob_get_clean()); ?>
|
||||
|
||||
</ui-toast-group>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
|
||||
<?php app('livewire')->forceAssetInjection(); ?>
|
||||
<?php echo app('flux')->scripts(); ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/layouts/auth/simple.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,77 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['type' => 'default', 'variant' => 'soft']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['type' => 'default', 'variant' => 'soft']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<?php
|
||||
$baseClasses = 'inline-flex w-fit shrink-0 items-center justify-center gap-1 font-mono leading-3 uppercase transition-colors dark:border [&_svg]:size-2.5 h-6 min-w-5 rounded-md px-1.5 text-xs/none';
|
||||
|
||||
$types = [
|
||||
'default' => [
|
||||
'soft' => 'bg-black/8 text-neutral-900 dark:border-neutral-700 dark:bg-white/10 dark:text-neutral-100',
|
||||
'solid' => 'bg-neutral-600 text-neutral-100 dark:border-neutral-500 dark:bg-neutral-600',
|
||||
],
|
||||
'success' => [
|
||||
'soft' => 'bg-emerald-200 text-emerald-900 dark:border-emerald-600 dark:bg-emerald-900/70 dark:text-emerald-400',
|
||||
'solid' => 'bg-emerald-600 dark:border-emerald-500 dark:bg-emerald-600',
|
||||
],
|
||||
'primary' => [
|
||||
'soft' => 'bg-blue-100 text-blue-900 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-300',
|
||||
'solid' => 'bg-blue-700 dark:border-blue-600 dark:bg-blue-700',
|
||||
],
|
||||
'error' => [
|
||||
'soft' => 'bg-rose-200 text-rose-900 dark:border-rose-900 dark:bg-rose-950 dark:text-rose-100 dark:[&_svg]:!text-white',
|
||||
'solid' => 'bg-rose-600 dark:border-rose-500 dark:bg-rose-600',
|
||||
],
|
||||
'alert' => [
|
||||
'soft' => 'bg-amber-200 text-amber-900 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-300',
|
||||
'solid' => 'bg-amber-600 dark:border-amber-500 dark:bg-amber-600',
|
||||
],
|
||||
'white' => [
|
||||
'soft' => 'bg-white text-neutral-900 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-100',
|
||||
'solid' => 'bg-black/10 text-neutral-900 dark:text-neutral-900 dark:bg-white',
|
||||
],
|
||||
];
|
||||
|
||||
$variants = [
|
||||
'soft' => '',
|
||||
'solid' => 'text-white dark:text-white [&_svg]:!text-white',
|
||||
];
|
||||
|
||||
$typeClasses = $types[$type][$variant] ?? $types['default']['soft'];
|
||||
$variantClasses = $variants[$variant] ?? $variants['soft'];
|
||||
|
||||
$classes = implode(' ', [$baseClasses, $typeClasses, $variantClasses]);
|
||||
|
||||
?>
|
||||
|
||||
<div <?php echo e($attributes->merge(['class' => $classes])); ?>>
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/badge.blade.php ENDPATH**/ ?>
|
||||
@@ -1,66 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_5ec778b1aa882f8b7aabac54709aa20e')):
|
||||
function _5ec778b1aa882f8b7aabac54709aa20e($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'variant' => 'outline',
|
||||
];
|
||||
$variant ??= $attributes['variant'] ?? $__defaults['variant']; unset($attributes['variant']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$classes = Flux::classes('shrink-0')
|
||||
->add(match($variant) {
|
||||
'outline' => '[:where(&)]:size-6',
|
||||
'solid' => '[:where(&)]:size-6',
|
||||
'mini' => '[:where(&)]:size-5',
|
||||
'micro' => '[:where(&)]:size-4',
|
||||
});
|
||||
?>
|
||||
|
||||
<?php switch ($variant): case ('outline'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('solid'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('mini'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495ZM10 5a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 10 5Zm0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('micro'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M6.701 2.25c.577-1 2.02-1 2.598 0l5.196 9a1.5 1.5 0 0 1-1.299 2.25H2.804a1.5 1.5 0 0 1-1.3-2.25l5.197-9ZM8 4a.75.75 0 0 1 .75.75v3a.75.75 0 1 1-1.5 0v-3A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php endswitch; ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/exclamation-triangle.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,392 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['queries']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['queries']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div
|
||||
<?php echo e($attributes->merge(['class' => "flex flex-col gap-2.5 bg-neutral-50 dark:bg-white/1 border border-neutral-200 dark:border-neutral-800 rounded-xl p-2.5 shadow-xs"])); ?>
|
||||
|
||||
x-data="{
|
||||
totalQueries: <?php echo e(min(count($queries), 100)); ?>,
|
||||
currentPage: 1,
|
||||
perPage: 10,
|
||||
get totalPages() {
|
||||
return Math.ceil(this.totalQueries / this.perPage);
|
||||
},
|
||||
get hasPrevious() {
|
||||
return this.currentPage > 1;
|
||||
},
|
||||
get hasNext() {
|
||||
return this.currentPage < this.totalPages;
|
||||
},
|
||||
goToPage(page) {
|
||||
if (page >= 1 && page <= this.totalPages) {
|
||||
this.currentPage = page;
|
||||
}
|
||||
},
|
||||
first() {
|
||||
this.currentPage = 1;
|
||||
},
|
||||
last() {
|
||||
this.currentPage = this.totalPages;
|
||||
},
|
||||
previous() {
|
||||
if (this.hasPrevious) {
|
||||
this.currentPage--;
|
||||
}
|
||||
},
|
||||
next() {
|
||||
if (this.hasNext) {
|
||||
this.currentPage++;
|
||||
}
|
||||
},
|
||||
get visiblePages() {
|
||||
const total = this.totalPages;
|
||||
const current = this.currentPage;
|
||||
const pages = [];
|
||||
|
||||
if (total <= 7) {
|
||||
for (let i = 1; i <= total; i++) {
|
||||
pages.push({ type: 'page', value: i });
|
||||
}
|
||||
} else {
|
||||
if (current <= 4) {
|
||||
for (let i = 1; i <= 5; i++) {
|
||||
pages.push({ type: 'page', value: i });
|
||||
}
|
||||
if (total > 6) {
|
||||
pages.push({ type: 'ellipsis', value: '...', id: 'end' });
|
||||
pages.push({ type: 'page', value: total });
|
||||
}
|
||||
} else if (current > total - 4) {
|
||||
pages.push({ type: 'page', value: 1 });
|
||||
if (total > 6) {
|
||||
pages.push({ type: 'ellipsis', value: '...', id: 'start' });
|
||||
}
|
||||
for (let i = Math.max(total - 4, 2); i <= total; i++) {
|
||||
pages.push({ type: 'page', value: i });
|
||||
}
|
||||
} else {
|
||||
pages.push({ type: 'page', value: 1 });
|
||||
pages.push({ type: 'ellipsis', value: '...', id: 'start' });
|
||||
for (let i = current - 1; i <= current + 1; i++) {
|
||||
pages.push({ type: 'page', value: i });
|
||||
}
|
||||
pages.push({ type: 'ellipsis', value: '...', id: 'end' });
|
||||
pages.push({ type: 'page', value: total });
|
||||
}
|
||||
}
|
||||
return pages;
|
||||
}
|
||||
}"
|
||||
>
|
||||
<div class="flex items-center justify-between p-2">
|
||||
<div class="flex items-center gap-2.5">
|
||||
<div class="bg-white dark:bg-neutral-800 border border-neutral-200 dark:border-white/5 rounded-md w-6 h-6 flex items-center justify-center p-1">
|
||||
<?php if (isset($component)) { $__componentOriginal9e277ab5ada333d718192209049fcff4 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal9e277ab5ada333d718192209049fcff4 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.database','data' => ['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.database'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-2.5 h-2.5 text-blue-500 dark:text-emerald-500']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal9e277ab5ada333d718192209049fcff4)): ?>
|
||||
<?php $attributes = $__attributesOriginal9e277ab5ada333d718192209049fcff4; ?>
|
||||
<?php unset($__attributesOriginal9e277ab5ada333d718192209049fcff4); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal9e277ab5ada333d718192209049fcff4)): ?>
|
||||
<?php $component = $__componentOriginal9e277ab5ada333d718192209049fcff4; ?>
|
||||
<?php unset($__componentOriginal9e277ab5ada333d718192209049fcff4); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<h3 class="text-base font-semibold">Queries</h3>
|
||||
</div>
|
||||
<div x-show="totalQueries > 0" class="text-sm text-neutral-500 dark:text-neutral-400 flex items-center gap-2">
|
||||
<span x-text="`${((currentPage - 1) * perPage) + 1}-${Math.min(currentPage * perPage, totalQueries)} of ${totalQueries}`"></span>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(count($queries) > 100): ?>
|
||||
<?php if (isset($component)) { $__componentOriginalc6e888149e09c77971305ebbddaee753 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalc6e888149e09c77971305ebbddaee753 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.info','data' => ['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','dataTippyContent' => 'Only the first 100 queries are shown']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.info'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3 text-blue-500 dark:text-emerald-500','data-tippy-content' => 'Only the first 100 queries are shown']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalc6e888149e09c77971305ebbddaee753)): ?>
|
||||
<?php $attributes = $__attributesOriginalc6e888149e09c77971305ebbddaee753; ?>
|
||||
<?php unset($__attributesOriginalc6e888149e09c77971305ebbddaee753); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalc6e888149e09c77971305ebbddaee753)): ?>
|
||||
<?php $component = $__componentOriginalc6e888149e09c77971305ebbddaee753; ?>
|
||||
<?php unset($__componentOriginalc6e888149e09c77971305ebbddaee753); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-1">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__empty_1 = true; $__currentLoopData = array_slice($queries, 0, 100); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => ['connectionName' => $connectionName, 'sql' => $sql, 'time' => $time]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?>
|
||||
<div
|
||||
class="border border-neutral-200 dark:border-none bg-white dark:bg-white/[3%] rounded-md h-10 flex items-center justify-between gap-4 px-4 text-xs font-mono shadow-xs"
|
||||
x-show="Math.floor(<?php echo e($index); ?> / perPage) === (currentPage - 1)"
|
||||
>
|
||||
<div class="flex items-center gap-2 truncate">
|
||||
<div class="flex items-center gap-2">
|
||||
<?php if (isset($component)) { $__componentOriginal9e277ab5ada333d718192209049fcff4 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal9e277ab5ada333d718192209049fcff4 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.database','data' => ['class' => 'w-3 h-3 text-neutral-500 dark:text-neutral-400']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.database'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3 text-neutral-500 dark:text-neutral-400']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal9e277ab5ada333d718192209049fcff4)): ?>
|
||||
<?php $attributes = $__attributesOriginal9e277ab5ada333d718192209049fcff4; ?>
|
||||
<?php unset($__attributesOriginal9e277ab5ada333d718192209049fcff4); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal9e277ab5ada333d718192209049fcff4)): ?>
|
||||
<?php $component = $__componentOriginal9e277ab5ada333d718192209049fcff4; ?>
|
||||
<?php unset($__componentOriginal9e277ab5ada333d718192209049fcff4); ?>
|
||||
<?php endif; ?>
|
||||
<span class="text-neutral-500 dark:text-neutral-400"><?php echo e($connectionName); ?></span>
|
||||
</div>
|
||||
<?php if (isset($component)) { $__componentOriginal12cb286571f553eebcbe98210b217f94 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal12cb286571f553eebcbe98210b217f94 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $sql,'language' => 'sql','truncate' => true,'class' => 'min-w-0','dataTippyContent' => ''.e(nl2br($sql)).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::syntax-highlight'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($sql),'language' => 'sql','truncate' => true,'class' => 'min-w-0','data-tippy-content' => ''.e(nl2br($sql)).'']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $attributes = $__attributesOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__attributesOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $component = $__componentOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__componentOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="text-neutral-500 dark:text-neutral-200 text-right flex-shrink-0"><?php echo e($time); ?>ms</div>
|
||||
</div>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?>
|
||||
<?php if (isset($component)) { $__componentOriginal612ffe32146e3bd2ac6ba6076cca9520 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No queries executed']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::empty-state'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['message' => 'No queries executed']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520)): ?>
|
||||
<?php $attributes = $__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520; ?>
|
||||
<?php unset($__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal612ffe32146e3bd2ac6ba6076cca9520)): ?>
|
||||
<?php $component = $__componentOriginal612ffe32146e3bd2ac6ba6076cca9520; ?>
|
||||
<?php unset($__componentOriginal612ffe32146e3bd2ac6ba6076cca9520); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
|
||||
<!-- Pagination Controls -->
|
||||
<div x-cloak x-show="totalPages > 1" class="flex items-center justify-center gap-1 py-4 font-mono">
|
||||
<!-- First Button -->
|
||||
<button
|
||||
@click="first()"
|
||||
class="cursor-pointer flex items-center justify-center w-8 h-8 rounded-md transition-colors"
|
||||
:disabled="!hasPrevious"
|
||||
:class="hasPrevious ? 'text-neutral-500 dark:text-neutral-300 hover:bg-neutral-200 hover:dark:text-white hover:dark:bg-white/5' : 'text-neutral-600 cursor-not-allowed!'"
|
||||
>
|
||||
<?php if (isset($component)) { $__componentOriginal935198b948cf7048e898f42ce9f720b5 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal935198b948cf7048e898f42ce9f720b5 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.chevrons-left','data' => ['class' => 'w-3 h-3']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.chevrons-left'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal935198b948cf7048e898f42ce9f720b5)): ?>
|
||||
<?php $attributes = $__attributesOriginal935198b948cf7048e898f42ce9f720b5; ?>
|
||||
<?php unset($__attributesOriginal935198b948cf7048e898f42ce9f720b5); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal935198b948cf7048e898f42ce9f720b5)): ?>
|
||||
<?php $component = $__componentOriginal935198b948cf7048e898f42ce9f720b5; ?>
|
||||
<?php unset($__componentOriginal935198b948cf7048e898f42ce9f720b5); ?>
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
|
||||
<!-- Previous Button -->
|
||||
<button
|
||||
@click="previous()"
|
||||
class="cursor-pointer flex items-center justify-center w-8 h-8 rounded-md transition-colors"
|
||||
:class="hasPrevious ? 'text-neutral-500 dark:text-neutral-300 hover:bg-neutral-200 hover:dark:text-white hover:dark:bg-white/5' : 'text-neutral-600 cursor-not-allowed!'"
|
||||
:disabled="!hasPrevious"
|
||||
>
|
||||
<?php if (isset($component)) { $__componentOriginalb1a2603ab360710208f4e8402894d933 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalb1a2603ab360710208f4e8402894d933 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.chevron-left','data' => ['class' => 'w-3 h-3']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.chevron-left'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalb1a2603ab360710208f4e8402894d933)): ?>
|
||||
<?php $attributes = $__attributesOriginalb1a2603ab360710208f4e8402894d933; ?>
|
||||
<?php unset($__attributesOriginalb1a2603ab360710208f4e8402894d933); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalb1a2603ab360710208f4e8402894d933)): ?>
|
||||
<?php $component = $__componentOriginalb1a2603ab360710208f4e8402894d933; ?>
|
||||
<?php unset($__componentOriginalb1a2603ab360710208f4e8402894d933); ?>
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
|
||||
<!-- Page Numbers -->
|
||||
<template x-for="(page, index) in visiblePages" :key="`page-${page.type}-${page.value}-${page.id || index}`">
|
||||
<div>
|
||||
<template x-if="page.type === 'ellipsis'">
|
||||
<span class="flex items-center justify-center w-8 h-8 text-neutral-500">...</span>
|
||||
</template>
|
||||
<template x-if="page.type === 'page'">
|
||||
<button
|
||||
@click="goToPage(page.value)"
|
||||
class="cursor-pointer flex items-center justify-center w-8 h-8 rounded-md text-sm font-medium transition-colors"
|
||||
:class="currentPage === page.value ? 'bg-blue-600 text-white' : 'text-neutral-500 dark:text-neutral-300 hover:bg-neutral-200 hover:dark:text-white hover:dark:bg-white/5'"
|
||||
x-text="page.value"
|
||||
></button>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- Next Button -->
|
||||
<button
|
||||
@click="next()"
|
||||
class="cursor-pointer flex items-center justify-center w-8 h-8 rounded-md transition-colors"
|
||||
:class="hasNext ? 'text-neutral-500 dark:text-neutral-300 hover:bg-neutral-200 hover:dark:text-white hover:dark:bg-white/5' : 'text-neutral-600 cursor-not-allowed!'"
|
||||
:disabled="!hasNext"
|
||||
>
|
||||
<?php if (isset($component)) { $__componentOriginalb7b593bedd3add356eaada0571956b3f = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalb7b593bedd3add356eaada0571956b3f = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.chevron-right','data' => ['class' => 'w-3 h-3']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.chevron-right'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalb7b593bedd3add356eaada0571956b3f)): ?>
|
||||
<?php $attributes = $__attributesOriginalb7b593bedd3add356eaada0571956b3f; ?>
|
||||
<?php unset($__attributesOriginalb7b593bedd3add356eaada0571956b3f); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalb7b593bedd3add356eaada0571956b3f)): ?>
|
||||
<?php $component = $__componentOriginalb7b593bedd3add356eaada0571956b3f; ?>
|
||||
<?php unset($__componentOriginalb7b593bedd3add356eaada0571956b3f); ?>
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
|
||||
<!-- Last Button -->
|
||||
<button
|
||||
@click="last()"
|
||||
class="cursor-pointer flex items-center justify-center w-8 h-8 rounded-md transition-colors"
|
||||
:class="hasNext ? 'text-neutral-500 dark:text-neutral-300 hover:bg-neutral-200 hover:dark:text-white hover:dark:bg-white/5' : 'text-neutral-600 cursor-not-allowed!'"
|
||||
:disabled="!hasNext"
|
||||
>
|
||||
<?php if (isset($component)) { $__componentOriginalbb91e7976582fbddcedcde197cd5dca1 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalbb91e7976582fbddcedcde197cd5dca1 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.chevrons-right','data' => ['class' => 'w-3 h-3']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.chevrons-right'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'w-3 h-3']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalbb91e7976582fbddcedcde197cd5dca1)): ?>
|
||||
<?php $attributes = $__attributesOriginalbb91e7976582fbddcedcde197cd5dca1; ?>
|
||||
<?php unset($__attributesOriginalbb91e7976582fbddcedcde197cd5dca1); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalbb91e7976582fbddcedcde197cd5dca1)): ?>
|
||||
<?php $component = $__componentOriginalbb91e7976582fbddcedcde197cd5dca1; ?>
|
||||
<?php unset($__componentOriginalbb91e7976582fbddcedcde197cd5dca1); ?>
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/query.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" <?php echo e($attributes); ?>>
|
||||
<g clip-path="url(#clip0_14732_6079)">
|
||||
<path d="M4.25 4.25012V1.25012H10.75V7.75012H7.75M7.75 4.25012H1.25V10.7501H7.75V4.25012Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_14732_6079">
|
||||
<rect width="12" height="12" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/copy.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 636 B |
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" fill="none" <?php echo e($attributes); ?>>
|
||||
<g clip-path="url(#clip0_14550_6168)">
|
||||
<path d="M6.75 11.0001L4 8.25012L1.25 11.0001" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M6.75 1.50012L4 4.25012L1.25 1.50012" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_14550_6168">
|
||||
<rect width="8" height="11" fill="white" style="fill:white;fill-opacity:1;" transform="translate(0 0.500122)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/chevrons-down-up.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 804 B |
@@ -1,40 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Validation Rules')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Validation Rules'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||
<h1 class="text-2xl font-bold">Warehouse validation rules</h1>
|
||||
<form method="POST" action="<?php echo e(route('warehouse-rules.store')); ?>" class="mt-5 grid gap-4 md:grid-cols-6">
|
||||
<?php echo csrf_field(); ?>
|
||||
<select name="warehouse_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $warehouses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><option value="<?php echo e($warehouse->id); ?>"><?php echo e($warehouse->name); ?></option><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></select>
|
||||
<input name="name" placeholder="Rule name" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<input name="rule_key" placeholder="stock.location.required" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<select name="severity" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><option>error</option><option>warning</option><option>blocker</option><option>info</option></select>
|
||||
<input name="configuration" placeholder='{"min": 1}' class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<button class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Add rule</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800"><table class="min-w-full text-sm"><thead><tr class="border-b"><th class="p-4 text-left">Warehouse</th><th class="p-4 text-left">Rule</th><th class="p-4 text-left">Key</th><th class="p-4 text-left">Severity</th></tr></thead><tbody><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $rules; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $rule): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><tr class="border-b border-zinc-100 dark:border-zinc-800"><td class="p-4"><?php echo e($rule->warehouse->name); ?></td><td class="p-4 font-semibold"><?php echo e($rule->name); ?></td><td class="p-4"><code><?php echo e($rule->rule_key); ?></code></td><td class="p-4"><?php echo e($rule->severity); ?></td></tr><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></tbody></table></div>
|
||||
<?php echo e($rules->links()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/Modules/Warehouse/Providers/../resources/views/rules/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,15 @@
|
||||
<svg fill="currentColor" viewBox="0 0 1268 308" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<path id="a" d="m0 0v-0.49449h1.7215v-4.3497l-1.6849-0.00916v-0.40291c1.3278 0 1.6849-0.22893 1.8131-1.1538h0.43954v5.9155h1.7399v0.49449h-4.0292z"/>
|
||||
<path id="b" d="m0 0c-1.3186 0-2.1062-1.227-2.1062-3.2965 0-2.0696 0.78752-3.2966 2.1062-3.2966s2.1062 1.227 2.1062 3.2966c0 2.0695-0.78752 3.2965-2.1062 3.2965zm0-3.8918c0.3205 0 0.56774 0.2473 0.56774 0.5678 0 0.3113-0.24724 0.5677-0.56774 0.5677-0.31134 0-0.56775-0.2564-0.56775-0.5677 0-0.3205 0.25641-0.5678 0.56775-0.5678zm0 3.3973c0.99813 0 1.5567-1.0164 1.5567-2.802 0-1.7857-0.55859-2.8021-1.5567-2.8021s-1.5567 1.0164-1.5567 2.8021c0 1.7856 0.55859 2.802 1.5567 2.802z"/>
|
||||
</defs>
|
||||
</svg>
|
||||
<script>
|
||||
(()=>{
|
||||
const d="10A212.9A|AB2AB2AB2A212.2AB2AB2AB|6AB3A212.4AB4A|2ABAB3ABA212.AB4AB2A|10A212.3AB4AB|AB2ABAB3A212.AB3AB3A|8ABA212.7ABA|ABAB2AB3A212.2ABAB4A|10A212.6AB2A|2AB2ABAB2A32.9A61.9A73.9A19.AB2AB4A|9AB28.5AB2AB2AB4A3.10A6.25A10.5AB2AB2AB4A4.9A4.9A20.11A9.5AB2AB2AB5A15.7ABA|ABABAB4A25.4ABAB9AB4A.2AB3AB2AB6.2AB2AB2ABAB2AB2ABAB2AB3A7.4ABAB9AB5A.2AB2AB2AB4.2AB2AB2ABA18.2AB2AB2AB2A7.4AB11AB2AB3A12.ABABAB3A|7AB2A23.3AB7ABABABAB3AB8AB3A6.4AB10AB7ABA5.3AB7ABABAB4AB2AB5AB4A5.5AB4A17.7AB2A6.3AB4ABABABABAB10A10.8AB|2AB2AB3AB21.3AB3AB2AB14ABABAB4ABA6.AB4AB2ABABAB4ABAB4A3.3AB3AB2AB8AB7ABAB3AB2A6.AB5ABA16.2ABABAB3A6.2AB3AB13AB2ABAB4A8.2AB3AB2A|10A20.2AB10AB7.ABAB7AB4A6.3AB12AB5AB2A2.2AB10AB7.2ABAB10AB6.3AB6A14.11A4.10AB11.7AB3A7.4AB4A|ABAB2ABABA19.6ABABAB14.3AB2AB3AB2A6.AB3ABAB2A16.6ABABAB14.3AB2ABAB4A7.4ABAB3A13.ABAB2AB2AB4.2ABABABABA15.AB2AB2AB2A6.AB5ABA|10A19.AB2AB5A16.12A6.9AB15.2AB2AB5A16.9AB2A8.AB5AB2A11.10A4.10A17.10A5.3AB2AB2A|2ABABAB3A18.4AB3ABA18.AB2ABAB2ABA6.2ABAB2AB2A15.4AB3ABA18.ABAB2AB3AB8.4AB5A10.2AB2ABABABA4.ABAB2AB3A18.AB2ABAB2A5.AB7A|8ABA17.2AB4AB3A19.10A6.10A15.AB4AB2A20.10A9.AB3AB2ABA9.10A4.9AB27AB5.4AB2ABA|AB2AB5A17.4AB5A20.AB2ABABABA6.AB2ABAB2AB14.4AB5A20.2AB2ABAB2A10.10A7.2ABAB2AB2A5.AB2ABAB4AB2AB2AB2ABAB2ABABABABAB5A4.2AB6A|6ABABA17.AB4AB2AB20.10A6.10A14.2AB4AB2A21.8AB11.ABABAB2AB6.11A5.8AB7AB18AB3A4.4ABAB2A|ABAB6A17.3AB6A20.2ABAB2AB2A6.ABAB2ABABA14.5AB4A20.2ABAB2AB2A11.10A4.2ABAB2ABABA6.2AB2AB4ABABAB3AB2ABAB2AB2AB2AB4ABA4.AB6AB|5AB2ABA18.4AB2AB2A19.10A6.10A15.AB4AB2A20.10A12.2AB2AB2ABA3.10A7.7AB2A33.3AB2AB2A|2AB7A18.AB8A18.2AB2ABABABA6.2AB2AB2ABA15.3AB4ABA18.2AB2ABAB2AB12.11A.2AB2ABAB2A9.ABAB6A32.AB7A|4ABAB3A19.2ABABAB4A15.2AB9A6.10A15.5AB6A15.2AB9A13.ABABAB2AB5AB5AB9.5ABAB3A17.4A10.4AB2ABA|AB6ABA19.8AB4A11.2AB3AB2AB3AB6.ABABABAB2A16.AB4AB2AB3A10.3AB4AB2ABABA14.9ABAB4AB2A11.2AB5AB2A14.3AB5A7.2AB6A|3AB2AB20A3.2AB2AB3AB7A.16AB2A6.10A17.2AB7AB5A2.10AB8A14.3ABAB8AB3A13.4AB8A8.4AB3AB5A5.5ABABA|AB7AB2ABAB2AB2ABAB2ABA5.8ABAB2AB3AB2ABAB2AB2ABAB4A6.2AB2AB2ABA19.2ABAB5AB2AB3AB2ABAB5ABAB2ABA15.6ABAB2AB5A15.4AB2ABAB10AB8ABA7.ABAB5A|4AB2AB11AB7A6.2ABAB9AB11AB5ABA6.10A20.5ABAB15ABAB8A16.AB11ABA17.AB8AB2AB2AB4ABABAB2A9.6AB2A|2AB6ABAB2ABAB5ABAB2A9.8AB2ABABABABA2.5ABAB2A6.ABAB2ABABA22.8AB2ABABABAB3A2.4ABAB2A16.3ABAB2AB2AB2A20.2ABAB8AB2AB7A11.2AB5AB|5ABAB10AB8A12.7AB6A4.AB5AB2A6.10A26.AB12A5.2AB6A17.9AB3A24.2AB2ABAB6ABA15.4ABAB2A",
|
||||
s=document.currentScript.previousElementSibling,
|
||||
ns="http://www.w3.org/2000/svg";
|
||||
const ox=0.32415,oy=7.3223,cw=5.4907,rh=10.0,zx=1.923,zy=0.0915;
|
||||
d.split("|").forEach((r,ri)=>{const g=document.createElementNS(ns,"g");g.setAttribute("transform","translate(0,"+(oy+ri*rh)+")");let col=0;for(let i=0;i<r.length;i++){let c=r[i],n=1;if(c>="0"&&c<="9"){n=c;while(i+1<r.length&&r[i+1]>="0"&&r[i+1]<="9")n+=r[++i];n=+n;c=r[++i];}if(c==="."){col+=n;continue;}for(let j=0;j<n;j++){const u=document.createElementNS(ns,"use");u.setAttribute("href",c==="A"?"#a":"#b");u.setAttribute("x",ox+col*cw+(c==="B"?zx:0));if(c==="B")u.setAttribute("y",zy);g.appendChild(u);col++;}}s.appendChild(g);});
|
||||
})();
|
||||
</script><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/laravel-ascii.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
@@ -1,65 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_690ba2faedbff09a45948cdea5004741')):
|
||||
function _690ba2faedbff09a45948cdea5004741($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
$errors = $__blaze->errors;
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'icon' => 'exclamation-triangle',
|
||||
'bag' => 'default',
|
||||
'message' => null,
|
||||
'deep' => true,
|
||||
'nested' => true,
|
||||
'name' => null,
|
||||
];
|
||||
$icon ??= $attributes['icon'] ?? $__defaults['icon']; unset($attributes['icon']);
|
||||
$bag ??= $attributes['bag'] ?? $__defaults['bag']; unset($attributes['bag']);
|
||||
$message ??= $attributes['message'] ?? $__defaults['message']; unset($attributes['message']);
|
||||
$deep ??= $attributes['deep'] ?? $__defaults['deep']; unset($attributes['deep']);
|
||||
$nested ??= $attributes['nested'] ?? $__defaults['nested']; unset($attributes['nested']);
|
||||
$name ??= $attributes['name'] ?? $__defaults['name']; unset($attributes['name']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$errorBag = $errors->getBag($bag);
|
||||
$message ??= $name ? $errorBag->first($name) : null;
|
||||
|
||||
// Backwards compatibility...
|
||||
if ($nested === false) {
|
||||
$deep = false;
|
||||
}
|
||||
|
||||
if ($name && (is_null($message) || $message === '') && filter_var($deep, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) !== false) {
|
||||
$message = $errorBag->first($name . '.*');
|
||||
}
|
||||
|
||||
$classes = Flux::classes('mt-3 text-sm font-medium text-red-500 dark:text-red-400')
|
||||
->add($message ? '' : 'hidden');
|
||||
?>
|
||||
|
||||
<div role="alert" aria-live="polite" aria-atomic="true" <?php echo e($attributes->class($classes)); ?> data-flux-error>
|
||||
<?php if ($message) : ?>
|
||||
<?php if ($icon) : ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['name' => $icon, 'variant' => 'mini', 'class' => 'inline']); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['name' => $icon,'variant' => 'mini','class' => 'inline']); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['name' => $icon,'variant' => 'mini','class' => 'inline'], [], ['name'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php echo e($message); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/error.blade.php ENDPATH**/ ?>
|
||||
@@ -1,125 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_6d9b56edd9c9c8e51fa8e057a8020521')):
|
||||
function _6d9b56edd9c9c8e51fa8e057a8020521($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
$__slots['slot'] ??= new \Illuminate\View\ComponentSlot('');
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
extract(Flux::forwardedAttributes($attributes, [
|
||||
'name',
|
||||
'descriptionTrailing',
|
||||
'description',
|
||||
'label',
|
||||
'badge',
|
||||
]));
|
||||
?>
|
||||
|
||||
<?php $descriptionTrailing = $descriptionTrailing ??= $attributes->pluck('description:trailing'); ?>
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'name' => $attributes->whereStartsWith('wire:model')->first(),
|
||||
'descriptionTrailing' => null,
|
||||
'description' => null,
|
||||
'label' => null,
|
||||
'badge' => null,
|
||||
];
|
||||
$name ??= $attributes['name'] ?? $__defaults['name']; unset($attributes['name']);
|
||||
$descriptionTrailing ??= $attributes['description-trailing'] ?? $attributes['descriptionTrailing'] ?? $__defaults['descriptionTrailing']; unset($attributes['descriptionTrailing'], $attributes['description-trailing']);
|
||||
$description ??= $attributes['description'] ?? $__defaults['description']; unset($attributes['description']);
|
||||
$label ??= $attributes['label'] ?? $__defaults['label']; unset($attributes['label']);
|
||||
$badge ??= $attributes['badge'] ?? $__defaults['badge']; unset($attributes['badge']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php if (isset($label) || isset($description)): ?>
|
||||
<?php
|
||||
|
||||
$fieldAttributes = Flux::attributesAfter('field:', $attributes, []);
|
||||
$labelAttributes = Flux::attributesAfter('label:', $attributes, ['badge' => $badge]);
|
||||
$descriptionAttributes = Flux::attributesAfter('description:', $attributes, []);
|
||||
$errorAttributes = Flux::attributesAfter('error:', $attributes, ['name' => $name]);
|
||||
?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/field.blade.php', $__blaze->compiledPath.'/fb217b67c45072adcf77500afdd69d1a.php'); ?>
|
||||
<?php if (isset($__slotsfb217b67c45072adcf77500afdd69d1a)) { $__slotsStackfb217b67c45072adcf77500afdd69d1a[] = $__slotsfb217b67c45072adcf77500afdd69d1a; } ?>
|
||||
<?php if (isset($__attrsfb217b67c45072adcf77500afdd69d1a)) { $__attrsStackfb217b67c45072adcf77500afdd69d1a[] = $__attrsfb217b67c45072adcf77500afdd69d1a; } ?>
|
||||
<?php $__attrsfb217b67c45072adcf77500afdd69d1a = ['attributes' => $fieldAttributes]; ?>
|
||||
<?php $__slotsfb217b67c45072adcf77500afdd69d1a = []; ?>
|
||||
<?php $__blaze->pushData($__attrsfb217b67c45072adcf77500afdd69d1a); ?>
|
||||
<?php ob_start(); ?>
|
||||
<?php if (isset($label)): ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/label.blade.php', $__blaze->compiledPath.'/f677e0126eb302fcb55ee4e72ad0d7c5.php'); ?>
|
||||
<?php if (isset($__slotsf677e0126eb302fcb55ee4e72ad0d7c5)) { $__slotsStackf677e0126eb302fcb55ee4e72ad0d7c5[] = $__slotsf677e0126eb302fcb55ee4e72ad0d7c5; } ?>
|
||||
<?php if (isset($__attrsf677e0126eb302fcb55ee4e72ad0d7c5)) { $__attrsStackf677e0126eb302fcb55ee4e72ad0d7c5[] = $__attrsf677e0126eb302fcb55ee4e72ad0d7c5; } ?>
|
||||
<?php $__attrsf677e0126eb302fcb55ee4e72ad0d7c5 = ['attributes' => $labelAttributes]; ?>
|
||||
<?php $__slotsf677e0126eb302fcb55ee4e72ad0d7c5 = []; ?>
|
||||
<?php $__blaze->pushData($__attrsf677e0126eb302fcb55ee4e72ad0d7c5); ?>
|
||||
<?php ob_start(); ?><?php echo e($label); ?><?php $__slotsf677e0126eb302fcb55ee4e72ad0d7c5['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slotsf677e0126eb302fcb55ee4e72ad0d7c5); ?>
|
||||
<?php _f677e0126eb302fcb55ee4e72ad0d7c5($__blaze, $__attrsf677e0126eb302fcb55ee4e72ad0d7c5, $__slotsf677e0126eb302fcb55ee4e72ad0d7c5, ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStackf677e0126eb302fcb55ee4e72ad0d7c5)) { $__slotsf677e0126eb302fcb55ee4e72ad0d7c5 = array_pop($__slotsStackf677e0126eb302fcb55ee4e72ad0d7c5); } ?>
|
||||
<?php if (! empty($__attrsStackf677e0126eb302fcb55ee4e72ad0d7c5)) { $__attrsf677e0126eb302fcb55ee4e72ad0d7c5 = array_pop($__attrsStackf677e0126eb302fcb55ee4e72ad0d7c5); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($description)): ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/description.blade.php', $__blaze->compiledPath.'/702ed166cbd8171f216fd13166b9bad7.php'); ?>
|
||||
<?php if (isset($__slots702ed166cbd8171f216fd13166b9bad7)) { $__slotsStack702ed166cbd8171f216fd13166b9bad7[] = $__slots702ed166cbd8171f216fd13166b9bad7; } ?>
|
||||
<?php if (isset($__attrs702ed166cbd8171f216fd13166b9bad7)) { $__attrsStack702ed166cbd8171f216fd13166b9bad7[] = $__attrs702ed166cbd8171f216fd13166b9bad7; } ?>
|
||||
<?php $__attrs702ed166cbd8171f216fd13166b9bad7 = ['attributes' => $descriptionAttributes]; ?>
|
||||
<?php $__slots702ed166cbd8171f216fd13166b9bad7 = []; ?>
|
||||
<?php $__blaze->pushData($__attrs702ed166cbd8171f216fd13166b9bad7); ?>
|
||||
<?php ob_start(); ?><?php echo e($description); ?><?php $__slots702ed166cbd8171f216fd13166b9bad7['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slots702ed166cbd8171f216fd13166b9bad7); ?>
|
||||
<?php _702ed166cbd8171f216fd13166b9bad7($__blaze, $__attrs702ed166cbd8171f216fd13166b9bad7, $__slots702ed166cbd8171f216fd13166b9bad7, ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStack702ed166cbd8171f216fd13166b9bad7)) { $__slots702ed166cbd8171f216fd13166b9bad7 = array_pop($__slotsStack702ed166cbd8171f216fd13166b9bad7); } ?>
|
||||
<?php if (! empty($__attrsStack702ed166cbd8171f216fd13166b9bad7)) { $__attrs702ed166cbd8171f216fd13166b9bad7 = array_pop($__attrsStack702ed166cbd8171f216fd13166b9bad7); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
|
||||
|
||||
<?php $__getScope = fn($scope = []) => $scope; ?><?php if (isset($scope)) $__scope = $scope; ?><?php $scope = $__getScope(scope: ['attributes' => $errorAttributes->getAttributes()]); ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/error.blade.php', $__blaze->compiledPath.'/690ba2faedbff09a45948cdea5004741.php'); ?>
|
||||
<?php $__blaze->pushData(['attributes' => new \Illuminate\View\ComponentAttributeBag($scope['attributes'])]); ?>
|
||||
<?php _690ba2faedbff09a45948cdea5004741($__blaze, ['attributes' => new \Illuminate\View\ComponentAttributeBag($scope['attributes'])], [], ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php if (isset($__scope)) { $scope = $__scope; unset($__scope); } ?>
|
||||
|
||||
<?php if (isset($descriptionTrailing)): ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/description.blade.php', $__blaze->compiledPath.'/702ed166cbd8171f216fd13166b9bad7.php'); ?>
|
||||
<?php if (isset($__slots702ed166cbd8171f216fd13166b9bad7)) { $__slotsStack702ed166cbd8171f216fd13166b9bad7[] = $__slots702ed166cbd8171f216fd13166b9bad7; } ?>
|
||||
<?php if (isset($__attrs702ed166cbd8171f216fd13166b9bad7)) { $__attrsStack702ed166cbd8171f216fd13166b9bad7[] = $__attrs702ed166cbd8171f216fd13166b9bad7; } ?>
|
||||
<?php $__attrs702ed166cbd8171f216fd13166b9bad7 = ['attributes' => $descriptionAttributes]; ?>
|
||||
<?php $__slots702ed166cbd8171f216fd13166b9bad7 = []; ?>
|
||||
<?php $__blaze->pushData($__attrs702ed166cbd8171f216fd13166b9bad7); ?>
|
||||
<?php ob_start(); ?><?php echo e($descriptionTrailing); ?><?php $__slots702ed166cbd8171f216fd13166b9bad7['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slots702ed166cbd8171f216fd13166b9bad7); ?>
|
||||
<?php _702ed166cbd8171f216fd13166b9bad7($__blaze, $__attrs702ed166cbd8171f216fd13166b9bad7, $__slots702ed166cbd8171f216fd13166b9bad7, ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStack702ed166cbd8171f216fd13166b9bad7)) { $__slots702ed166cbd8171f216fd13166b9bad7 = array_pop($__slotsStack702ed166cbd8171f216fd13166b9bad7); } ?>
|
||||
<?php if (! empty($__attrsStack702ed166cbd8171f216fd13166b9bad7)) { $__attrs702ed166cbd8171f216fd13166b9bad7 = array_pop($__attrsStack702ed166cbd8171f216fd13166b9bad7); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php endif; ?>
|
||||
<?php $__slotsfb217b67c45072adcf77500afdd69d1a['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slotsfb217b67c45072adcf77500afdd69d1a); ?>
|
||||
<?php _fb217b67c45072adcf77500afdd69d1a($__blaze, $__attrsfb217b67c45072adcf77500afdd69d1a, $__slotsfb217b67c45072adcf77500afdd69d1a, ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStackfb217b67c45072adcf77500afdd69d1a)) { $__slotsfb217b67c45072adcf77500afdd69d1a = array_pop($__slotsStackfb217b67c45072adcf77500afdd69d1a); } ?>
|
||||
<?php if (! empty($__attrsStackfb217b67c45072adcf77500afdd69d1a)) { $__attrsfb217b67c45072adcf77500afdd69d1a = array_pop($__attrsStackfb217b67c45072adcf77500afdd69d1a); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php else: ?>
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/with-field.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
?>
|
||||
# Laravel Pint Code Formatter
|
||||
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($assist->supportsPintAgentFormatter()): ?>
|
||||
- If you have modified any PHP files, you must run ___SINGLE_BACKTICK___<?php echo e($assist->binCommand('pint')); ?> --dirty --format agent___SINGLE_BACKTICK___ before finalizing changes to ensure your code matches the project's expected style.
|
||||
- Do not run ___SINGLE_BACKTICK___<?php echo e($assist->binCommand('pint')); ?> --test --format agent___SINGLE_BACKTICK___, simply run ___SINGLE_BACKTICK___<?php echo e($assist->binCommand('pint')); ?> --format agent___SINGLE_BACKTICK___ to fix any formatting issues.
|
||||
<?php else: ?>
|
||||
- If you have modified any PHP files, you must run ___SINGLE_BACKTICK___<?php echo e($assist->binCommand('pint')); ?> --dirty___SINGLE_BACKTICK___ before finalizing changes to ensure your code matches the project's expected style.
|
||||
- Do not run ___SINGLE_BACKTICK___<?php echo e($assist->binCommand('pint')); ?> --test___SINGLE_BACKTICK___, simply run ___SINGLE_BACKTICK___<?php echo e($assist->binCommand('pint')); ?>___SINGLE_BACKTICK___ to fix any formatting issues.
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/2b3b75ec9892892981b355f1d066492b.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,83 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['body']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['body']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div class="flex flex-col gap-3">
|
||||
<h2 class="text-lg font-semibold">Body</h2>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($body): ?>
|
||||
<div class="bg-white dark:bg-white/[2%] border border-neutral-200 dark:border-neutral-800 rounded-md overflow-x-auto p-5 text-sm font-mono shadow-xs">
|
||||
<?php if (isset($component)) { $__componentOriginal12cb286571f553eebcbe98210b217f94 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal12cb286571f553eebcbe98210b217f94 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $body,'language' => 'json']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::syntax-highlight'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($body),'language' => 'json']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $attributes = $__attributesOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__attributesOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $component = $__componentOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__componentOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<?php if (isset($component)) { $__componentOriginal612ffe32146e3bd2ac6ba6076cca9520 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No request body']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::empty-state'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['message' => 'No request body']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520)): ?>
|
||||
<?php $attributes = $__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520; ?>
|
||||
<?php unset($__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal612ffe32146e3bd2ac6ba6076cca9520)): ?>
|
||||
<?php $component = $__componentOriginal612ffe32146e3bd2ac6ba6076cca9520; ?>
|
||||
<?php unset($__componentOriginal612ffe32146e3bd2ac6ba6076cca9520); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/request-body.blade.php ENDPATH**/ ?>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?php $__env->startSection('title', __('Payment Required')); ?>
|
||||
<?php $__env->startSection('code', '402'); ?>
|
||||
<?php $__env->startSection('message', __('Payment Required')); ?>
|
||||
|
||||
<?php echo $__env->make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?><?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/errors/402.blade.php ENDPATH**/ ?>
|
||||
@@ -1,43 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Companies')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Companies'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="space-y-6">
|
||||
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||
<h1 class="text-2xl font-bold">Companies</h1>
|
||||
<form method="POST" action="<?php echo e(route('platform.companies.store')); ?>" class="mt-5 grid gap-4 md:grid-cols-4">
|
||||
<?php echo csrf_field(); ?>
|
||||
<input name="name" placeholder="Company name" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||
<input name="billing_email" placeholder="billing@example.com" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<select name="status" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950"><option value="active">Active</option><option value="suspended">Suspended</option></select>
|
||||
<button class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Create</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||
<table class="min-w-full text-sm">
|
||||
<thead><tr class="border-b"><th class="p-4 text-left">Name</th><th class="p-4 text-left">Users</th><th class="p-4 text-left">Warehouses</th><th class="p-4 text-left">Licences</th><th class="p-4 text-left">Status</th></tr></thead>
|
||||
<tbody><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::openLoop(); ?><?php endif; ?><?php $__currentLoopData = $companies; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $company): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::startLoopIteration(); ?><?php endif; ?><tr class="border-b border-zinc-100 dark:border-zinc-800"><td class="p-4 font-semibold"><?php echo e($company->name); ?></td><td class="p-4"><?php echo e($company->users_count); ?></td><td class="p-4"><?php echo e($company->warehouses_count); ?></td><td class="p-4"><?php echo e($company->license_keys_count); ?></td><td class="p-4"><?php echo e($company->is_system_company ? 'System' : $company->status); ?></td></tr><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::endLoop(); ?><?php endif; ?><?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::closeLoop(); ?><?php endif; ?></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php echo e($companies->links()); ?>
|
||||
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/Modules/Platform/Providers/../resources/views/companies/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,4 @@
|
||||
# Deployment
|
||||
|
||||
- Laravel can be deployed using [Laravel Cloud](https://cloud.laravel.com/), which is the fastest way to deploy and scale production Laravel applications.
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/2d21c7721a51fb6d42304f35ce55c99a.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
|
||||
|
||||
|
||||
## Media Library
|
||||
|
||||
- ___SINGLE_BACKTICK___spatie/laravel-medialibrary___SINGLE_BACKTICK___ associates files with Eloquent models, with support for collections, conversions, and responsive images.
|
||||
- Always activate the ___SINGLE_BACKTICK___medialibrary-development___SINGLE_BACKTICK___ skill when working with media uploads, conversions, collections, responsive images, or any code that uses the ___SINGLE_BACKTICK___HasMedia___SINGLE_BACKTICK___ interface or ___SINGLE_BACKTICK___InteractsWithMedia___SINGLE_BACKTICK___ trait.
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/bcf59257f6020c74ea42048c26530074.blade.php ENDPATH**/ ?>
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_761a32ced1f2edf086260d80db5b2d36')):
|
||||
function _761a32ced1f2edf086260d80db5b2d36($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'variant' => 'outline',
|
||||
];
|
||||
$variant ??= $attributes['variant'] ?? $__defaults['variant']; unset($attributes['variant']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$classes = Flux::classes('shrink-0')
|
||||
->add(match($variant) {
|
||||
'outline' => '[:where(&)]:size-6',
|
||||
'solid' => '[:where(&)]:size-6',
|
||||
'mini' => '[:where(&)]:size-5',
|
||||
'micro' => '[:where(&)]:size-4',
|
||||
});
|
||||
?>
|
||||
|
||||
<?php switch ($variant): case ('outline'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"/>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('solid'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/>
|
||||
<path fill-rule="evenodd" d="M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('mini'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path d="M10 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/>
|
||||
<path fill-rule="evenodd" d="M.664 10.59a1.651 1.651 0 0 1 0-1.186A10.004 10.004 0 0 1 10 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0 1 10 17c-4.257 0-7.893-2.66-9.336-6.41ZM14 10a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php case ('micro'): ?>
|
||||
<svg <?php echo e($attributes->class($classes)); ?> data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"/>
|
||||
<path fill-rule="evenodd" d="M1.38 8.28a.87.87 0 0 1 0-.566 7.003 7.003 0 0 1 13.238.006.87.87 0 0 1 0 .566A7.003 7.003 0 0 1 1.379 8.28ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
||||
<?php break; ?>
|
||||
|
||||
<?php endswitch; ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/eye.blade.php ENDPATH**/ ?>
|
||||
@@ -1,106 +0,0 @@
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php # [BlazeFolded]:{flux::link}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/link.blade.php}:{1776985208} ?>
|
||||
<?php if (isset($component)) { $__componentOriginal08b8a564843783787e0bee3357e24f38 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal08b8a564843783787e0bee3357e24f38 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::auth','data' => ['title' => __('Forgot password')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::auth'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Forgot password'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="flex flex-col gap-6">
|
||||
<?php if (isset($component)) { $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-header','data' => ['title' => __('Forgot password'),'description' => __('Enter your email to receive a password reset link')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-header'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Forgot password')),'description' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Enter your email to receive a password reset link'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $attributes = $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $component = $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Session Status -->
|
||||
<?php if (isset($component)) { $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-session-status','data' => ['class' => 'text-center','status' => session('status')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-session-status'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'text-center','status' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(session('status'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $attributes = $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $component = $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="POST" action="<?php echo e(route('password.email')); ?>" class="flex flex-col gap-6">
|
||||
<?php echo csrf_field(); ?>
|
||||
|
||||
<!-- Email Address -->
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php', $__blaze->compiledPath.'/0895d97ac72dcf2060e8a83465f0c2ce.php'); ?>
|
||||
<?php $__blaze->pushData(['name' => 'email','label' => __('Email address'),'type' => 'email','required' => true,'autofocus' => true,'placeholder' => 'email@example.com']); ?>
|
||||
<?php _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, ['name' => 'email','label' => __('Email address'),'type' => 'email','required' => true,'autofocus' => true,'placeholder' => 'email@example.com'], [], ['label', 'required', 'autofocus'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
|
||||
<?php ob_start(); ?><button type="submit" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)] text-[var(--color-accent-foreground)] border border-black/10 dark:border-0 shadow-[inset_0px_1px_--theme(--color-white/.2)] [[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none w-full" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" data-test="email-password-reset-link-button">
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
|
||||
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
|
||||
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
||||
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<span><?php ob_start(); ?>
|
||||
<?php echo e(__('Email password reset link')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></span>
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</form>
|
||||
|
||||
<div class="space-x-1 rtl:space-x-reverse text-center text-sm text-zinc-400">
|
||||
<span><?php echo e(__('Or, return to')); ?></span>
|
||||
<?php ob_start(); ?><a class="inline font-medium underline-offset-[6px] hover:decoration-current underline [[data-color]>&]:text-inherit [[data-color]>&]:decoration-current/20 dark:[[data-color]>&]:decoration-current/50 [[data-color]>&]:hover:decoration-current text-[var(--color-accent-content)] decoration-[color-mix(in_oklab,var(--color-accent-content),transparent_80%)]" <?php if (($__blazeAttr = route('login')) !== false && !is_null($__blazeAttr)): ?>href="<?php echo e($__blazeAttr === true ? 'href' : $__blazeAttr); ?>"<?php endif; unset($__blazeAttr); ?> wire:navigate="" data-flux-link ><?php ob_start(); ?><?php echo e(__('log in')); ?><?php echo trim(ob_get_clean()); ?></a><?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $attributes = $__attributesOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__attributesOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $component = $__componentOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__componentOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/livewire/auth/forgot-password.blade.php ENDPATH**/ ?>
|
||||
@@ -1,140 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal81a506f898233b9e7d58286e6bea3c18 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81a506f898233b9e7d58286e6bea3c18 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Carrier Management')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::app'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Carrier Management'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="container-fluid py-4 module-page module-carrier-management">
|
||||
<div class="row g-4">
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm overflow-hidden">
|
||||
<div class="card-header border-0 text-white module-hero">
|
||||
<div class="d-flex flex-column flex-lg-row align-items-lg-center justify-content-between gap-3">
|
||||
<div>
|
||||
<div class="small text-uppercase opacity-75 fw-semibold mb-2">Replacement module</div>
|
||||
<h1 class="h2 fw-bold mb-2">Carrier Management</h1>
|
||||
<p class="mb-0 opacity-75">Maintain carriers, services, and shipment routing master data.</p>
|
||||
</div>
|
||||
|
||||
<div class="module-hero-icon" aria-hidden="true">
|
||||
<i class="bi bi-person-vcard"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">01</div>
|
||||
<h3 class="h6 mb-2">Carrier Directory</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for carrier directory.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">02</div>
|
||||
<h3 class="h6 mb-2">Carrier Service Levels</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for carrier service levels.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">03</div>
|
||||
<h3 class="h6 mb-2">Carrier Rules</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for carrier rules.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-3">
|
||||
<div class="card h-100 border-0 shadow-sm module-metric-card">
|
||||
<div class="card-body">
|
||||
<div class="small text-uppercase text-muted fw-semibold mb-2">04</div>
|
||||
<h3 class="h6 mb-2">Carrier Audit</h3>
|
||||
<p class="small text-muted mb-0">Placeholder area for carrier audit.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<section class="card border-0 shadow-sm">
|
||||
<div class="card-header bg-white border-bottom">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between gap-2">
|
||||
<div>
|
||||
<h2 class="h5 mb-1">Carrier Management workbench</h2>
|
||||
<p class="small text-muted mb-0">Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-outline-secondary btn-sm">Export</button>
|
||||
<button type="button" class="btn btn-primary btn-sm">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Carrier</th>
|
||||
<th>Service</th>
|
||||
<th>Enabled</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Carrier Directory</td>
|
||||
<td>Sample 1</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Carrier Service Levels</td>
|
||||
<td>Sample 2</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Carrier Rules</td>
|
||||
<td>Sample 3</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Carrier Audit</td>
|
||||
<td>Sample 4</td>
|
||||
<td><span class="badge bg-success-subtle text-success border border-success-subtle">Active</span></td>
|
||||
<td class="text-end"><a href="#" class="btn btn-sm btn-outline-primary">Open</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $attributes = $__attributesOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__attributesOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81a506f898233b9e7d58286e6bea3c18)): ?>
|
||||
<?php $component = $__componentOriginal81a506f898233b9e7d58286e6bea3c18; ?>
|
||||
<?php unset($__componentOriginal81a506f898233b9e7d58286e6bea3c18); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/modules/CarrierManagement/Providers/../Resources/views/index.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,190 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['frame']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div
|
||||
x-data="{
|
||||
expanded: <?php echo e($frame->isMain() ? 'true' : 'false'); ?>,
|
||||
hasCode: <?php echo e($frame->snippet() ? 'true' : 'false'); ?>
|
||||
|
||||
}"
|
||||
class="group rounded-lg border border-neutral-200 dark:border-white/10 overflow-hidden shadow-xs"
|
||||
:class="{ 'dark:border-white/5': expanded }"
|
||||
>
|
||||
<div
|
||||
class="flex h-11 items-center gap-3 bg-white pr-2.5 pl-4 overflow-x-auto dark:bg-white/3"
|
||||
:class="{
|
||||
'cursor-pointer hover:bg-white/50 dark:hover:bg-white/5 hover:[&_svg]:stroke-emerald-500': hasCode,
|
||||
'dark:bg-white/5 rounded-t-lg': expanded,
|
||||
'dark:bg-white/3 rounded-lg': !expanded
|
||||
}"
|
||||
@click="hasCode && (expanded = !expanded)"
|
||||
>
|
||||
|
||||
<div class="flex size-3 items-center justify-center flex-shrink-0">
|
||||
<div
|
||||
class="size-2 rounded-full"
|
||||
:class="{
|
||||
'bg-rose-500 dark:bg-neutral-400': expanded,
|
||||
'bg-rose-200 dark:bg-neutral-700': !expanded
|
||||
}"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-1 items-center justify-between gap-6 min-w-0">
|
||||
<?php if (isset($component)) { $__componentOriginalc33171fb5f34409a0ad661ae1625dcb2 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.formatted-source','data' => ['frame' => $frame]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::formatted-source'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame)]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2)): ?>
|
||||
<?php $attributes = $__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2; ?>
|
||||
<?php unset($__attributesOriginalc33171fb5f34409a0ad661ae1625dcb2); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalc33171fb5f34409a0ad661ae1625dcb2)): ?>
|
||||
<?php $component = $__componentOriginalc33171fb5f34409a0ad661ae1625dcb2; ?>
|
||||
<?php unset($__componentOriginalc33171fb5f34409a0ad661ae1625dcb2); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($component)) { $__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.file-with-line','data' => ['frame' => $frame,'direction' => 'rtl']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::file-with-line'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['frame' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame),'direction' => 'rtl']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d)): ?>
|
||||
<?php $attributes = $__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d; ?>
|
||||
<?php unset($__attributesOriginalfe2bc8d0a6d110d41fdc8740012cee8d); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d)): ?>
|
||||
<?php $component = $__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d; ?>
|
||||
<?php unset($__componentOriginalfe2bc8d0a6d110d41fdc8740012cee8d); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="flex-shrink-0">
|
||||
<button
|
||||
x-cloak
|
||||
type="button"
|
||||
class="flex h-6 w-6 cursor-pointer items-center justify-center rounded-md dark:border dark:border-white/8 group-hover:text-blue-500 group-hover:dark:text-emerald-500"
|
||||
:class="{
|
||||
'text-blue-500 dark:text-emerald-500 dark:bg-white/5': expanded,
|
||||
'text-neutral-500 dark:text-neutral-500 dark:bg-white/3': !expanded,
|
||||
}"
|
||||
>
|
||||
<?php if (isset($component)) { $__componentOriginal4400c4a71d3ea90a0e0b846e7d689a28 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal4400c4a71d3ea90a0e0b846e7d689a28 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.chevrons-down-up','data' => ['xShow' => 'expanded']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.chevrons-down-up'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['x-show' => 'expanded']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal4400c4a71d3ea90a0e0b846e7d689a28)): ?>
|
||||
<?php $attributes = $__attributesOriginal4400c4a71d3ea90a0e0b846e7d689a28; ?>
|
||||
<?php unset($__attributesOriginal4400c4a71d3ea90a0e0b846e7d689a28); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal4400c4a71d3ea90a0e0b846e7d689a28)): ?>
|
||||
<?php $component = $__componentOriginal4400c4a71d3ea90a0e0b846e7d689a28; ?>
|
||||
<?php unset($__componentOriginal4400c4a71d3ea90a0e0b846e7d689a28); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($component)) { $__componentOriginal7348bb70f498d75e0a91acc6a707f136 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal7348bb70f498d75e0a91acc6a707f136 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.icons.chevrons-up-down','data' => ['xShow' => '!expanded']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::icons.chevrons-up-down'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['x-show' => '!expanded']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal7348bb70f498d75e0a91acc6a707f136)): ?>
|
||||
<?php $attributes = $__attributesOriginal7348bb70f498d75e0a91acc6a707f136; ?>
|
||||
<?php unset($__attributesOriginal7348bb70f498d75e0a91acc6a707f136); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal7348bb70f498d75e0a91acc6a707f136)): ?>
|
||||
<?php $component = $__componentOriginal7348bb70f498d75e0a91acc6a707f136; ?>
|
||||
<?php unset($__componentOriginal7348bb70f498d75e0a91acc6a707f136); ?>
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($snippet = $frame->snippet()): ?>
|
||||
<?php if (isset($component)) { $__componentOriginala7df34c267a7ce6efa01f63b793ef234 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginala7df34c267a7ce6efa01f63b793ef234 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.frame-code','data' => ['code' => $snippet,'highlightedLine' => $frame->line(),'xShow' => 'expanded','xCloak' => !$frame->isMain()]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::frame-code'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($snippet),'highlightedLine' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($frame->line()),'x-show' => 'expanded','x-cloak' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(!$frame->isMain())]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginala7df34c267a7ce6efa01f63b793ef234)): ?>
|
||||
<?php $attributes = $__attributesOriginala7df34c267a7ce6efa01f63b793ef234; ?>
|
||||
<?php unset($__attributesOriginala7df34c267a7ce6efa01f63b793ef234); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginala7df34c267a7ce6efa01f63b793ef234)): ?>
|
||||
<?php $component = $__componentOriginala7df34c267a7ce6efa01f63b793ef234; ?>
|
||||
<?php unset($__componentOriginala7df34c267a7ce6efa01f63b793ef234); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/frame.blade.php ENDPATH**/ ?>
|
||||
@@ -1,116 +0,0 @@
|
||||
<?php # [BlazeFolded]:{flux::button}:{/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php}:{1776985208} ?>
|
||||
<?php if (isset($component)) { $__componentOriginal08b8a564843783787e0bee3357e24f38 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal08b8a564843783787e0bee3357e24f38 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::auth','data' => ['title' => __('Reset password')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::auth'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Reset password'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="flex flex-col gap-6">
|
||||
<?php if (isset($component)) { $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-header','data' => ['title' => __('Reset password'),'description' => __('Please enter your new password below')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-header'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Reset password')),'description' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Please enter your new password below'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $attributes = $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $component = $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Session Status -->
|
||||
<?php if (isset($component)) { $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-session-status','data' => ['class' => 'text-center','status' => session('status')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-session-status'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'text-center','status' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(session('status'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $attributes = $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $component = $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="POST" action="<?php echo e(route('password.update')); ?>" class="flex flex-col gap-6">
|
||||
<?php echo csrf_field(); ?>
|
||||
<!-- Token -->
|
||||
<input type="hidden" name="token" value="<?php echo e(request()->route('token')); ?>">
|
||||
|
||||
<!-- Email Address -->
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php', $__blaze->compiledPath.'/0895d97ac72dcf2060e8a83465f0c2ce.php'); ?>
|
||||
<?php $__blaze->pushData(['name' => 'email','value' => e(request('email')),'label' => __('Email'),'type' => 'email','required' => true,'autocomplete' => 'email']); ?>
|
||||
<?php _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, ['name' => 'email','value' => e(request('email')),'label' => __('Email'),'type' => 'email','required' => true,'autocomplete' => 'email'], [], ['label', 'required'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
|
||||
<!-- Password -->
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php', $__blaze->compiledPath.'/0895d97ac72dcf2060e8a83465f0c2ce.php'); ?>
|
||||
<?php $__blaze->pushData(['name' => 'password','label' => __('Password'),'type' => 'password','required' => true,'autocomplete' => 'new-password','placeholder' => __('Password'),'passwordrules' => e(\Illuminate\Validation\Rules\Password::defaults()->toPasswordRulesString()),'viewable' => true]); ?>
|
||||
<?php _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, ['name' => 'password','label' => __('Password'),'type' => 'password','required' => true,'autocomplete' => 'new-password','placeholder' => __('Password'),'passwordrules' => e(\Illuminate\Validation\Rules\Password::defaults()->toPasswordRulesString()),'viewable' => true], [], ['label', 'required', 'placeholder', 'viewable'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
|
||||
<!-- Confirm Password -->
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/input/index.blade.php', $__blaze->compiledPath.'/0895d97ac72dcf2060e8a83465f0c2ce.php'); ?>
|
||||
<?php $__blaze->pushData(['name' => 'password_confirmation','label' => __('Confirm password'),'type' => 'password','required' => true,'autocomplete' => 'new-password','placeholder' => __('Confirm password'),'passwordrules' => e(\Illuminate\Validation\Rules\Password::defaults()->toPasswordRulesString()),'viewable' => true]); ?>
|
||||
<?php _0895d97ac72dcf2060e8a83465f0c2ce($__blaze, ['name' => 'password_confirmation','label' => __('Confirm password'),'type' => 'password','required' => true,'autocomplete' => 'new-password','placeholder' => __('Confirm password'),'passwordrules' => e(\Illuminate\Validation\Rules\Password::defaults()->toPasswordRulesString()),'viewable' => true], [], ['label', 'required', 'placeholder', 'viewable'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
|
||||
<div class="flex items-center justify-end">
|
||||
<?php ob_start(); ?><button type="submit" class="relative items-center font-medium justify-center gap-2 whitespace-nowrap disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none justify-center h-10 text-sm rounded-lg ps-4 pe-4 inline-flex bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)] text-[var(--color-accent-foreground)] border border-black/10 dark:border-0 shadow-[inset_0px_1px_--theme(--color-white/.2)] [[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)] *:transition-opacity [&[disabled]>:not([data-flux-loading-indicator])]:opacity-0 [&[disabled]>[data-flux-loading-indicator]]:opacity-100 [&[disabled]]:pointer-events-none w-full" data-flux-button="data-flux-button" data-flux-group-target="data-flux-group-target" data-test="reset-password-button">
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
|
||||
<svg class="shrink-0 [:where(&)]:size-4 animate-spin" data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon">
|
||||
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
||||
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<span><?php ob_start(); ?>
|
||||
<?php echo e(__('Reset password')); ?>
|
||||
|
||||
<?php echo trim(ob_get_clean()); ?></span>
|
||||
</button>
|
||||
<?php echo ltrim(ob_get_clean()); ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $attributes = $__attributesOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__attributesOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $component = $__componentOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__componentOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/livewire/auth/reset-password.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
?>
|
||||
# PHPUnit
|
||||
|
||||
- This application uses PHPUnit for testing. All tests must be written as PHPUnit classes. Use ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('make:test --phpunit {name}')); ?>___SINGLE_BACKTICK___ to create a new test.
|
||||
- If you see a test using "Pest", convert it to PHPUnit.
|
||||
- Every time a test has been updated, run that singular test.
|
||||
- When the tests relating to your feature are passing, ask the user if they would like to also run the entire test suite to make sure everything is still passing.
|
||||
- Tests should cover all happy paths, failure paths, and edge cases.
|
||||
- You must not remove any tests or test files from the tests directory without approval. These are not temporary or helper files; these are core to the application.
|
||||
|
||||
## Running Tests
|
||||
- Run the minimal number of tests, using an appropriate filter, before finalizing.
|
||||
- To run all tests: ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('test --compact')); ?>___SINGLE_BACKTICK___.
|
||||
- To run all tests in a file: ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('test --compact tests/Feature/ExampleTest.php')); ?>___SINGLE_BACKTICK___.
|
||||
- To filter on a particular test name: ___SINGLE_BACKTICK___<?php echo e($assist->artisanCommand('test --compact --filter=testName')); ?>___SINGLE_BACKTICK___ (recommended after making a change to a related file).
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/ad027bc1f4f77db585097342990de57b.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,5 @@
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg" <?php echo e($attributes); ?>>
|
||||
<path d="M4.75 1L0.75 5L4.75 9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M9.25 1L5.25 5L9.25 9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/chevrons-left.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 535 B |
@@ -0,0 +1,83 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['routeParameters']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['routeParameters']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<div class="flex flex-col gap-3">
|
||||
<h2 class="text-lg font-semibold">Routing parameters</h2>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($routeParameters): ?>
|
||||
<div class="bg-white dark:bg-white/[2%] border border-neutral-200 dark:border-neutral-800 rounded-md overflow-x-auto p-5 text-sm font-mono shadow-xs">
|
||||
<?php if (isset($component)) { $__componentOriginal12cb286571f553eebcbe98210b217f94 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal12cb286571f553eebcbe98210b217f94 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $routeParameters,'language' => 'json']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::syntax-highlight'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($routeParameters),'language' => 'json']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $attributes = $__attributesOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__attributesOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $component = $__componentOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__componentOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<?php if (isset($component)) { $__componentOriginal612ffe32146e3bd2ac6ba6076cca9520 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.empty-state','data' => ['message' => 'No routing parameters']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::empty-state'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['message' => 'No routing parameters']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520)): ?>
|
||||
<?php $attributes = $__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520; ?>
|
||||
<?php unset($__attributesOriginal612ffe32146e3bd2ac6ba6076cca9520); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal612ffe32146e3bd2ac6ba6076cca9520)): ?>
|
||||
<?php $component = $__componentOriginal612ffe32146e3bd2ac6ba6076cca9520; ?>
|
||||
<?php unset($__componentOriginal612ffe32146e3bd2ac6ba6076cca9520); ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/routing-parameter.blade.php ENDPATH**/ ?>
|
||||
@@ -1,143 +0,0 @@
|
||||
<?php if (isset($component)) { $__componentOriginal08b8a564843783787e0bee3357e24f38 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal08b8a564843783787e0bee3357e24f38 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'f4ac99e09542ff494432bc959d4fee61::auth','data' => ['title' => __('Log in')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('layouts::auth'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Log in'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<div class="flex flex-col gap-6">
|
||||
<?php if (isset($component)) { $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-header','data' => ['title' => __('Log in to your account'),'description' => __('Enter your email and password below to log in')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-header'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Log in to your account')),'description' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Enter your email and password below to log in'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $attributes = $__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__attributesOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd)): ?>
|
||||
<?php $component = $__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd; ?>
|
||||
<?php unset($__componentOriginale5d2f2831f58fdbe96ad6d7cbd41a7dd); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.auth-session-status','data' => ['class' => 'text-center','status' => session('status')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('auth-session-status'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => 'text-center','status' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(session('status'))]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $attributes = $__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__attributesOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5)): ?>
|
||||
<?php $component = $__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5; ?>
|
||||
<?php unset($__componentOriginal7c1bf3a9346f208f66ee83b06b607fb5); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal360dec750a5c22110ff2b6afe54f0581 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal360dec750a5c22110ff2b6afe54f0581 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.passkey-verify','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('passkey-verify'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes([]); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal360dec750a5c22110ff2b6afe54f0581)): ?>
|
||||
<?php $attributes = $__attributesOriginal360dec750a5c22110ff2b6afe54f0581; ?>
|
||||
<?php unset($__attributesOriginal360dec750a5c22110ff2b6afe54f0581); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal360dec750a5c22110ff2b6afe54f0581)): ?>
|
||||
<?php $component = $__componentOriginal360dec750a5c22110ff2b6afe54f0581; ?>
|
||||
<?php unset($__componentOriginal360dec750a5c22110ff2b6afe54f0581); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="POST" action="<?php echo e(route('login.store')); ?>" class="flex flex-col gap-6">
|
||||
<?php echo csrf_field(); ?>
|
||||
|
||||
<div class="grid gap-2">
|
||||
<label for="email" class="text-sm font-medium text-zinc-800 dark:text-zinc-200"><?php echo e(__('Email address')); ?></label>
|
||||
<input id="email" name="email" type="email" value="<?php echo e(old('email')); ?>" required autofocus autocomplete="email" placeholder="email@example.com" class="w-full rounded-xl border border-zinc-300 bg-white px-3 py-2.5 text-sm text-zinc-900 shadow-sm outline-none transition placeholder:text-zinc-400 focus:border-cyan-500 focus:ring-2 focus:ring-cyan-200 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white dark:placeholder:text-zinc-500 dark:focus:border-cyan-400 dark:focus:ring-cyan-900" />
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php $__errorArgs = ['email'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?><p class="text-sm text-red-600 dark:text-red-400"><?php echo e($message); ?></p><?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-2">
|
||||
<div class="flex items-center justify-between gap-3">
|
||||
<label for="password" class="text-sm font-medium text-zinc-800 dark:text-zinc-200"><?php echo e(__('Password')); ?></label>
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(Route::has('password.request')): ?>
|
||||
<a class="text-sm font-medium text-cyan-700 underline underline-offset-4 hover:text-cyan-900 dark:text-cyan-300" href="<?php echo e(route('password.request')); ?>" wire:navigate><?php echo e(__('Forgot your password?')); ?></a>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
<input id="password" name="password" type="password" required autocomplete="current-password" placeholder="<?php echo e(__('Password')); ?>" class="w-full rounded-xl border border-zinc-300 bg-white px-3 py-2.5 text-sm text-zinc-900 shadow-sm outline-none transition placeholder:text-zinc-400 focus:border-cyan-500 focus:ring-2 focus:ring-cyan-200 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white dark:placeholder:text-zinc-500 dark:focus:border-cyan-400 dark:focus:ring-cyan-900" />
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php $__errorArgs = ['password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?><p class="text-sm text-red-600 dark:text-red-400"><?php echo e($message); ?></p><?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</div>
|
||||
|
||||
<label class="flex items-center gap-2 text-sm text-zinc-700 dark:text-zinc-300">
|
||||
<input name="remember" type="checkbox" value="1" <?php if(old('remember')): echo 'checked'; endif; ?> class="rounded border-zinc-300 text-cyan-600 focus:ring-cyan-500 dark:border-zinc-700 dark:bg-zinc-950" />
|
||||
<span><?php echo e(__('Remember me')); ?></span>
|
||||
</label>
|
||||
|
||||
<button type="submit" class="w-full rounded-xl bg-zinc-950 px-4 py-2.5 text-sm font-semibold text-white shadow-sm transition hover:bg-zinc-800 focus:outline-none focus:ring-2 focus:ring-cyan-400 dark:bg-white dark:text-zinc-950 dark:hover:bg-zinc-200" data-test="login-button">
|
||||
<?php echo e(__('Log in')); ?>
|
||||
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<div class="space-x-1 text-center text-sm text-zinc-600 rtl:space-x-reverse dark:text-zinc-400">
|
||||
<span><?php echo e(__('Don\'t have an account?')); ?></span>
|
||||
<a href="<?php echo e(route('register')); ?>" wire:navigate class="font-medium text-cyan-700 underline underline-offset-4 hover:text-cyan-900 dark:text-cyan-300"><?php echo e(__('Sign up')); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $attributes = $__attributesOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__attributesOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal08b8a564843783787e0bee3357e24f38)): ?>
|
||||
<?php $component = $__componentOriginal08b8a564843783787e0bee3357e24f38; ?>
|
||||
<?php unset($__componentOriginal08b8a564843783787e0bee3357e24f38); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/livewire/auth/login.blade.php ENDPATH**/ ?>
|
||||
@@ -1,275 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_8f4a3847ec957ea9ec88204cbc200391')):
|
||||
function _8f4a3847ec957ea9ec88204cbc200391($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
$__slots['slot'] ??= new \Illuminate\View\ComponentSlot('');
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<?php $iconTrailing ??= $attributes->pluck('icon:trailing'); ?>
|
||||
<?php $iconLeading ??= $attributes->pluck('icon:leading'); ?>
|
||||
<?php $iconVariant ??= $attributes->pluck('icon:variant'); ?>
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'iconTrailing' => null,
|
||||
'variant' => 'outline',
|
||||
'iconVariant' => null,
|
||||
'iconLeading' => null,
|
||||
'type' => 'button',
|
||||
'loading' => null,
|
||||
'align' => 'center',
|
||||
'size' => 'base',
|
||||
'square' => null,
|
||||
'color' => null,
|
||||
'inset' => null,
|
||||
'icon' => null,
|
||||
'kbd' => null,
|
||||
];
|
||||
$iconTrailing ??= $attributes['icon-trailing'] ?? $attributes['iconTrailing'] ?? $__defaults['iconTrailing']; unset($attributes['iconTrailing'], $attributes['icon-trailing']);
|
||||
$variant ??= $attributes['variant'] ?? $__defaults['variant']; unset($attributes['variant']);
|
||||
$iconVariant ??= $attributes['icon-variant'] ?? $attributes['iconVariant'] ?? $__defaults['iconVariant']; unset($attributes['iconVariant'], $attributes['icon-variant']);
|
||||
$iconLeading ??= $attributes['icon-leading'] ?? $attributes['iconLeading'] ?? $__defaults['iconLeading']; unset($attributes['iconLeading'], $attributes['icon-leading']);
|
||||
$type ??= $attributes['type'] ?? $__defaults['type']; unset($attributes['type']);
|
||||
$loading ??= $attributes['loading'] ?? $__defaults['loading']; unset($attributes['loading']);
|
||||
$align ??= $attributes['align'] ?? $__defaults['align']; unset($attributes['align']);
|
||||
$size ??= $attributes['size'] ?? $__defaults['size']; unset($attributes['size']);
|
||||
$square ??= $attributes['square'] ?? $__defaults['square']; unset($attributes['square']);
|
||||
$color ??= $attributes['color'] ?? $__defaults['color']; unset($attributes['color']);
|
||||
$inset ??= $attributes['inset'] ?? $__defaults['inset']; unset($attributes['inset']);
|
||||
$icon ??= $attributes['icon'] ?? $__defaults['icon']; unset($attributes['icon']);
|
||||
$kbd ??= $attributes['kbd'] ?? $__defaults['kbd']; unset($attributes['kbd']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$iconLeading = $icon ??= $iconLeading;
|
||||
|
||||
// Button should be a square if it has no text contents...
|
||||
$square ??= $slot->isEmpty();
|
||||
|
||||
// Size-up icons in square/icon-only buttons... (xs buttons just get micro size/style...)
|
||||
$iconVariant ??= ($size === 'xs')
|
||||
? ($square ? 'micro' : 'micro')
|
||||
: ($square ? 'mini' : 'micro');
|
||||
|
||||
$iconTrailingVariant ??= $attributes->pluck('icon-trailing:variant', $iconVariant);
|
||||
|
||||
// When using the outline icon variant, we need to size it down to match the default icon sizes...
|
||||
$iconClasses = Flux::classes()
|
||||
->add($iconVariant === 'outline' ? ($square && $size !== 'xs' ? 'size-5' : 'size-4') : '')
|
||||
->add($attributes->pluck('icon:class'))
|
||||
;
|
||||
|
||||
$iconTrailingClasses = Flux::classes()
|
||||
->add($iconTrailingVariant === 'outline' ? ($square && $size !== 'xs' ? 'size-5' : 'size-4') : '')
|
||||
->add($attributes->pluck('icon-trailing:class'))
|
||||
;
|
||||
|
||||
$isTypeSubmitAndNotDisabledOnRender = $type === 'submit' && ! $attributes->has('disabled');
|
||||
|
||||
$isJsMethod = str_starts_with($attributes->whereStartsWith('wire:click')->first() ?? '', '$js.');
|
||||
|
||||
$loading ??= $loading ?? ($isTypeSubmitAndNotDisabledOnRender || $attributes->whereStartsWith('wire:click')->isNotEmpty() && ! $isJsMethod);
|
||||
|
||||
if ($loading && $type !== 'submit' && ! $isJsMethod) {
|
||||
$attributes = $attributes->merge(['wire:loading.attr' => 'data-flux-loading']);
|
||||
|
||||
// We need to add `wire:target` here because without it the loading indicator won't be scoped
|
||||
// by method params, causing multiple buttons with the same method but different params to
|
||||
// trigger each other's loading indicators...
|
||||
if (! $attributes->has('wire:target') && $target = $attributes->whereStartsWith('wire:click')->first()) {
|
||||
$attributes = $attributes->merge(['wire:target' => $target], escape: false);
|
||||
}
|
||||
}
|
||||
|
||||
$classes = Flux::classes()
|
||||
->add('relative items-center font-medium justify-center gap-2 whitespace-nowrap')
|
||||
->add('disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none')
|
||||
->add(match ($align) {
|
||||
'start' => 'justify-start',
|
||||
'center' => 'justify-center',
|
||||
'end' => 'justify-end',
|
||||
})
|
||||
->add(match ($size) { // Size...
|
||||
'base' => 'h-10 text-sm rounded-lg' . ' ' . (
|
||||
$square
|
||||
? 'w-10'
|
||||
// If we have an icon, we want to reduce the padding on the side that has the icon...
|
||||
: ($iconLeading && $iconLeading !== '' ? 'ps-3' : 'ps-4') . ' ' . ($iconTrailing && $iconTrailing !== '' ? 'pe-3' : 'pe-4')
|
||||
),
|
||||
'sm' => 'h-8 text-sm rounded-md' . ' ' . ($square ? 'w-8' : 'px-3'),
|
||||
'xs' => 'h-6 text-xs rounded-md' . ' ' . ($square ? 'w-6' : 'px-2'),
|
||||
})
|
||||
->add('inline-flex') // Buttons are inline by default but links are blocks, so inline-flex is needed here to ensure link-buttons are displayed the same as buttons...
|
||||
->add($inset ? match ($size) { // Inset...
|
||||
'base' => $square
|
||||
? Flux::applyInset($inset, top: '-mt-2.5', right: '-me-2.5', bottom: '-mb-2.5', left: '-ms-2.5')
|
||||
: Flux::applyInset($inset, top: '-mt-2.5', right: '-me-4', bottom: '-mb-3', left: '-ms-4'),
|
||||
'sm' => $square
|
||||
? Flux::applyInset($inset, top: '-mt-1.5', right: '-me-1.5', bottom: '-mb-1.5', left: '-ms-1.5')
|
||||
: Flux::applyInset($inset, top: '-mt-1.5', right: '-me-3', bottom: '-mb-1.5', left: '-ms-3'),
|
||||
'xs' => $square
|
||||
? Flux::applyInset($inset, top: '-mt-1', right: '-me-1', bottom: '-mb-1', left: '-ms-1')
|
||||
: Flux::applyInset($inset, top: '-mt-1', right: '-me-2', bottom: '-mb-1', left: '-ms-2'),
|
||||
} : '')
|
||||
->add(match ($variant) { // Background color...
|
||||
'primary' => 'bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)]',
|
||||
'filled' => 'bg-zinc-800/5 hover:bg-zinc-800/10 dark:bg-white/10 dark:hover:bg-white/20',
|
||||
'outline' => 'bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75',
|
||||
'danger' => 'bg-red-500 hover:bg-red-600 dark:bg-red-600 dark:hover:bg-red-500',
|
||||
'ghost' => 'bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15',
|
||||
'subtle' => 'bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15',
|
||||
})
|
||||
->add(match ($variant) { // Text color...
|
||||
'primary' => 'text-[var(--color-accent-foreground)]',
|
||||
'filled' => 'text-zinc-800 dark:text-white',
|
||||
'outline' => 'text-zinc-800 dark:text-white',
|
||||
'danger' => 'text-white',
|
||||
'ghost' => 'text-zinc-800 dark:text-white',
|
||||
'subtle' => 'text-zinc-500 hover:text-zinc-800 dark:text-zinc-400 dark:hover:text-white',
|
||||
})
|
||||
->add(match ($variant) { // Border color...
|
||||
'primary' => 'border border-black/10 dark:border-0',
|
||||
'outline' => 'border border-zinc-200 hover:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600',
|
||||
default => '',
|
||||
})
|
||||
->add(match ($variant) { // Shadows...
|
||||
'primary' => 'shadow-[inset_0px_1px_--theme(--color-white/.2)]',
|
||||
'danger' => 'shadow-[inset_0px_1px_var(--color-red-500),inset_0px_2px_--theme(--color-white/.15)] dark:shadow-none',
|
||||
'outline' => match ($size) {
|
||||
'base' => 'shadow-xs',
|
||||
'sm' => 'shadow-xs',
|
||||
'xs' => 'shadow-none',
|
||||
},
|
||||
default => '',
|
||||
})
|
||||
->add(match ($variant) { // Grouped border treatments...
|
||||
'ghost' => '',
|
||||
'subtle' => '',
|
||||
'outline' => '[[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px]',
|
||||
'filled' => '[[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-zinc-200/80 dark:[[data-flux-button-group]_&]:border-zinc-900/50',
|
||||
'danger' => '[[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-red-600 dark:[[data-flux-button-group]_&]:border-red-900/25',
|
||||
'primary' => '[[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)]',
|
||||
})
|
||||
->add($loading ? [ // Loading states...
|
||||
'*:transition-opacity',
|
||||
$type === 'submit' ? '[&[disabled]>:not([data-flux-loading-indicator])]:opacity-0' : '[&[data-loading]>:not([data-flux-loading-indicator])]:opacity-0 [&[data-flux-loading]>:not([data-flux-loading-indicator])]:opacity-0',
|
||||
$type === 'submit' ? '[&[disabled]>[data-flux-loading-indicator]]:opacity-100' : '[&[data-loading]>[data-flux-loading-indicator]]:opacity-100 [&[data-flux-loading]>[data-flux-loading-indicator]]:opacity-100',
|
||||
$type === 'submit' ? '[&[disabled]]:pointer-events-none' : 'data-loading:pointer-events-none data-flux-loading:pointer-events-none',
|
||||
] : [])
|
||||
->add($variant === 'primary' ? match ($color) {
|
||||
'slate' => '[--color-accent:var(--color-slate-800)] [--color-accent-content:var(--color-slate-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-slate-800)]',
|
||||
'gray' => '[--color-accent:var(--color-gray-800)] [--color-accent-content:var(--color-gray-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-gray-800)]',
|
||||
'zinc' => '[--color-accent:var(--color-zinc-800)] [--color-accent-content:var(--color-zinc-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-zinc-800)]',
|
||||
'neutral' => '[--color-accent:var(--color-neutral-800)] [--color-accent-content:var(--color-neutral-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-neutral-800)]',
|
||||
'stone' => '[--color-accent:var(--color-stone-800)] [--color-accent-content:var(--color-stone-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-stone-800)]',
|
||||
'mauve' => '[--color-accent:var(--color-mauve-800)] [--color-accent-content:var(--color-mauve-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-mauve-800)]',
|
||||
'olive' => '[--color-accent:var(--color-olive-800)] [--color-accent-content:var(--color-olive-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-olive-800)]',
|
||||
'mist' => '[--color-accent:var(--color-mist-800)] [--color-accent-content:var(--color-mist-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-mist-800)]',
|
||||
'taupe' => '[--color-accent:var(--color-taupe-800)] [--color-accent-content:var(--color-taupe-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-taupe-800)]',
|
||||
'red' => '[--color-accent:var(--color-red-500)] [--color-accent-content:var(--color-red-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-red-500)] dark:[--color-accent-content:var(--color-red-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'orange' => '[--color-accent:var(--color-orange-500)] [--color-accent-content:var(--color-orange-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-orange-400)] dark:[--color-accent-content:var(--color-orange-400)] dark:[--color-accent-foreground:var(--color-orange-950)]',
|
||||
'amber' => '[--color-accent:var(--color-amber-400)] [--color-accent-content:var(--color-amber-600)] [--color-accent-foreground:var(--color-amber-950)] dark:[--color-accent:var(--color-amber-400)] dark:[--color-accent-content:var(--color-amber-400)] dark:[--color-accent-foreground:var(--color-amber-950)]',
|
||||
'yellow' => '[--color-accent:var(--color-yellow-400)] [--color-accent-content:var(--color-yellow-600)] [--color-accent-foreground:var(--color-yellow-950)] dark:[--color-accent:var(--color-yellow-400)] dark:[--color-accent-content:var(--color-yellow-400)] dark:[--color-accent-foreground:var(--color-yellow-950)]',
|
||||
'lime' => '[--color-accent:var(--color-lime-400)] [--color-accent-content:var(--color-lime-600)] [--color-accent-foreground:var(--color-lime-900)] dark:[--color-accent:var(--color-lime-400)] dark:[--color-accent-content:var(--color-lime-400)] dark:[--color-accent-foreground:var(--color-lime-950)]',
|
||||
'green' => '[--color-accent:var(--color-green-600)] [--color-accent-content:var(--color-green-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-green-600)] dark:[--color-accent-content:var(--color-green-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'emerald' => '[--color-accent:var(--color-emerald-600)] [--color-accent-content:var(--color-emerald-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-emerald-600)] dark:[--color-accent-content:var(--color-emerald-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'teal' => '[--color-accent:var(--color-teal-600)] [--color-accent-content:var(--color-teal-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-teal-600)] dark:[--color-accent-content:var(--color-teal-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'cyan' => '[--color-accent:var(--color-cyan-600)] [--color-accent-content:var(--color-cyan-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-cyan-600)] dark:[--color-accent-content:var(--color-cyan-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'sky' => '[--color-accent:var(--color-sky-600)] [--color-accent-content:var(--color-sky-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-sky-600)] dark:[--color-accent-content:var(--color-sky-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'blue' => '[--color-accent:var(--color-blue-500)] [--color-accent-content:var(--color-blue-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-blue-500)] dark:[--color-accent-content:var(--color-blue-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'indigo' => '[--color-accent:var(--color-indigo-500)] [--color-accent-content:var(--color-indigo-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-indigo-500)] dark:[--color-accent-content:var(--color-indigo-300)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'violet' => '[--color-accent:var(--color-violet-500)] [--color-accent-content:var(--color-violet-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-violet-500)] dark:[--color-accent-content:var(--color-violet-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'purple' => '[--color-accent:var(--color-purple-500)] [--color-accent-content:var(--color-purple-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-purple-500)] dark:[--color-accent-content:var(--color-purple-300)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'fuchsia' => '[--color-accent:var(--color-fuchsia-600)] [--color-accent-content:var(--color-fuchsia-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-fuchsia-600)] dark:[--color-accent-content:var(--color-fuchsia-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'pink' => '[--color-accent:var(--color-pink-600)] [--color-accent-content:var(--color-pink-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-pink-600)] dark:[--color-accent-content:var(--color-pink-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
'rose' => '[--color-accent:var(--color-rose-500)] [--color-accent-content:var(--color-rose-500)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-rose-500)] dark:[--color-accent-content:var(--color-rose-400)] dark:[--color-accent-foreground:var(--color-white)]',
|
||||
default => '',
|
||||
} : '')
|
||||
;
|
||||
|
||||
// Exempt subtle and ghost buttons from receiving border roundness overrides from button.group...
|
||||
$attributes = $attributes->merge([
|
||||
'data-flux-group-target' => ! in_array($variant, ['subtle', 'ghost']),
|
||||
]);
|
||||
?>
|
||||
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/with-tooltip.blade.php', $__blaze->compiledPath.'/3e67020b08ceeca960cbb88b2dabc310.php'); ?>
|
||||
<?php if (isset($__slots3e67020b08ceeca960cbb88b2dabc310)) { $__slotsStack3e67020b08ceeca960cbb88b2dabc310[] = $__slots3e67020b08ceeca960cbb88b2dabc310; } ?>
|
||||
<?php if (isset($__attrs3e67020b08ceeca960cbb88b2dabc310)) { $__attrsStack3e67020b08ceeca960cbb88b2dabc310[] = $__attrs3e67020b08ceeca960cbb88b2dabc310; } ?>
|
||||
<?php $__attrs3e67020b08ceeca960cbb88b2dabc310 = ['attributes' => $attributes]; ?>
|
||||
<?php $__slots3e67020b08ceeca960cbb88b2dabc310 = []; ?>
|
||||
<?php $__blaze->pushData($__attrs3e67020b08ceeca960cbb88b2dabc310); ?>
|
||||
<?php ob_start(); ?>
|
||||
<?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button-or-link-pure.blade.php', $__blaze->compiledPath.'/a0ec3a97dd1bc9937073b6e6643ed4b8.php'); ?>
|
||||
<?php if (isset($__slotsa0ec3a97dd1bc9937073b6e6643ed4b8)) { $__slotsStacka0ec3a97dd1bc9937073b6e6643ed4b8[] = $__slotsa0ec3a97dd1bc9937073b6e6643ed4b8; } ?>
|
||||
<?php if (isset($__attrsa0ec3a97dd1bc9937073b6e6643ed4b8)) { $__attrsStacka0ec3a97dd1bc9937073b6e6643ed4b8[] = $__attrsa0ec3a97dd1bc9937073b6e6643ed4b8; } ?>
|
||||
<?php $__attrsa0ec3a97dd1bc9937073b6e6643ed4b8 = ['type' => $type,'attributes' => $attributes->class($classes),'dataFluxButton' => true]; ?>
|
||||
<?php $__slotsa0ec3a97dd1bc9937073b6e6643ed4b8 = []; ?>
|
||||
<?php $__blaze->pushData($__attrsa0ec3a97dd1bc9937073b6e6643ed4b8); ?>
|
||||
<?php ob_start(); ?>
|
||||
<?php if ($loading): ?>
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-0" data-flux-loading-indicator>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => 'loading', 'variant' => $iconVariant, 'class' => $iconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => 'loading','variant' => $iconVariant,'class' => $iconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => 'loading','variant' => $iconVariant,'class' => $iconClasses], [], ['variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (is_string($iconLeading) && $iconLeading !== ''): ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconLeading, 'variant' => $iconVariant, 'class' => $iconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconLeading,'variant' => $iconVariant,'class' => $iconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconLeading,'variant' => $iconVariant,'class' => $iconClasses], [], ['icon', 'variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php elseif ($iconLeading): ?>
|
||||
<?php echo e($iconLeading); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (($loading || $iconLeading || $iconTrailing) && ! $slot->isEmpty()): ?>
|
||||
|
||||
|
||||
<span><?php echo e($slot); ?></span>
|
||||
<?php else: ?>
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($kbd): ?>
|
||||
<div class="text-xs text-zinc-400 dark:text-zinc-400"><?php echo e($kbd); ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (is_string($iconTrailing) && $iconTrailing !== ''): ?>
|
||||
|
||||
<?php $iconClasses->add($square ? '' : '-ms-1'); ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconTrailing, 'variant' => $iconTrailingVariant, 'class' => $iconTrailingClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconTrailing,'variant' => $iconTrailingVariant,'class' => $iconTrailingClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconTrailing,'variant' => $iconTrailingVariant,'class' => $iconTrailingClasses], [], ['icon', 'variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php elseif ($iconTrailing): ?>
|
||||
<?php echo e($iconTrailing); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
<?php $__slotsa0ec3a97dd1bc9937073b6e6643ed4b8['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slotsa0ec3a97dd1bc9937073b6e6643ed4b8); ?>
|
||||
<?php _a0ec3a97dd1bc9937073b6e6643ed4b8($__blaze, $__attrsa0ec3a97dd1bc9937073b6e6643ed4b8, $__slotsa0ec3a97dd1bc9937073b6e6643ed4b8, ['type', 'attributes', 'dataFluxButton'], ['dataFluxButton' => 'data-flux-button'], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStacka0ec3a97dd1bc9937073b6e6643ed4b8)) { $__slotsa0ec3a97dd1bc9937073b6e6643ed4b8 = array_pop($__slotsStacka0ec3a97dd1bc9937073b6e6643ed4b8); } ?>
|
||||
<?php if (! empty($__attrsStacka0ec3a97dd1bc9937073b6e6643ed4b8)) { $__attrsa0ec3a97dd1bc9937073b6e6643ed4b8 = array_pop($__attrsStacka0ec3a97dd1bc9937073b6e6643ed4b8); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php $__slots3e67020b08ceeca960cbb88b2dabc310['slot'] = new \Illuminate\View\ComponentSlot(trim(ob_get_clean()), []); ?>
|
||||
<?php $__blaze->pushSlots($__slots3e67020b08ceeca960cbb88b2dabc310); ?>
|
||||
<?php _3e67020b08ceeca960cbb88b2dabc310($__blaze, $__attrs3e67020b08ceeca960cbb88b2dabc310, $__slots3e67020b08ceeca960cbb88b2dabc310, ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php if (! empty($__slotsStack3e67020b08ceeca960cbb88b2dabc310)) { $__slots3e67020b08ceeca960cbb88b2dabc310 = array_pop($__slotsStack3e67020b08ceeca960cbb88b2dabc310); } ?>
|
||||
<?php if (! empty($__attrsStack3e67020b08ceeca960cbb88b2dabc310)) { $__attrs3e67020b08ceeca960cbb88b2dabc310 = array_pop($__attrsStack3e67020b08ceeca960cbb88b2dabc310); } ?>
|
||||
<?php $__blaze->popData(); ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button/index.blade.php ENDPATH**/ ?>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?php
|
||||
$__split = function ($name, $params = []) {
|
||||
return [$name, $params];
|
||||
};
|
||||
[$__name, $__params] = $__split($name, $params);
|
||||
|
||||
$__keyOuter = $__key ?? null;
|
||||
|
||||
$__key = null;
|
||||
$__componentSlots = [];
|
||||
|
||||
$__key ??= \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::generateKey('lw-321469559-0', $__key);
|
||||
|
||||
$__html = app('livewire')->mount($__name, $__params, $__key, $__componentSlots);
|
||||
|
||||
echo $__html;
|
||||
|
||||
unset($__html);
|
||||
unset($__key);
|
||||
$__key = $__keyOuter;
|
||||
unset($__keyOuter);
|
||||
unset($__name);
|
||||
unset($__params);
|
||||
unset($__componentSlots);
|
||||
unset($__split);
|
||||
?><?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/a168b0ebcff266df6b662fc4b6d06e88.blade.php ENDPATH**/ ?>
|
||||
@@ -1,88 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_986fb95c0ca2c23afb55cc89b1b07e48')):
|
||||
function _986fb95c0ca2c23afb55cc89b1b07e48($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<?php $iconVariant ??= $attributes->pluck('icon:variant'); ?>
|
||||
<?php $iconTrailing ??= $attributes->pluck('icon:trailing'); ?>
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'iconVariant' => 'micro',
|
||||
'iconTrailing' => null,
|
||||
'initials' => null,
|
||||
'chevron' => true,
|
||||
'circle' => null,
|
||||
'avatar' => null,
|
||||
'name' => null,
|
||||
];
|
||||
$iconVariant ??= $attributes['icon-variant'] ?? $attributes['iconVariant'] ?? $__defaults['iconVariant']; unset($attributes['iconVariant'], $attributes['icon-variant']);
|
||||
$iconTrailing ??= $attributes['icon-trailing'] ?? $attributes['iconTrailing'] ?? $__defaults['iconTrailing']; unset($attributes['iconTrailing'], $attributes['icon-trailing']);
|
||||
$initials ??= $attributes['initials'] ?? $__defaults['initials']; unset($attributes['initials']);
|
||||
$chevron ??= $attributes['chevron'] ?? $__defaults['chevron']; unset($attributes['chevron']);
|
||||
$circle ??= $attributes['circle'] ?? $__defaults['circle']; unset($attributes['circle']);
|
||||
$avatar ??= $attributes['avatar'] ?? $__defaults['avatar']; unset($attributes['avatar']);
|
||||
$name ??= $attributes['name'] ?? $__defaults['name']; unset($attributes['name']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php
|
||||
$iconTrailing = $iconTrailing ?? ($chevron ? 'chevron-down' : null);
|
||||
|
||||
// When using the outline icon variant, we need to size it down to match the default icon sizes...
|
||||
$iconClasses = Flux::classes('text-zinc-400 dark:text-white/80 group-hover:text-zinc-800 dark:group-hover:text-white')
|
||||
->add($iconVariant === 'outline' ? 'size-4' : '');
|
||||
|
||||
$classes = Flux::classes()
|
||||
->add('group flex items-center')
|
||||
->add('rounded-lg has-data-[circle=true]:rounded-full')
|
||||
->add('[ui-dropdown>&]:w-full') // Without this, the "name" won't get truncated in a sidebar dropdown...
|
||||
->add('p-1 hover:bg-zinc-800/5 dark:hover:bg-white/15')
|
||||
;
|
||||
?>
|
||||
|
||||
<button type="button" <?php echo e($attributes->class($classes)); ?> data-flux-profile>
|
||||
<div class="shrink-0">
|
||||
<?php if ($avatar instanceof \Illuminate\View\ComponentSlot): ?>
|
||||
<?php echo e($avatar); ?>
|
||||
|
||||
<?php else: ?>
|
||||
<?php $avatarAttributes = Flux::attributesAfter('avatar:', $attributes, ['src' => $avatar, 'size' => 'sm', 'circle' => $circle, 'name' => $name, 'initials' => $initials]); ?>
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::avatar", ['attributes' => $avatarAttributes]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/avatar/index.blade.php', $__blaze->compiledPath.'/110c1c2a55a80ff8b2b4fbed62b1a7d3.php'); ?>
|
||||
<?php $__blaze->pushData(['attributes' => $avatarAttributes]); ?>
|
||||
<?php _110c1c2a55a80ff8b2b4fbed62b1a7d3($__blaze, ['attributes' => $avatarAttributes], [], ['attributes'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if ($name): ?>
|
||||
<span class="mx-2 text-sm text-zinc-500 dark:text-white/80 group-hover:text-zinc-800 dark:group-hover:text-white font-medium truncate">
|
||||
<?php echo e($name); ?>
|
||||
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (is_string($iconTrailing) && $iconTrailing !== ''): ?>
|
||||
<div class="shrink-0 ms-auto size-8 flex justify-center items-center">
|
||||
<?php $blaze_memoized_key = \Livewire\Blaze\Memoizer\Memo::key("flux::icon", ['icon' => $iconTrailing, 'variant' => $iconVariant, 'class' => $iconClasses]); ?><?php if ($blaze_memoized_key !== null && \Livewire\Blaze\Memoizer\Memo::has($blaze_memoized_key)) : ?><?php echo \Livewire\Blaze\Memoizer\Memo::get($blaze_memoized_key); ?><?php else : ?><?php ob_start(); ?><?php $__blaze->ensureRequired('/Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/icon/index.blade.php', $__blaze->compiledPath.'/50d7e9e02b0a09ef19c84ebdf6a22b69.php'); ?>
|
||||
<?php $__blaze->pushData(['icon' => $iconTrailing,'variant' => $iconVariant,'class' => $iconClasses]); ?>
|
||||
<?php _50d7e9e02b0a09ef19c84ebdf6a22b69($__blaze, ['icon' => $iconTrailing,'variant' => $iconVariant,'class' => $iconClasses], [], ['icon', 'variant', 'class'], [], $__this ?? (isset($this) ? $this : null)); ?>
|
||||
<?php $__blaze->popData(); ?><?php $blaze_memoized_html = ob_get_clean(); ?><?php if ($blaze_memoized_key !== null) { \Livewire\Blaze\Memoizer\Memo::put($blaze_memoized_key, $blaze_memoized_html); } ?><?php echo $blaze_memoized_html; ?><?php endif; ?>
|
||||
</div>
|
||||
<?php elseif ($iconTrailing): ?>
|
||||
<?php echo e($iconTrailing); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</button>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/profile.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,67 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['frame']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['frame']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<?php
|
||||
$class = $frame->class();
|
||||
$operator = $frame->operator();
|
||||
$callable = $frame->callable();
|
||||
|
||||
if ($class && $operator) {
|
||||
$source = $class.$operator.$callable.'('.implode(', ', $frame->args()).')';
|
||||
} elseif ($callable !== 'throw') {
|
||||
$source = $callable.'('.implode(', ', $frame->args()).')';
|
||||
} else {
|
||||
$source = $frame->source();
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if (isset($component)) { $__componentOriginal12cb286571f553eebcbe98210b217f94 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal12cb286571f553eebcbe98210b217f94 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'laravel-exceptions-renderer::components.syntax-highlight','data' => ['code' => $source,'language' => 'php','truncate' => true,'class' => 'text-xs min-w-0','dataTippyContent' => ''.e($source).'']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
||||
<?php $component->withName('laravel-exceptions-renderer::syntax-highlight'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
||||
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['code' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($source),'language' => 'php','truncate' => true,'class' => 'text-xs min-w-0','data-tippy-content' => ''.e($source).'']); ?>
|
||||
<?php \Livewire\Features\SupportCompiledWireKeys\SupportCompiledWireKeys::processComponentKey($component); ?>
|
||||
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $attributes = $__attributesOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__attributesOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal12cb286571f553eebcbe98210b217f94)): ?>
|
||||
<?php $component = $__componentOriginal12cb286571f553eebcbe98210b217f94; ?>
|
||||
<?php unset($__componentOriginal12cb286571f553eebcbe98210b217f94); ?>
|
||||
<?php endif; ?>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/formatted-source.blade.php ENDPATH**/ ?>
|
||||
@@ -1,54 +0,0 @@
|
||||
<?php
|
||||
if (!function_exists('_a0ec3a97dd1bc9937073b6e6643ed4b8')):
|
||||
function _a0ec3a97dd1bc9937073b6e6643ed4b8($__blaze, $__data = [], $__slots = [], $__bound = [], $__keys = [], $__this = null) {
|
||||
$__env = $__blaze->env;
|
||||
$__slots['slot'] ??= new \Illuminate\View\ComponentSlot('');
|
||||
if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); }
|
||||
extract($__slots, EXTR_SKIP); unset($__slots);
|
||||
extract($__data, EXTR_SKIP);
|
||||
$attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys);
|
||||
unset($__data, $__bound, $__keys);
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
extract(Flux::forwardedAttributes($attributes, [
|
||||
'type',
|
||||
'href',
|
||||
'as',
|
||||
]));
|
||||
?>
|
||||
|
||||
<?php
|
||||
$__defaults = [
|
||||
'type' => 'button',
|
||||
'href' => null,
|
||||
'as' => null,
|
||||
];
|
||||
$type ??= $attributes['type'] ?? $__defaults['type']; unset($attributes['type']);
|
||||
$href ??= $attributes['href'] ?? $__defaults['href']; unset($attributes['href']);
|
||||
$as ??= $attributes['as'] ?? $__defaults['as']; unset($attributes['as']);
|
||||
unset($__defaults);
|
||||
?>
|
||||
|
||||
<?php if ($as === 'div' && ! $href): ?>
|
||||
<div <?php echo e($attributes); ?>>
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</div>
|
||||
<?php elseif ($as === 'a' || $href): ?>
|
||||
|
||||
<a href="<?php echo e($href); ?>" <?php echo e($attributes); ?>>
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</a>
|
||||
<?php else: ?>
|
||||
<button <?php echo e($attributes->merge(['type' => $type])); ?>>
|
||||
<?php echo e($slot); ?>
|
||||
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
echo ltrim(ob_get_clean());
|
||||
} endif; ?><?php /**PATH /Users/mag/Sites/WMS/Core/vendor/livewire/flux/src/../stubs/resources/views/flux/button-or-link-pure.blade.php ENDPATH**/ ?>
|
||||
@@ -1 +0,0 @@
|
||||
@livewire($name, $params)
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php $attributes ??= new \Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$__newAttributes = [];
|
||||
$__propNames = \Illuminate\View\ComponentAttributeBag::extractPropNames((['frame', 'direction' => 'ltr']));
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (in_array($__key, $__propNames)) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
} else {
|
||||
$__newAttributes[$__key] = $__value;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = new \Illuminate\View\ComponentAttributeBag($__newAttributes);
|
||||
|
||||
unset($__propNames);
|
||||
unset($__newAttributes);
|
||||
|
||||
foreach (array_filter((['frame', 'direction' => 'ltr']), 'is_string', ARRAY_FILTER_USE_KEY) as $__key => $__value) {
|
||||
$$__key = $$__key ?? $__value;
|
||||
}
|
||||
|
||||
$__defined_vars = get_defined_vars();
|
||||
|
||||
foreach ($attributes->all() as $__key => $__value) {
|
||||
if (array_key_exists($__key, $__defined_vars)) unset($$__key);
|
||||
}
|
||||
|
||||
unset($__defined_vars, $__key, $__value); ?>
|
||||
|
||||
<?php
|
||||
$file = $frame->file();
|
||||
$line = $frame->line();
|
||||
?>
|
||||
|
||||
<div
|
||||
<?php echo e($attributes->merge(['class' => 'truncate font-mono text-xs text-neutral-500 dark:text-neutral-400'])); ?>
|
||||
|
||||
dir="<?php echo e($direction); ?>"
|
||||
>
|
||||
<span data-tippy-content="<?php echo e($file); ?>:<?php echo e($line); ?>">
|
||||
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(config('app.editor')): ?>
|
||||
<a href="<?php echo e($frame->editorHref()); ?>" @click.stop>
|
||||
<span class="hover:underline decoration-neutral-400"><?php echo e($file); ?></span><span class="text-neutral-500">:<?php echo e($line); ?></span>
|
||||
</a>
|
||||
<?php else: ?>
|
||||
<?php echo e($file); ?><span class="text-neutral-500">:<?php echo e($line); ?></span>
|
||||
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
||||
</span>
|
||||
</div>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/file-with-line.blade.php ENDPATH**/ ?>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?php $layout->viewContext->mergeIntoNewEnvironment($__env); ?>
|
||||
|
||||
<?php $__env->startComponent($layout->view, $layout->params); ?>
|
||||
<?php $__env->slot($layout->slotOrSection); ?>
|
||||
<?php echo $content; ?>
|
||||
|
||||
<?php $__env->endSlot(); ?>
|
||||
|
||||
<?php
|
||||
// Manually forward slots defined in the Livewire template into the layout component...
|
||||
foreach ($layout->viewContext->slots[-1] ?? [] as $name => $slot) {
|
||||
$__env->slot($name, attributes: $slot->attributes->getAttributes());
|
||||
echo $slot->toHtml();
|
||||
$__env->endSlot();
|
||||
}
|
||||
?>
|
||||
<?php echo $__env->renderComponent(); ?><?php /**PATH /Users/mag/Sites/WMS/Core/storage/framework/views/4943bc92ebba41e8b0e508149542e0ad.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,5 @@
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg" <?php echo e($attributes); ?>>
|
||||
<path d="M5.25 9L9.25 5L5.25 1" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M0.75 9L4.75 5L0.75 1" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/vendor/laravel/framework/src/Illuminate/Foundation/Providers/../resources/exceptions/renderer/components/icons/chevrons-right.blade.php ENDPATH**/ ?>
|
||||
|
After Width: | Height: | Size: 536 B |
@@ -0,0 +1,58 @@
|
||||
---
|
||||
name: configuring-horizon
|
||||
description: "Use this skill whenever the user mentions Horizon by name in a Laravel context. Covers the full Horizon lifecycle: installing Horizon (horizon:install, Sail setup), configuring config/horizon.php (supervisor blocks, queue assignments, balancing strategies, minProcesses/maxProcesses), fixing the dashboard (authorization via Gate::define viewHorizon, blank metrics, horizon:snapshot scheduling), and troubleshooting production issues (worker crashes, timeout chain ordering, LongWaitDetected notifications, waits config). Also covers job tagging and silencing. Do not use for generic Laravel queues without Horizon, SQS or database drivers, standalone Redis setup, Linux supervisord, Telescope, or job batching."
|
||||
license: MIT
|
||||
metadata:
|
||||
author: laravel
|
||||
---
|
||||
@php
|
||||
/** @var \Laravel\Boost\Install\GuidelineAssist $assist */
|
||||
@endphp
|
||||
# Horizon Configuration
|
||||
|
||||
## Documentation
|
||||
|
||||
Use ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ for detailed Horizon patterns and documentation covering configuration, supervisors, balancing, dashboard authorization, tags, notifications, metrics, and deployment.
|
||||
|
||||
For deeper guidance on specific topics, read the relevant reference file before implementing:
|
||||
|
||||
- ___SINGLE_BACKTICK___references/supervisors.md___SINGLE_BACKTICK___ covers supervisor blocks, balancing strategies, multi-queue setups, and auto-scaling
|
||||
- ___SINGLE_BACKTICK___references/notifications.md___SINGLE_BACKTICK___ covers LongWaitDetected alerts, notification routing, and the ___SINGLE_BACKTICK___waits___SINGLE_BACKTICK___ config
|
||||
- ___SINGLE_BACKTICK___references/tags.md___SINGLE_BACKTICK___ covers job tagging, dashboard filtering, and silencing noisy jobs
|
||||
- ___SINGLE_BACKTICK___references/metrics.md___SINGLE_BACKTICK___ covers the blank metrics dashboard, snapshot scheduling, and retention config
|
||||
|
||||
## Basic Usage
|
||||
|
||||
### Installation
|
||||
|
||||
___SINGLE_BACKTICK______SINGLE_BACKTICK______SINGLE_BACKTICK___bash
|
||||
{{ $assist->artisanCommand('horizon:install') }}
|
||||
___SINGLE_BACKTICK______SINGLE_BACKTICK______SINGLE_BACKTICK___
|
||||
|
||||
### Supervisor Configuration
|
||||
|
||||
Define supervisors in ___SINGLE_BACKTICK___config/horizon.php___SINGLE_BACKTICK___. The ___SINGLE_BACKTICK___environments___SINGLE_BACKTICK___ array merges into ___SINGLE_BACKTICK___defaults___SINGLE_BACKTICK___ and does not replace the whole supervisor block:
|
||||
|
||||
___BOOST_SNIPPET_0___
|
||||
|
||||
### Dashboard Authorization
|
||||
|
||||
Restrict access in ___SINGLE_BACKTICK___App\Providers\HorizonServiceProvider___SINGLE_BACKTICK___:
|
||||
|
||||
___BOOST_SNIPPET_1___
|
||||
|
||||
## Verification
|
||||
|
||||
1. Run ___SINGLE_BACKTICK___{{ $assist->artisanCommand('horizon') }}___SINGLE_BACKTICK___ and visit ___SINGLE_BACKTICK___/horizon___SINGLE_BACKTICK___
|
||||
2. Confirm dashboard access is restricted as expected
|
||||
3. Check that metrics populate after scheduling ___SINGLE_BACKTICK___horizon:snapshot___SINGLE_BACKTICK___
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Horizon only works with the Redis queue driver. Other drivers such as database and SQS are not supported.
|
||||
- Redis Cluster is not supported. Horizon requires a standalone Redis connection.
|
||||
- Always check ___SINGLE_BACKTICK___config/horizon.php___SINGLE_BACKTICK___ before making changes to understand the current supervisor and environment configuration.
|
||||
- The ___SINGLE_BACKTICK___environments___SINGLE_BACKTICK___ array overrides only the keys you specify. It merges into ___SINGLE_BACKTICK___defaults___SINGLE_BACKTICK___ and does not replace it.
|
||||
- The timeout chain must be ordered: job ___SINGLE_BACKTICK___timeout___SINGLE_BACKTICK___ less than supervisor ___SINGLE_BACKTICK___timeout___SINGLE_BACKTICK___ less than ___SINGLE_BACKTICK___retry_after___SINGLE_BACKTICK___. The wrong order can cause jobs to be retried before Horizon finishes timing them out.
|
||||
- The metrics dashboard stays blank until ___SINGLE_BACKTICK___horizon:snapshot___SINGLE_BACKTICK___ is scheduled. Running ___SINGLE_BACKTICK___{{ $assist->artisanCommand('horizon') }}___SINGLE_BACKTICK___ alone does not populate metrics.
|
||||
- Always use ___SINGLE_BACKTICK___search-docs___SINGLE_BACKTICK___ for the latest Horizon documentation rather than relying on this skill alone.
|
||||
@@ -1,9 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 42" <?php echo e($attributes); ?>>
|
||||
<path
|
||||
fill="currentColor"
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M17.2 5.633 8.6.855 0 5.633v26.51l16.2 9 16.2-9v-8.442l7.6-4.223V9.856l-8.6-4.777-8.6 4.777V18.3l-5.6 3.111V5.633ZM38 18.301l-5.6 3.11v-6.157l5.6-3.11V18.3Zm-1.06-7.856-5.54 3.078-5.54-3.079 5.54-3.078 5.54 3.079ZM24.8 18.3v-6.157l5.6 3.111v6.158L24.8 18.3Zm-1 1.732 5.54 3.078-13.14 7.302-5.54-3.078 13.14-7.3v-.002Zm-16.2 7.89 7.6 4.222V38.3L2 30.966V7.92l5.6 3.111v16.892ZM8.6 9.3 3.06 6.222 8.6 3.143l5.54 3.08L8.6 9.3Zm21.8 15.51-13.2 7.334V38.3l13.2-7.334v-6.156ZM9.6 11.034l5.6-3.11v14.6l-5.6 3.11v-14.6Z"
|
||||
/>
|
||||
</svg>
|
||||
<?php /**PATH /Users/mag/Sites/WMS/Core/resources/views/components/app-logo-icon.blade.php ENDPATH**/ ?>
|
||||
|
Before Width: | Height: | Size: 830 B |