HotFix for bootstrap Modal

As bootstrap only support one `Modal` show as the same time. This snippets will help with close the old one.

As bootstrap only support one Modal show as the same time. This snippets will help with close the old one.

(function () {
    let deferredModal = null;
    $(document.body).on('show.bs.modal', '.modal', function (e) {
        let $modal = $('.modal.show').not(this);
        if ($modal.length > 0) {
            e.preventDefault();
            e.stopPropagation();
            deferredModal = this;
            $modal.modal('hide');
        }
    })
    .on('hidden.bs.modal', '.modal', function(){
        if (!deferredModal) {
            return;
        }
        $(deferredModal).modal('dispose').modal('show');
        deferredModal = null;
    });
})();

Pure native js copy2clipboard

snippets for copy text to clipboard

let input = document.createElement('input');
    document.body.appendChild(input);
    input.style.position = 'fixed';
    input.style.left = 0;
    input.style.right = 0;
    input.value = window.location.href;
    if (window.navigator.userAgent.match(/ipad|iphone|ipod/i)) {
        let range = window.document.createRange();
        let  selection = window.getSelection();
        range.selectNodeContents(input);
        selection.removeAllRanges();
        selection.addRange(range);
        input.readOnly = true;
        input.setSelectionRange(0, 999999);
        input.readOnly = false;
    } else {
        input.select();
    }
document.execCommand('copy');
input.remove();

Laravel Timezone setting

Add TIMEZONE to .env file

.env

TIMEZONE="Asia/Hong_Kong"

Modify the config/app.php to using the TIMEZONE env variable.

// "timezone" => "UTC",
"timezone" => env("TIMEZONE", "UTC"),  //replace

Modify config/database.php to using the TIMEZONE env variable.

'connections' => [
    'mysql' => [
        'driver' => 'mysql',
        //...
        'timezone' => today(env("TIMEZONE", "UTC"))->format("P"), // append this config
    ]
]