Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/reswara.aplikasipos.info/resources/views/pages/profil/
Upload File :
Current File : /home/aplikasiposinfo/www/reswara.aplikasipos.info/resources/views/pages/profil/show.blade.php

@extends('layouts.app')

@push('styles')
@endpush

@section('content')
<!-- Start Page-content-Wrapper -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<div class="page-content-wrapper">
    
    @include("layouts.partials.validate_alert")
    
    <div class="row">
        <div class="col-lg-12">
            <div class="card">
                <div class="card-body">
                    {{-- <a href="{{url('sakura')}}">Test</a> --}}
                    <h4 class="card-title"> Edit Profil {{ $title }} </h4>
                    {{-- route($url.'.update', $user->id) --}}
                    <form method="POST" id="form-verifikasi-action" action="{{  url('profilss')  }}">
                        @csrf
                        <input type="hidden" name="id" value="{{  base64_encode(@Auth::user()->id)}}">

                        @if (isset($_GET['status']) && $_GET['status'] == "mobile") 
                            <input type="hidden" name="mobile" value="bebas">
                        @endif
                        <div class="form-content">
                            @include("pages.profil.form")
                        </div>
                        <div class="page_4" style="display: none;">
                            <h4 class="font-size-18 text-center" style="color: #5A6684;"> Verifikasi OTP </h4>
                            <p class="text-muted text-center">Kami telah mengirimkan nomor OTP 4 digit ke no whatsapp anda <span class="text-success" id="whatsapp_show"></span> email anda <span class="text-success" id="email_show"></span>. Silahkan masukkan dibawah ini untuk memverifikasi akun anda.</p>
                            <div class="mb-3 d-flex justify-content-center">


                                <div class="p-1">
                                    {{-- <h6 class="text-muted">Verifikasi Nomor OTP :  </h6> --}}
                                    <div class="d-flex">
                                        <div class="p-1">
                                            <input type="text" maxlength="1" size="1" name="valueOTP" class="otp-input form-control" oninput="this.value = this.value.replace(/[^0-9]/g, '');" id="otp1" />
                                        </div>
                                        <div class="p-1">
                                            <input type="text" maxlength="1" size="1" name="valueOTP" class="otp-input form-control" oninput="this.value = this.value.replace(/[^0-9]/g, '');" id="otp2" />
                                        </div>
                                        <div class="p-1">
                                            <input type="text" maxlength="1" size="1" name="valueOTP" class="otp-input form-control" oninput="this.value = this.value.replace(/[^0-9]/g, '');" id="otp3" />
                                        </div>
                                        <div class="p-1">
                                            <input type="text" maxlength="1" size="1" name="valueOTP" class="otp-input form-control" oninput="this.value = this.value.replace(/[^0-9]/g, '');" id="otp4" />
                                        </div>
                                    </div>
                                </div>
                            </div>
                            {{-- <div class="mb-3">
                                <h6 class="text-muted">Tekan link ini jika ingin mengirim kode OTP lagi :  </h6>

                            </div> --}}
                            <div class="mb-3 row">
                                <div class="col-12">
                                    <center>
                                        <button id="checkOTP" class="btn btn-primary waves-effect waves-light"
                                        type="button">Konfirmasi</button>
                                    </center>

                                </div>
                            </div>
                            <div class="mb-3 row">
                                <div class="d-flex justify-content-center">
                                    <div class="p-1">
                                        <span id="timer_change">Anda dapat mengirim nomor OTP lagi setelah <span id="timer" style="font-weight: bolder"></span> detik</span>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
                <!-- End Cardbody -->
            </div>
            <!-- End Card -->
        </div>
    </div>
    <!-- End Row -->

