99 lines
5.1 KiB
PHP
99 lines
5.1 KiB
PHP
<x-filament-panels::page>
|
|
@php
|
|
$sourceMode = data_get($data ?? [], 'source_mode', 'linux_server');
|
|
$preview = $this->getCommandPreviewData();
|
|
$selectedLabel = data_get($stabiliOptions ?? [], data_get($preview, 'stabile_code', ''), data_get($preview, 'stabile_code', ''));
|
|
@endphp
|
|
|
|
<div class="space-y-6" x-data="{ tab: @js($sourceMode === 'windows_upload' ? 'windows' : 'linux') }">
|
|
<section class="rounded-2xl border border-slate-200 bg-white p-4 shadow-sm">
|
|
<div class="flex flex-wrap items-center justify-between gap-3">
|
|
<div>
|
|
<h2 class="text-sm font-semibold text-slate-900">Configurazione sorgente e import</h2>
|
|
<p class="mt-1 text-xs text-slate-600">Seleziona la sorgente, imposta stabile e anni, poi usa la tab operativa per import, aggiornamenti e re-sync.</p>
|
|
</div>
|
|
<div class="flex flex-wrap items-center gap-2">
|
|
<x-filament::button
|
|
size="sm"
|
|
:color="$sourceMode === 'linux_server' ? 'primary' : 'gray'"
|
|
x-on:click="tab = 'linux'"
|
|
wire:click="$set('data.source_mode','linux_server')"
|
|
>Linux / Server</x-filament::button>
|
|
<x-filament::button
|
|
size="sm"
|
|
:color="$sourceMode === 'windows_upload' ? 'primary' : 'gray'"
|
|
x-on:click="tab = 'windows'"
|
|
wire:click="$set('data.source_mode','windows_upload')"
|
|
>Windows / Upload</x-filament::button>
|
|
<x-filament::button
|
|
size="sm"
|
|
color="gray"
|
|
x-on:click="tab = 'operativa'"
|
|
>Tab operativa</x-filament::button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4 rounded-xl border border-slate-200 bg-slate-50 p-3">
|
|
<div class="grid gap-3 md:grid-cols-3">
|
|
<div>
|
|
<div class="text-[11px] font-semibold uppercase tracking-wide text-slate-500">Stabile selezionato</div>
|
|
<div class="mt-1 text-sm text-slate-800">{{ $selectedLabel !== '' ? $selectedLabel : 'Nessuno selezionato' }}</div>
|
|
</div>
|
|
<div>
|
|
<div class="text-[11px] font-semibold uppercase tracking-wide text-slate-500">Amministratore</div>
|
|
<div class="mt-1 text-sm text-slate-800">{{ data_get($preview, 'amministratore_id') ?: '-' }}</div>
|
|
</div>
|
|
<div>
|
|
<div class="text-[11px] font-semibold uppercase tracking-wide text-slate-500">Anno legacy diretto</div>
|
|
<div class="mt-1 text-sm text-slate-800">{{ data_get($preview, 'anno_dir') ?: '-' }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4">
|
|
{{ $this->getSchema('form') }}
|
|
</div>
|
|
</section>
|
|
|
|
<section class="rounded-2xl border border-slate-200 bg-white shadow-sm">
|
|
<div class="border-b border-slate-200 px-4 py-3">
|
|
<div class="flex flex-wrap items-center gap-2">
|
|
<button type="button" class="rounded-lg px-3 py-1.5 text-sm font-medium transition"
|
|
:class="tab === 'linux' ? 'bg-sky-600 text-white' : 'bg-slate-100 text-slate-700'"
|
|
x-on:click="tab = 'linux'">
|
|
Connessione Linux
|
|
</button>
|
|
<button type="button" class="rounded-lg px-3 py-1.5 text-sm font-medium transition"
|
|
:class="tab === 'windows' ? 'bg-sky-600 text-white' : 'bg-slate-100 text-slate-700'"
|
|
x-on:click="tab = 'windows'">
|
|
Caricamento Windows
|
|
</button>
|
|
<button type="button" class="rounded-lg px-3 py-1.5 text-sm font-medium transition"
|
|
:class="tab === 'operativa' ? 'bg-sky-600 text-white' : 'bg-slate-100 text-slate-700'"
|
|
x-on:click="tab = 'operativa'">
|
|
Operativa / Re-sync
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-4">
|
|
<div x-show="tab === 'linux'">
|
|
@include('filament.pages.gescon.partials.importazione-archivi-linux', ['preview' => $preview])
|
|
</div>
|
|
|
|
<div x-show="tab === 'windows'">
|
|
@include('filament.pages.gescon.partials.importazione-archivi-windows', ['preview' => $preview])
|
|
</div>
|
|
|
|
<div x-show="tab === 'operativa'">
|
|
@include('filament.pages.gescon.partials.importazione-archivi-operativa', [
|
|
'preview' => $preview,
|
|
'data' => $data ?? [],
|
|
'stabiliOptions' => $stabiliOptions ?? [],
|
|
])
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</x-filament-panels::page>
|