Sweetalert: ๋‘ ๊ฐœ์˜ Sweet Alert ๋ชจ๋‹ฌ์„ ์—ฐ์†์œผ๋กœ ์—ฐ ํ›„ Tab ํ‚ค๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2014๋…„ 10์›” 15์ผ  ยท  20์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: t4t5/sweetalert

์•ˆ๋…•ํ•˜์„ธ์š”,

์™„๋ฃŒ๋œ ํ›„ SweetAlert ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ๋‹ค๋ฅธ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ์—ด๋ฉด ํƒญ ํ‚ค๊ฐ€ ์ž‘๋™์„ ๋ฉˆ์ถ”๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  ํ‚ค ์ž…๋ ฅ์€ ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

http://tristanedwards.me/sweetalert ์˜ ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์ด๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

์ด๊ฒƒ์€ ๊ตฌ์ฒด์ ์œผ๋กœ :

swal({      title: "Are you sure?",   
            text: "Your will not be able to recover this imaginary file!",   
            type:  "warning",   
            showCancelButton: true,   
            confirmButtonColor: "#DD6B55",   
            confirmButtonText: "Yes, delete it!",   
            cancelButtonText: "No, cancel plx!",   
            closeOnConfirm: false,   
            closeOnCancel: false }, 
            function(isConfirm){  
                 if (isConfirm) {     
                 swal("Deleted!", "Your imaginary file has been deleted.", "success");  
                 } else {     
                 swal("Cancelled", "Your imaginary file is safe :)", "error");   
                 } });

์ด์ „ ๋ชจ๋‹ฌ, ํŠนํžˆ closeModal () ํ•จ์ˆ˜์—์„œ์ด ๋ถ€๋ถ„์˜ ํ‚ค ์ž…๋ ฅ ์ฒ˜๋ฆฌ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

 // Reset the page to its previous state
    window.onkeydown = previousWindowKeyDown;
    document.onclick = previousDocumentClick;
    if (previousActiveElement) {
      previousActiveElement.focus();
    }

์•„๋งˆ๋„ ์ด์ „ ๋ชจ๋‹ฌ์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  keydown๊ณผ onclick์„ ๋‹ค์‹œ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์ผ๊นŒ ์š”?

help wanted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  @jayquest๋กœ ์ˆ˜์ •์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

var previousWindowKeyDown = window.onkeydown;
swal ({
์ œ๋ชฉ : 'ํ™•์‹คํ•ฉ๋‹ˆ๊นŒ?',
closeOnConfirm : ๊ฑฐ์ง“,
closeOnCancel : false
}, ํ•จ์ˆ˜ (isConfirm) {
window.onkeydown = previousWindowKeyDown;
if (isConfirm) {
swal ( '์‚ญ์ œ๋จ!', '๊ฐ€์ƒ ํŒŒ์ผ์ด ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', '์„ฑ๊ณต');
} else {
swal ( 'Cancelled', '๊ฐ€์ƒ ํŒŒ์ผ์€ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. :)', 'error');
}
});

๋ชจ๋“  20 ๋Œ“๊ธ€

๊ทธ ์˜ˆ์—์„œ ๋‚˜๋Š” ๋‹น์‹ ์ด ๋งํ•˜๋Š” ๊ฒƒ์ด ์‚ฌ์‹ค์ด๋ผ๋Š” ๊ฒƒ์„ ์ •๋ง๋กœ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
'ํƒญ'ํ‚ค๊ฐ€ ๋ฒ„ํŠผ ์‚ฌ์ด๋ฅผ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
๋‘ ๋ฒˆ์งธ ๋ชจ๋‹ฌ์„ ๋ฐ›์œผ๋ฉด ๋ฒ„ํŠผ์ด ํ•˜๋‚˜๋ฟ์ด๋ฏ€๋กœ ํƒญ ๋ฒ„ํŠผ์„ ์•„๋ฌด๋ฆฌ ๋งŽ์ด ๋ˆŒ๋Ÿฌ๋„ ํ•ญ์ƒ ํ•˜๋‚˜์˜ ๋ฒ„ํŠผ์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๋ช…ํ™•ํ•˜๊ฒŒํ•˜์ง€ ๋ชปํ•ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค!

