{"id":9,"date":"2026-09-03T06:24:49","date_gmt":"2026-09-03T06:24:49","guid":{"rendered":"https:\/\/angels-devils.adilbannar.my\/index.php\/whitelist\/"},"modified":"2026-09-03T06:24:49","modified_gmt":"2026-09-03T06:24:49","slug":"whitelist","status":"publish","type":"page","link":"https:\/\/angels-devils.adilbannar.my\/index.php\/whitelist\/","title":{"rendered":"Whitelist"},"content":{"rendered":"<div class=\"srp-section\">\n    <h1 class=\"srp-section-title\">WHITELIST <span class=\"accent\">APPLICATION<\/span><\/h1>\n    <p class=\"srp-section-subtitle\" id=\"srpWLSub\">Apply to join Angels & Devils Rp<\/p>\n\n    <div id=\"srpWLStatus\" style=\"display:none;\"><\/div>\n    <div id=\"srpWLNotLoggedIn\" style=\"display:none;\">\n        <div class=\"srp-card\" style=\"text-align:center;padding:48px;\">\n            <h3 style=\"margin-bottom:16px;color:var(--srp-red);\" id=\"srpWLLoginTitle\">Login Required<\/h3>\n            <p style=\"color:var(--srp-gray);margin-bottom:24px;\" id=\"srpWLLoginMsg\">You need to login with Discord to apply for whitelist. You must also be a member of our Discord server.<\/p>\n            <a href=\"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/srp\/v1\/auth\/discord\" class=\"srp-btn srp-btn-discord\" style=\"display:inline-flex;font-size:16px;padding:16px 32px;\" id=\"srpWLLoginBtn\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z\"\/><\/svg>\n                Login with Discord\n            <\/a>\n        <\/div>\n    <\/div>\n    <div id=\"srpWLAlreadyApplied\" style=\"display:none;\"><\/div>\n\n    <div id=\"srpWLFormWrap\" style=\"display:none;\">\n        <div class=\"srp-card\" style=\"max-width:700px;\">\n            <div id=\"srpWLError\" class=\"srp-form-error\"><\/div>\n            <div id=\"srpWLSuccess\" class=\"srp-form-success\"><\/div>\n            <form id=\"srpWLForm\" onsubmit=\"srpHandleWLSubmit(event)\">\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-label\" id=\"lbl_irl_name\">IRL Name *<\/label>\n                    <input class=\"srp-form-input\" type=\"text\" name=\"irl_name\" required>\n                <\/div>\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-label\" id=\"lbl_irl_age\">IRL Age *<\/label>\n                    <input class=\"srp-form-input\" type=\"number\" name=\"irl_age\" required>\n                <\/div>\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-label\" id=\"lbl_rp_name\">RP Name *<\/label>\n                    <input class=\"srp-form-input\" type=\"text\" name=\"rp_name\" required>\n                <\/div>\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-label\" id=\"lbl_rp_age\">RP Age *<\/label>\n                    <input class=\"srp-form-input\" type=\"number\" name=\"rp_age\" required>\n                <\/div>\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-label\" id=\"lbl_story\">Story of Character *<\/label>\n                    <textarea class=\"srp-form-textarea\" name=\"why_join\" rows=\"6\" required><\/textarea>\n                <\/div>\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-label\" id=\"lbl_experience\">RP Experience *<\/label>\n                    <textarea class=\"srp-form-textarea\" name=\"experience\" rows=\"4\" required><\/textarea>\n                <\/div>\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-label\" id=\"lbl_steam\">Steam Profile Link *<\/label>\n                    <input class=\"srp-form-input\" type=\"text\" name=\"steam_link\" placeholder=\"https:\/\/steamcommunity.com\/id\/...\" required>\n                <\/div>\n                <div class=\"srp-form-group\">\n                    <label class=\"srp-form-check\">\n                        <input type=\"checkbox\" name=\"rules_understood\" required>\n                        <span id=\"srpWLRulesCheck\">I have read and understood the server rules<\/span>\n                    <\/label>\n                <\/div>\n                <button type=\"submit\" class=\"srp-btn srp-btn-red\" style=\"width:100%;justify-content:center;\" id=\"srpWLSubmitBtn\">\n                    Submit Application\n                <\/button>\n            <\/form>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\nfunction srpHandleWLSubmit(e) {\n    e.preventDefault();\n    var btn = document.getElementById('srpWLSubmitBtn');\n    var errEl = document.getElementById('srpWLError');\n    var succEl = document.getElementById('srpWLSuccess');\n    btn.innerHTML = '<span class=\"srp-loading\"><\/span> Submitting...';\n    btn.disabled = true;\n    errEl.style.display = 'none';\n    succEl.style.display = 'none';\n\n    var form = document.getElementById('srpWLForm');\n    var data = {\n        irl_name: form.irl_name.value.trim(),\n        irl_age: form.irl_age.value.trim(),\n        rp_name: form.rp_name.value.trim(),\n        rp_age: form.rp_age.value.trim(),\n        why_join: form.why_join.value.trim(),\n        experience: form.experience.value.trim(),\n        steam_link: form.steam_link.value.trim(),\n        rules_understood: form.rules_understood.checked\n    };\n\n    var token = srpGetToken ? srpGetToken() : null;\n    var url = srpAjax.url + 'whitelist\/apply';\n    if (token) url += '?srp_token=' + encodeURIComponent(token);\n\n    fetch(url, {\n        method: 'POST',\n        headers: {'Content-Type': 'application\/json'},\n        credentials: 'same-origin',\n        body: JSON.stringify(data)\n    })\n    .then(function(r){return r.json().then(function(b){return{ok:r.ok,body:b};});})\n    .then(function(res){\n        if (res.ok) {\n            succEl.textContent = res.body.message || 'Application submitted!';\n            succEl.style.display = 'block';\n            document.getElementById('srpWLFormWrap').innerHTML = '<div class=\"srp-card\" style=\"text-align:center;padding:48px;\"><h3 style=\"color:var(--srp-success);margin-bottom:12px;\">Application Submitted!<\/h3><p style=\"color:var(--srp-gray);\">Your whitelist application has been submitted. Please wait for admin review. You will receive a Discord DM when your application is reviewed.<\/p><\/div>';\n            srpToast('Application submitted!', 'success');\n        } else {\n            errEl.textContent = res.body.error || 'Submission failed';\n            errEl.style.display = 'block';\n            btn.innerHTML = 'Submit Application';\n            btn.disabled = false;\n        }\n    })\n    .catch(function(){\n        errEl.textContent = 'Network error';\n        errEl.style.display = 'block';\n        btn.innerHTML = 'Submit Application';\n        btn.disabled = false;\n    });\n}\n\ndocument.addEventListener('DOMContentLoaded', function() {\n    var urlParams = new URLSearchParams(window.location.search);\n    var error = urlParams.get('error');\n\n    if (error === 'not_in_server') {\n        document.getElementById('srpWLNotLoggedIn').style.display = 'block';\n        srpToast('You must join our Discord server first!', 'error');\n    } else {\n        srpCheckAuth(function(user) {\n            if (!user || !user.id) {\n                document.getElementById('srpWLNotLoggedIn').style.display = 'block';\n                return;\n            }\n            srpCheckWhitelistStatus(function(status) {\n                if (status.status === 'approved') {\n                    document.getElementById('srpWLAlreadyApplied').style.display = 'block';\n                    document.getElementById('srpWLAlreadyApplied').innerHTML = '<div class=\"srp-card\" style=\"text-align:center;padding:48px;\"><h3 style=\"color:var(--srp-success);margin-bottom:12px;\">Already Approved<\/h3><p style=\"color:var(--srp-gray);\">Your whitelist application has been approved! Welcome to Angels & Devils Rp.<\/p><\/div>';\n                } else if (status.status === 'pending') {\n                    document.getElementById('srpWLAlreadyApplied').style.display = 'block';\n                    document.getElementById('srpWLAlreadyApplied').innerHTML = '<div class=\"srp-card\" style=\"text-align:center;padding:48px;\"><h3 style=\"color:var(--srp-warning);margin-bottom:12px;\">Application Pending<\/h3><p style=\"color:var(--srp-gray);\">Your application is under review. Please wait for admin approval. You will receive a Discord DM when reviewed.<\/p><\/div>';\n                } else if (status.status === 'rejected') {\n                    document.getElementById('srpWLAlreadyApplied').style.display = 'block';\n                    var reason = status.reject_reason ? '<p style=\"color:var(--srp-red-light);margin-top:12px;\"><strong>Reason:<\/strong> ' + status.reject_reason + '<\/p>' : '';\n                    if (status.can_reapply) {\n                        document.getElementById('srpWLAlreadyApplied').innerHTML = '<div class=\"srp-card\" style=\"text-align:center;padding:48px;\"><h3 style=\"color:var(--srp-red);margin-bottom:12px;\">Application Rejected<\/h3><p style=\"color:var(--srp-gray);\">Your previous application was rejected.' + reason + '<\/p><p style=\"color:var(--srp-success);margin-top:12px;font-weight:600;\">2-hour cooldown has expired. You can submit a new application below.<\/p><\/div>';\n                        document.getElementById('srpWLFormWrap').style.display = 'block';\n                    } else {\n                        var remSec = status.remaining_seconds || 0;\n                        var h = Math.floor(remSec \/ 3600);\n                        var m = Math.ceil((remSec % 3600) \/ 60);\n                        var timeStr = (h > 0 ? h + 'h ' : '') + m + 'm';\n                        document.getElementById('srpWLAlreadyApplied').innerHTML = '<div class=\"srp-card\" style=\"text-align:center;padding:48px;\"><h3 style=\"color:var(--srp-red);margin-bottom:12px;\">Application Rejected<\/h3><p style=\"color:var(--srp-gray);\">Your previous application was rejected.' + reason + '<\/p><div style=\"margin-top:16px;padding:12px;background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.25);border-radius:8px;display:inline-block;\"><p style=\"color:#f87171;font-weight:700;margin:0;\">\u23f3 2-Hour Cooldown Active<\/p><p style=\"color:var(--srp-gray);font-size:13px;margin:4px 0 0 0;\">You can submit a new whitelist application in <strong>' + timeStr + '<\/strong>.<\/p><\/div><\/div>';\n                        document.getElementById('srpWLFormWrap').style.display = 'none';\n                    }\n                } else {\n                    document.getElementById('srpWLFormWrap').style.display = 'block';\n                }\n            });\n        });\n    }\n\n    var lang = (document.cookie.split(';').find(function(c){return c.trim().startsWith('srp_lang=');})||'').split('=')[1]||'en';\n    if(lang==='ar'){\n        document.getElementById('srpWLSub').textContent='\u0642\u062f\u0651\u0645 \u0644\u0644\u0627\u0646\u0636\u0645\u0627\u0645 \u0644\u0640 Angels & Devils Rp';\n        document.getElementById('srpWLLoginTitle').textContent='\u064a\u062c\u0628 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644';\n        document.getElementById('srpWLLoginMsg').textContent='\u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0628\u0627\u0644\u062f\u064a\u0633\u0643\u0648\u0631\u062f \u0644\u0644\u062a\u0642\u062f\u064a\u0645. \u064a\u062c\u0628 \u0623\u064a\u0636\u0627 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0639\u0636\u0648\u0627 \u0641\u064a \u0633\u064a\u0631\u0641\u0631 \u0627\u0644\u062f\u064a\u0633\u0643\u0648\u0631\u062f \u0627\u0644\u062e\u0627\u0635 \u0628\u0646\u0627.';\n        document.getElementById('srpWLLoginBtn').innerHTML='<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z\"\/><\/svg>\u062f\u062e\u0648\u0644 \u0628\u0627\u0644\u062f\u064a\u0633\u0643\u0648\u0631\u062f';\n        document.getElementById('srpWLRulesCheck').textContent='\u0644\u0642\u062f \u0642\u0631\u0623\u062a \u0648\u0641\u0647\u0645\u062a \u0642\u0648\u0627\u0646\u064a\u0646 \u0627\u0644\u0633\u064a\u0631\u0641\u0631';\n        document.getElementById('srpWLSubmitBtn').textContent='\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628';\n        document.getElementById('lbl_irl_name').textContent='\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u062d\u0642\u064a\u0642\u064a *';\n        document.getElementById('lbl_irl_age').textContent='\u0627\u0644\u0639\u0645\u0631 \u0627\u0644\u062d\u0642\u064a\u0642\u064a *';\n        document.getElementById('lbl_rp_name').textContent='\u0627\u0633\u0645 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 *';\n        document.getElementById('lbl_rp_age').textContent='\u0639\u0645\u0631 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 *';\n        document.getElementById('lbl_story').textContent='\u0642\u0635\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 *';\n        document.getElementById('lbl_experience').textContent='\u062e\u0628\u0631\u062a\u0643 \u0641\u064a \u0627\u0644\u0631\u0648\u0644 \u0628\u0644\u0627\u064a *';\n        document.getElementById('lbl_steam').textContent='\u0631\u0627\u0628\u0637 \u0628\u0631\u0648\u0641\u0627\u064a\u0644 \u0633\u062a\u064a\u0645 *';\n    }\n});\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":0,"href":"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"wp:attachment":[{"href":"https:\/\/angels-devils.adilbannar.my\/index.php\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}