MIF_E31230356/resources/views/admin/challenge/soal.blade.php

175 lines
4.5 KiB
PHP

@extends('admin.layouts.app')
@section('title', 'Tambah Soal Challenge')
@section('content')
<style>
.page-title {
font-size: 28px;
font-weight: 800;
margin-top: -20px;
margin-bottom: 10px;
}
.custom-card {
background: white;
border-radius: 20px;
border: 2px solid #e5e5e5;
padding: 25px;
}
.soal-box {
border: 2px solid #e5e5e5;
border-radius: 15px;
padding: 20px;
margin-bottom: 20px;
background: #f9fbff;
}
.btn-add {
background: #2b8ef3;
color: white;
border-radius: 10px;
padding: 8px 18px;
border: none;
}
.btn-remove {
background: #ef4444;
color: white;
border: none;
border-radius: 8px;
padding: 5px 12px;
font-size: 12px;
}
</style>
<h3 class="page-title">
TAMBAH SOAL - {{ $challenge->judul_challenge }}
</h3>
<div class="custom-card">
<form action="{{ route('admin.challenge.soal.store', $challenge->id_challenge) }}" method="POST">
@csrf
<div id="soalContainer">
{{-- SOAL PERTAMA (DEFAULT) --}}
<div class="soal-box">
<h6>Soal 1</h6>
<div class="mb-3">
<label>Pertanyaan *</label>
<textarea name="pertanyaan[]" class="form-control" required></textarea>
</div>
<div class="row">
<div class="col-md-6 mb-2">
<input type="text" name="opsi_a[]" class="form-control" placeholder="Opsi A" required>
</div>
<div class="col-md-6 mb-2">
<input type="text" name="opsi_b[]" class="form-control" placeholder="Opsi B" required>
</div>
<div class="col-md-6 mb-2">
<input type="text" name="opsi_c[]" class="form-control" placeholder="Opsi C" required>
</div>
<div class="col-md-6 mb-2">
<input type="text" name="opsi_d[]" class="form-control" placeholder="Opsi D" required>
</div>
</div>
<div class="mb-2">
<label>Jawaban Benar *</label>
<select name="jawaban_benar[]" class="form-control" required>
<option value="">-- Pilih --</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
</div>
</div>
</div>
<button type="button" onclick="tambahSoal()" class="btn-add">
+ Tambah Soal
</button>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-success">
Simpan Semua Soal
</button>
</div>
</form>
</div>
<script>
let nomorSoal = 1;
function tambahSoal() {
nomorSoal++;
let container = document.getElementById('soalContainer');
let html = `
<div class="soal-box">
<div class="d-flex justify-content-between">
<h6>Soal ${nomorSoal}</h6>
<button type="button" class="btn-remove" onclick="hapusSoal(this)">
Hapus
</button>
</div>
<div class="mb-3">
<label>Pertanyaan *</label>
<textarea name="pertanyaan[]" class="form-control" required></textarea>
</div>
<div class="row">
<div class="col-md-6 mb-2">
<input type="text" name="opsi_a[]" class="form-control" placeholder="Opsi A" required>
</div>
<div class="col-md-6 mb-2">
<input type="text" name="opsi_b[]" class="form-control" placeholder="Opsi B" required>
</div>
<div class="col-md-6 mb-2">
<input type="text" name="opsi_c[]" class="form-control" placeholder="Opsi C" required>
</div>
<div class="col-md-6 mb-2">
<input type="text" name="opsi_d[]" class="form-control" placeholder="Opsi D" required>
</div>
</div>
<div class="mb-2">
<label>Jawaban Benar *</label>
<select name="jawaban_benar[]" class="form-control" required>
<option value="">-- Pilih --</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
</div>
</div>
`;
container.insertAdjacentHTML('beforeend', html);
}
function hapusSoal(button) {
button.closest('.soal-box').remove();
}
</script>
@endsection