์˜ˆ, ๋ชจ๋ธ์„ ํƒญํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋‘ ๋ฒˆ์งธ ๋ชจ๋‹ฌ์„ ๋‹ซ์€ ํ›„์—๋Š” ํƒญ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ํŽ˜์ด์ง€๋ฅผ ํƒ์ƒ‰ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค (์›น ํŽ˜์ด์ง€ ๋งŒ ํ™”๋ฉด์— ๋ชจ๋‹ฌ ์—†์Œ).

jack126guy / sweetalert @ issue127 ์—์„œ ์ˆ˜์ •์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ์ปค์Šค๊ฐ€ ํŽ˜์ด์ง€์˜ ๋ฒ„ํŠผ์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ํ•œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๋‹ค๋ฅธ ๋ฒ„ํŠผ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ Enter ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ๊ฒฝ๊ณ ๋ฅผ ๋‹ค์‹œ ํ‘œ์‹œํ•˜๋ฉด ์ƒํ™ฉ์ด ์ด์ƒํ•ด์ง‘๋‹ˆ๋‹ค.

์˜ˆ, ๋น„์Šทํ•œ ์ˆ˜์ •์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ SweetAlert๊ฐ€ ์•„๋‹Œ ์›น ์‚ฌ์ดํŠธ์˜ ์š”์†Œ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ฐฝ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์„œ์˜ ์š”์†Œ์— ์ดˆ์ ์„ ๋งž์ถ”์ง€ ๋งŒ Tab ํ‚ค๋Š” ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ๊ฒƒ์€ handleKeyDown ๋ฉ”์„œ๋“œ์˜ if (keycode == 9) ์ ˆ์—์„œ stopEventPropagation (e) ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์ด๊ฒƒ์— ๋‹ค๋ฅธ ๋ถ€์ž‘์šฉ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค ...

๋‚˜๋Š” ๋‹น์‹ ์—๊ฒŒ ์ปค๋ฐ‹์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์›ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ๋ณ€๊ฒฝ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€์ด ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ž„์‹œ ์ˆ˜์ •์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ์ด ํ”„๋กœ์ ํŠธ์—์„œ ๋ถ„๊ธฐ ํ•œ ์ €์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/heero-yuy/sweetalert.git

์ง€๊ธˆ๊นŒ์ง€ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ 100 % ์ž‘๋™ํ•˜์ง€๋งŒ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์ด ์†์ƒ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” 215 ํ–‰์—์„œ sweetAlert ๋˜๋Š” swal ํ•จ์ˆ˜์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์œ„์˜ ๋‘ ์ค„์˜ ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์„ ์˜ ํ•ด๊ฒฐ์ฑ…์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

/*
 * Global sweetAlert function
 */
var sweetAlert, swal;

