Skip to content

Commit f867318

Browse files
Refactor upload form to enhance user guidance and improve image upload instructions
1 parent 2a231cb commit f867318

File tree

3 files changed

+50
-28
lines changed

3 files changed

+50
-28
lines changed

app/Http/Controllers/PulsaController.php

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
use App\Models\Mitra;
88
use App\Models\PulsaKegiatan;
99
use Illuminate\Http\Request;
10-
use SweetAlert2\Laravel\Swal;
1110
use Illuminate\Support\Facades\Storage;
11+
use SweetAlert2\Laravel\Swal;
1212

1313
class PulsaController extends Controller
1414
{
@@ -131,10 +131,10 @@ public function submitConfirm(Request $request)
131131
abort(404);
132132
}
133133

134-
if ($request->input('edit') === 'edit'){
134+
if ($request->input('edit') === 'edit') {
135135
return redirect()->route('pulsa-confirm', [
136136
'token' => request()->route('token'),
137-
'edit' => $request->input('edit')
137+
'edit' => $request->input('edit'),
138138
]);
139139
}
140140
$request->validate([
@@ -186,7 +186,7 @@ public function upload(Request $request)
186186
->where('mitra_id', session('mitraId'))
187187
->whereNotNull('file')
188188
->first();
189-
$uploaded = !is_null($daftar);
189+
$uploaded = ! is_null($daftar);
190190
$path = $uploaded ? $daftar->file : null;
191191
$version = Helper::version();
192192
$satker = 'BPS '.config('satker.kabupaten');
@@ -207,14 +207,29 @@ public function submitUpload(Request $request)
207207
if (! $mitra || ! $matchKegiatan || ! $matchMitra) {
208208
abort(404);
209209
}
210-
if ($request->input('edit') === 'edit'){
210+
if ($request->input('edit') === 'edit') {
211211
return redirect()->route('pulsa-upload', [
212212
'token' => request()->route('token'),
213-
'edit' => $request->input('edit')
213+
'edit' => $request->input('edit'),
214214
]);
215215
}
216+
216217
$request->validate([
217-
'attachment' => 'required|image|max:10240',
218+
'attachment' => [
219+
'required',
220+
'image',
221+
'max:10240',
222+
function ($attribute, $value, $fail) use ($request) {
223+
$image = $request->file('attachment');
224+
if ($image) {
225+
[$width, $height] = getimagesize($image->getPathname());
226+
$ratio = $height / $width;
227+
if ($ratio >= 1.7) {
228+
$fail('Sepertinya Anda mengirim full screenshot layar. Silakan crop dulu sesuai petunjuk di bawah ini');
229+
}
230+
}
231+
},
232+
],
218233
]);
219234
// Remove previous file if exists
220235
$existing = DaftarPulsaMitra::where('pulsa_kegiatan_id', session('pulsaKegiatanId'))

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,5 +100,5 @@
100100
},
101101
"minimum-stability": "dev",
102102
"prefer-stable": true,
103-
"version": "2.14.1"
103+
"version": "2.14.2"
104104
}

resources/views/upload-pulsa.blade.php

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -69,27 +69,10 @@ class="form-input"
6969
<img class="form-image" src="{{ Storage::disk('pulsa')->url($path) }}" alt="Contoh Bukti Pulsa" class="example-image" />
7070
<input type="hidden" name="edit" value="edit" />
7171
@else
72-
<div class="form-group">
73-
<p class="form-tips">
74-
Contoh yang BENAR: <br/> Foto berfokus pada isi chat/SMS yang menunjukkan nominal yang jelas terlihat.
75-
</p>
76-
<img class="form-image" src="{{ asset('images/benar.png') }}" alt="Contoh Bukti Pulsa" class="example-image" />
77-
</div>
78-
<div class="form-group">
79-
<p class="form-tips">
80-
Contoh yang BENAR: <br/> Jika lebih dari 1 SMS/Chat, gabung/buat collage terlebih dahulu. <br/> Untuk membuat beberapa foto menjadi satu, Anda bisa lakukan melalui link berikut: <a href="https://www.photocollage.com/" target="_blank">Photo Collage</a>.
81-
</p>
82-
<img class="form-image" src="{{ asset('images/collage.png') }}" alt="Contoh Bukti Pulsa" class="example-image" />
83-
</div>
84-
<div class="form-group">
85-
<p class="form-warning">
86-
Contoh yang SALAH: <br/> Screen capture layar penuh tidak berfokus pada isi chat/SMS pulsa masuk.
87-
</p>
88-
<img class="form-image" src="{{ asset('images/salah.png') }}" alt="Contoh Bukti Pulsa" class="example-image" />
89-
</div>
72+
9073
<div class="form-group">
9174
<label for="attachment" class="form-label"
92-
>Upload Gambar Bukti Pulsa masuk sesuai petunjuk.</label
75+
>Bukti Pulsa Masuk</label
9376
>
9477
<input
9578
type="file"
@@ -123,6 +106,30 @@ class="form-input"
123106
@else
124107
KIRIM
125108
@endif
126-
</button
109+
</button>
110+
<div class="form-group">
111+
<p class="form-description">
112+
BACA DULU PETUNJUK UPLOAD SEBELUM KIRIM!!!.
113+
</p>
114+
115+
</div>
116+
<div class="form-group">
117+
<p class="form-tips">
118+
Contoh yang BENAR: <br/> Foto berfokus pada isi chat/SMS yang menunjukkan nominal yang jelas terlihat.
119+
</p>
120+
<img class="form-image" src="{{ asset('images/benar.png') }}" alt="Contoh Bukti Pulsa" class="example-image" />
121+
</div>
122+
<div class="form-group">
123+
<p class="form-tips">
124+
Contoh yang BENAR: <br/> Jika lebih dari 1 SMS/Chat, gabung/buat collage terlebih dahulu. <br/> Untuk membuat beberapa foto menjadi satu, Anda bisa lakukan melalui link berikut: <a href="https://www.photocollage.com/" target="_blank">Photo Collage</a>.
125+
</p>
126+
<img class="form-image" src="{{ asset('images/collage.png') }}" alt="Contoh Bukti Pulsa" class="example-image" />
127+
</div>
128+
<div class="form-group">
129+
<p class="form-warning">
130+
Contoh yang SALAH: <br/> Screen capture layar penuh tidak berfokus pada isi chat/SMS pulsa masuk.
131+
</p>
132+
<img class="form-image" src="{{ asset('images/salah.png') }}" alt="Contoh Bukti Pulsa" class="example-image" />
133+
</div>
127134
</form>
128135
@endsection

0 commit comments

Comments
 (0)