@extends('layouts.app') @section('title', 'Kelola Form Kehadiran') @php $typeLabels = [ 'lembaga' => 'Nama Lembaga (dropdown)', 'checkbox' => 'Checkbox', 'options' => 'Options (Pilihan)', 'short' => 'Jawaban Singkat', 'signature' => 'Tanda Tangan', ]; $typeIcons = [ 'lembaga' => 'bi-bank', 'checkbox' => 'bi-check-square', 'options' => 'bi-list-ul', 'short' => 'bi-input-cursor-text', 'signature' => 'bi-pencil', ]; @endphp @section('content')

Form Kehadiran Kelola Form

{{ $form->judul }}

{{ $activity?->judul_kegiatan ?: 'Kegiatan tanpa judul' }} @if ($activity && $activity->tanggal_kegiatan && $activity->tanggal_kegiatan !== '0000-00-00') · {{ \Carbon\CarbonImmutable::parse($activity->tanggal_kegiatan)->locale('id')->translatedFormat('d F Y') }} @endif

@if ($form->batas_waktu) @php $expiredNow = \Carbon\CarbonImmutable::parse($form->batas_waktu, 'Asia/Jakarta')->lt(\Carbon\CarbonImmutable::now('Asia/Jakarta')); @endphp {{ $expiredNow ? 'Berakhir' : 'Terbuka hingga' }} {{ \Carbon\CarbonImmutable::parse($form->batas_waktu)->locale('id')->translatedFormat('l, d F Y H:i') }} WIB @else Tanpa batas waktu @endif
@if (session('status'))
{{ session('status') }}
@endif @if ($errors->any()) @endif

Tautan publik (isi tanpa login)

Bagikan tautan ini ke peserta. Pengisian form tidak memerlukan akun.

Pratinjau

Informasi form

@csrf @method('PUT')

{{ $activity?->judul_kegiatan ?: '-' }}

Setelah waktu ini terlewat, form publik hanya menampilkan kop dan pesan "waktu pengisian telah berakhir". Kosongkan agar form selalu terbuka.

Pertanyaan

{{ $questions->count() }} pertanyaan · gunakan "Tambah Pertanyaan" untuk menambah field form.

@forelse ($questions as $question)

{{ $loop->iteration }}. {{ $question->pertanyaan }}

@if ($question->wajib)Wajib@endif

{{ $typeLabels[$question->tipe] ?? $question->tipe }}

@if (! empty($question->opsi_list))
    @foreach ($question->opsi_list as $opt)
  • {{ $opt }}
  • @endforeach
@endif
@csrf @method('DELETE')
@empty

Belum ada pertanyaan

Klik "Tambah Pertanyaan" untuk menyusun form.

@endforelse
{{-- Dialog tambah pertanyaan --}}
@csrf

Tambah pertanyaan

Pilih tipe field untuk menentukan bentuk jawaban.

{{-- Dialog ubah pertanyaan --}}
@csrf @method('PUT')

Ubah pertanyaan

@php $questionData = $questions->keyBy('id')->map(fn ($q) => [ 'pertanyaan' => $q->pertanyaan, 'tipe' => $q->tipe, 'wajib' => (bool) $q->wajib, 'opsi_text' => implode("\n", $q->opsi_list ?? []), ]); @endphp @push('scripts') @endpush @endsection