parfum/resources/views/livewire/studio/master/user/form.blade.php
Yoga Pangestu c2e2b85070 feat(user): fitur user dan employee
-crud
-membuat fungsi untuk generate kode pegawai di model Employee
-menyesuaikan migrasi users dan employees
-menyesuaikan value seeder dengan migrasi baru
2025-09-24 19:38:59 +07:00

110 lines
5.7 KiB
PHP

<flux:main>
<div class="flex justify-between items-center">
<div>
<flux:heading size="xl">{{ $pageTitle }}</flux:heading>
</div>
<div>
<flux:button href="{{ route('studio.master.user.index') }}" wire:navigate.hover class="text-sm">
Kembali
</flux:button>
</div>
</div>
<div class="mt-6">
<div class="flex flex-col gap-4">
<div class="flex flex-col lg:flex-row gap-4">
<div class="w-full lg:w-3/4 space-y-4">
<div class="grid grid-cols-1 gap-4 lg:grid-cols-2 items-start">
<div class="col-span-1 lg:col-span-2">
<flux:card class="space-y-6 p-6">
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div class="md:col-span-2">
<flux:input label="Nama Lengkap" placeholder="Masukkan nama lengkap"
wire:model.live.debounce.500ms="form.full_name" autofocus autocomplete="off"
clearable />
</div>
<flux:input label="Nama Pengguna" placeholder="Masukkan nama pengguna"
wire:model.live.debounce.500ms="form.username" autofocus autocomplete="off"
clearable />
<flux:input label="Email" placeholder="Masukkan email"
wire:model.live.debounce.500ms="form.email" autofocus autocomplete="off"
clearable />
<flux:input label="Nomor Telepon" placeholder="Masukkan nomor telepon"
mask="9999 9999 99999" wire:model.live.debounce.500ms="form.phone_number"
autocomplete="off" clearable />
<flux:field>
<flux:label>Gaji Pokok</flux:label>
<flux:input.group>
<flux:input.group.prefix>Rp</flux:input.group.prefix>
<flux:input placeholder="Masukkan gaji pokok"
x-mask:dynamic="$money($input, ',')"
wire:model.live.debounce.500ms="form.base_salary" autocomplete="off"
clearable />
</flux:input.group>
<flux:error name="form.base_salary" />
</flux:field>
<flux:date-picker label="Tanggal Lahir" with-today
wire:model.live.debounce.500ms="form.birthdate" autocomplete="off" clearable
locale="id-ID" selectable-header />
<flux:date-picker label="Tanggal Bergabung" with-today
wire:model.live.debounce.500ms="form.hire_date" autocomplete="off" clearable
locale="id-ID" selectable-header />
<div class="md:col-span-2">
<flux:textarea label="Alamat" placeholder="Masukkan alamat lengkap"
wire:model.live.debounce.500ms="form.address" autocomplete="off"
rows="2" />
</div>
</div>
</flux:card>
</div>
</div>
</div>
<div class="w-full lg:w-1/3 space-y-4">
<flux:card class="space-y-6 p-6">
<div class="space-y-3">
<flux:radio.group wire:model.live="form.gender" variant="buttons" class="w-full *:flex-1"
label="Jenis Kelamin">
@foreach (\App\Enums\Gender::cases() as $gender)
<flux:radio value="{{ $gender->value }}" icon="{{ $gender->icon() }}">
{{ $gender->label() }}
</flux:radio>
@endforeach
</flux:radio.group>
</div>
</flux:card>
<flux:card class="space-y-6 p-6">
<div class="space-y-2">
<flux:radio.group wire:model.live="form.status" variant="buttons" label="Status"
class="w-full *:flex-1">
@foreach (\App\Enums\UserStatus::cases() as $status)
<flux:radio value="{{ $status->value }}" icon="{{ $status->icon() }}">
{{ $status->label() }}
</flux:radio>
@endforeach
</flux:radio.group>
</div>
</flux:card>
</div>
</div>
<div class="flex justify-start">
<flux:button variant="primary" class="sm:w-auto cursor-pointer" wire:click="save">
Simpan
</flux:button>
</div>
</div>
</div>
</flux:main>