sweetAlert = swal = function() {

    if(previousWindowKeyDown !== undefined && window.onkeydown !== previousWindowKeyDown)`
        window.onkeydown = previousWindowKeyDown;

: +1 :. ์ด๊ฒƒ์€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ€์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค.

@jayquest ์˜ ์ˆ˜์ •์ด

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  @jayquest๋กœ ์ˆ˜์ •์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

var previousWindowKeyDown = window.onkeydown;
swal ({
์ œ๋ชฉ : 'ํ™•์‹คํ•ฉ๋‹ˆ๊นŒ?',
closeOnConfirm : ๊ฑฐ์ง“,
closeOnCancel : false
}, ํ•จ์ˆ˜ (isConfirm) {
window.onkeydown = previousWindowKeyDown;
if (isConfirm) {
swal ( '์‚ญ์ œ๋จ!', '๊ฐ€์ƒ ํŒŒ์ผ์ด ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', '์„ฑ๊ณต');
} else {
swal ( 'Cancelled', '๊ฐ€์ƒ ํŒŒ์ผ์€ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. :)', 'error');
}
});

@amoralidad ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ ํ™•์žฅํ•˜๋ ค๋ฉด ํ”„๋กœ์ ํŠธ์— ๋‹ฌ์ฝคํ•œ ๊ฒฝ๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จ์‹œํ‚จ ํ›„ ํ•œ ๋ฒˆ๋งŒ ํฌํ•จํ•˜๋„๋ก์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ swal ์„œ๋น„์Šค๋ฅผ ์žฅ์‹ํ•˜์—ฌ ์ฝ”๋“œ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ฐฉํ•ด๋ฐ›์ง€ ์•Š๋„๋ก ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค (๋ชจ๋“  ํ˜ธ์ถœ์—์„œ ์œ„์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฝ”๋”ฉํ•˜์ง€ ์•Š์Œ). ) ์˜๊ตฌ์  ์ธ ์ˆ˜์ •์ด ์ด๋ฃจ์–ด์งˆ ๋•Œ๊นŒ์ง€.

(function (){

    var _swal = window.swal;

    window.swal = function(){

        var previousWindowKeyDown = window.onkeydown;

        _swal.apply(this, Array.prototype.slice.call(arguments, 0));

        window.onkeydown = previousWindowKeyDown;

    };

})();

์ด ๋ฒ„๊ทธ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์œ„์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๋„ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! : +1 :

๋„ค, @JustinWinthers ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด

๊ทธ๋Ÿฌ๋‚˜ ๋Œ€ํ™” ์ƒ์ž์—์„œ ์ด์Šค์ผ€์ดํ”„ ๋ฐ Enter ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ f-upํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@amoralidad ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์ €์—๊ฒŒ

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @jayquest ... @ t4t5 ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ

๋‚ด ์†”๋ฃจ์…˜๊ณผ ํ•จ๊ป˜ ํ’€ ์š”์ฒญ์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/t4t5/sweetalert/pull/547

@JustinWinthers , ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด type: 'input' . "์ทจ์†Œ"๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ๋‹ซ์œผ๋ ค๊ณ ํ•˜๋ฉด swal.showInputError is not a function ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, http://clubcare.no/dashboard ๋กœ ์ด๋™ํ•˜์—ฌ Glemt passord (๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถ„์‹ค)์„ ํƒญํ•ฉ๋‹ˆ๋‹ค.

ํ•จ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋™์ž‘์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@jayquest ์ด ๋ฌธ์ œ๋ฅผ

์•ˆ๋…•ํ•˜์„ธ์š” @JustinWinthers

SweetAlert๊ฐ€ ์—ด๋ฆฐ ํ›„์ด ํƒญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•œ ์ œ์•ˆ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์ง€๋งŒ cancel ๋ฒ„ํŠผ์„ ํด๋ฆญ ํ•  ๋•Œ swal.close(); ์‚ฌ์šฉํ•˜์—ฌ Sweetalert๋ฅผ ๋‹ซ์œผ๋ ค๊ณ  ํ•  ๋•Œ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

swal.close is not a function

์ด๊ฒƒ์€ @EduardJS ๊ฐ€ ์œ„์—์„œ ๋งํ•œ ๊ฒƒ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜๊ฒŒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋„ˆ๋ฌด ๊ฐ€๊นŒ์›Œ์ง„ ๊ฒƒ ๊ฐ™์ง€๋งŒ์ด ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ œ์•ˆ ๋œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋„์›€์ด๋ผ๋„ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฑด๋ฐฐ,
๋‹.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ์ฐพ์„ ์ˆ˜์žˆ๋Š” @JustinWinthers ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…์€ swal.close ํ•จ์ˆ˜์—๋งŒ ์—ฐ๊ฒฐํ•˜๊ณ  window.onkeydown ๋ฅผ ์ด์ „ window.onkeydown ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ :

(function (){
    var close = window.swal.close;
    var previousWindowKeyDown = window.onkeydown;
    window.swal.close = function() {
        close();
        window.onkeydown = previousWindowKeyDown;
    };
})();

๋˜๋Š” ์ œ ๊ฒฝ์šฐ์—๋Š” ๋” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

(function (){
    var close = window.swal.close;
    window.swal.close = function() {
        close();
        window.onkeydown = null;
    };
})();

์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€ํ™” ์ƒ์ž์—์„œ Enter ๋ฐ Escape ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

@ Mr-Anonymous ๋ฐ @EduardJS์—์„œ ์–ธ๊ธ‰ ํ•œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋„ ๋” ์ด์ƒ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@kosst ์™„๋ฒฝํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์‹œ๋„ํ–ˆ๊ณ  ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ๊ณ ๋ง™์Šต๋‹ˆ๋‹ค!!

๊ฑด๋ฐฐ,
๋‹.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

mouro001 picture mouro001  ยท  3์ฝ”๋ฉ˜ํŠธ

sastrahost picture sastrahost  ยท  5์ฝ”๋ฉ˜ํŠธ

voodoo6 picture voodoo6  ยท  4์ฝ”๋ฉ˜ํŠธ

waldyrious picture waldyrious  ยท  5์ฝ”๋ฉ˜ํŠธ

mateuszjarzewski picture mateuszjarzewski  ยท  4์ฝ”๋ฉ˜ํŠธ