</div>
@push('scripts')
<script>
    $(document).ready(function() {
        @if (isset($_GET['status']) && $_GET['status'] == "mobile") 
            $('#pc_tampilan').css('display', 'none');
        @endif
        // $('#pc_tampilan').css('display', 'none');
        const inputs = document.querySelectorAll('.otp-input');
            inputs.forEach((input, index) => {
                input.addEventListener('input', () => {
                    if (input.value.length >= 1) {
                        if (index < inputs.length - 1) {
                            inputs[index + 1].focus();
                        }
                    } else if (index > 0) {
                        inputs[index - 1].focus();
                    }
                });
            });
        var page = 1;
        var OTPNumber = 0;
        let timeLeft = 60; // 60 seconds
        let timeStart = true;
        const timerElement = document.getElementById('timer');
        let countdown;

        function startTimer() {
            countdown = setInterval(() => {
                if (timeLeft <= 0) {
                    clearInterval(countdown); // Stop the timer

                    document.getElementById('timer_change').innerHTML = 'Nomor OTP bisa dikirim lagi : <a href="#" id="sendOTPLagi">kirim OTP!</a>';
                    // timerElement.innerText = 'Time is up!';
                } else {
                    $('#timer').text(timeLeft);
                    // timerElement.innerText = timeLeft; // Display the remaining time
                    timeLeft--; // Decrease the time by 1 second
                }
            }, 1000);
        }

            $(document).on('click', '#sendOTPLagi', function() {
                $('#timer_change').text("Mohon Menunggu!");
                const randomNumber = Math.floor(Math.random() * 10000);
                let token   = $("meta[name='csrf-token']").attr("content");
                $.ajax({
                    url: `{{url('verifikasi')}}`,
                    type: "POST",
                    cache: false,
                    data: {
                        "randomNumber": String(randomNumber).padStart(4, '0'),
                        "_token": token,
                        'nama_siswa' : $('input[name="nama_siswa"]').val(),
                        'no_identitas' : $('input[name="no_identitas"]').val(),
                        'no_hp_siswa' :  $('input[name="no_hp_siswa"]').val(),
                        'verifikasi' :  1,
                        // 'no_hp_siswa' : $('#no_hp_siswa').val(),
                        // 'nama_siswa' : $('#nama_siswa').val(),
                        // 'no_identitas' : $('#no_identitas').val(),
                    },
                    success:function(response){

                        OTPNumber = parseInt(response.data);
                        // console.log(response);
                        document.getElementById('timer_change').innerHTML = 'Anda dapat mengirim nomor OTP lagi setelah <span id="timer" style="font-weight: bolder"></span> detik';
                        clearInterval(countdown); // Hentikan countdown yang sedang berjalan
                        timeLeft = 60; // Reset waktu ke 60 detik
                        timerElement.innerText = timeLeft; // Tampilkan ulang waktu 60 detik
                        startTimer();
                    },
                    error:function(xhr){

                    }

                });

            });

            $('#checkOTP').click(function(event) {
                event.preventDefault(); // Mencegah pengiriman form

                // Mengambil semua input dengan nama yang sama
                const inputs = document.getElementsByName('valueOTP');
                const values = Array.from(inputs).map(input => input.value.trim());

                // Menyatukan string menjadi satu kalimat
                const result = values.filter(value => value !== '').join('');

                // Menampilkan hasil
                // document.getElementById('result').innerText = result;
                if(OTPNumber == parseInt(result)) {
                    alert("Nomor OTP Benar!");
                    $('#form-verifikasi-action').submit();
                } else {
                    alert("Nomor OTP Salah!");
                }
                // alert(parseInt(result));
            });

        $('#sendOTP').click(function() {
                $('.alertNotif').remove();
                const formData = $(this).serialize();
                let token   = $("meta[name='csrf-token']").attr("content");
                const randomNumber = Math.floor(Math.random() * 10000);
                $(this).css('display', 'none');
                $(this).after(`<span id="loadingNext">Mohon Menunggu!</span>`);
                // Pad with leading zeros if necessary to ensure it's 4 digits
                // return String(randomNumber).padStart(4, '0');
                $.ajax({
                    url: `{{url('verifikasi')}}`,
                    type: "POST",
                    cache: false,
                    data: {
                        "randomNumber": String(randomNumber).padStart(4, '0'),
                        "_token": token,
                        'siswa_id' : '{{Auth::user()->siswa->id}}',
                        'email' : $('input[name="email"]').val(),
                        'nama_siswa' : $('input[name="nama_siswa"]').val(),
                        'no_identitas' : $('input[name="no_identitas"]').val(),

                        // 'password' :  '1',
                        // 'c_password' :  '1',

                        'jenis_kelamin' : $('select[name="jenis_kelamin"]').val(),
                        'tempat_lahir' : $('input[name="tempat_lahir"]').val(),
                        'tanggal_lahir' :  $('input[name="tanggal_lahir"]').val(),
                        'alamat_siswa' : $('textarea[name="alamat_siswa"]').val(),
                        'no_hp_siswa' :  $('input[name="no_hp_siswa"]').val(),
                        'agama' :  $('select[name="agama"]').val(),
                        'asal_sekolah' :  $('input[name="asal_sekolah"]').val(),
                        'jurusan_sekolah' :  $('input[name="jurusan_sekolah"]').val(),
                        'tingkatan_sekolah' :  $('select[name="tingkatan_sekolah"]').val(),
                        'tahun_lulus_sekolah' :  $('input[name="tahun_lulus_sekolah"]').val(),

                        'nama_orang_tua' :  $('input[name="nama_orang_tua"]').val(),
                        'alamat_orang_tua' :  $('input[name="alamat_orang_tua"]').val(),
                        'no_hp_orang_tua' :  $('input[name="no_hp_orang_tua"]').val(),
                        'foto_siswa'  : $('input[name="foto_siswa"]').prop('files')[0] ? $('input[name="foto_siswa"]').prop('files')[0].name : '',
                        'foto_orang_tua'  : $('input[name="foto_orang_tua"]').prop('files')[0] ? $('input[name="foto_orang_tua"]').prop('files')[0].name : '',

                        // 'jabatan' :  $('input[name="jabatan"]').val(),
                        // 'cabang' :  $('input[name="cabang"]').val(),
                        // 'tahun_ajaran' :  $('input[name="tahun_ajaran"]').val(),
                        // 'gelombang' :  $('select[name="gelombang"]').val(),
                        // 'grup_pengguna' :  $('select[name="grup_pengguna"]').val(),
                        // 'no_hp_siswa' : $('#no_hp_siswa').val(),
                        // 'nama_siswa' : $('#nama_siswa').val(),
                        // 'no_identitas' : $('#no_identitas').val(),
                    },
                    success:function(response){
                        $('.form-content').css({
                            'display': 'none',
                        });

                        $('.page_4').css({
                            'display': 'block',
                        });

                        $('#sendOTP').css('display', 'block');

                        $('#whatsapp_show').text($('input[name="no_hp_siswa"]').val());
                        $('#email_show').text($('input[name="email"]').val());

                        $('#loadingNext').remove();

                        document.getElementById('timer_change').innerHTML = 'Anda dapat mengirim nomor OTP lagi setelah <span id="timer" style="font-weight: bolder"></span> detik';
                        clearInterval(countdown); // Hentikan countdown yang sedang berjalan
                        timeLeft = 60; // Reset waktu ke 60 detik
                        timerElement.innerText = timeLeft;
                        startTimer();

                        OTPNumber = response.data;
                        // console.log(response);
                    },
                    error:function(xhr){
                        if (xhr.status === 422) {
                            alert('Mohon dicheck lagi inputannya!');
                            const errors = xhr.responseJSON.errors;
                            $('#sendOTP').css('display', 'block');
                            $('#loadingNext').remove();
                            $.each(errors, function(field, messages) {
                                // console.log(field + " : " + messages);
                                $(`input[name="${field}"]`).after(`<span class="m-2 text-danger alertNotif">${messages}</span>`);
                                $(`select[name="${field}"]`).after(`<span class="m-2 text-danger alertNotif">${messages}</span>`);
                                $(`textarea[name="${field}"]`).after(`<span class="m-2 text-danger alertNotif">${messages}</span>`);

                            });
                            // console.log(xhr.responseJSON.errors);
                            // console.log('Validation Errors:', xhr.responseJSON.errors);
                        } else {
                            console.log('An error occurred:', xhr);
                        }

                    }

                });
                // alert(String(randomNumber).padStart(4, '0'));
            });
    });
</script>
@endpush
<!-- End Page-content -->
@endsection

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]