{"id":31680,"date":"2026-06-08T19:31:20","date_gmt":"2026-06-08T19:31:20","guid":{"rendered":"https:\/\/uwisely.com\/?page_id=31680"},"modified":"2026-06-08T19:31:20","modified_gmt":"2026-06-08T19:31:20","slug":"sn-connecter","status":"publish","type":"page","link":"https:\/\/or-sn-upst.uwisely.com\/fr\/sn-connecter\/","title":{"rendered":"Orange Senegal &#8211; Se connecter"},"content":{"rendered":"<p style=\"text-align: center;\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&display=swap');\n\n.uw-sn-wrapper {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    padding: 0px 0px 30px;\n    width: 100%;\n    max-width: 360px;\n    background: #FFFFFF;\n    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.05);\n    border-radius: 12px;\n    margin: 40px auto;\n    font-family: 'Poppins', sans-serif;\n    overflow: hidden;\n}\n\n.uw-sn-header {\n    width: 100%;\n    height: 180px;\n    background: linear-gradient(135deg, #1A73E8 0%, #38B2AC 100%);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    gap: 15px;\n}\n\n.uw-sn-header h1 {\n    color: #FFFFFF;\n    font-size: 26px;\n    font-weight: 600;\n    margin: 0;\n}\n\n.uw-sn-body {\n    padding: 25px 20px 0;\n    width: 100%;\n    box-sizing: border-box;\n    text-align: center;\n}\n\n.uw-sn-instruction {\n    font-size: 13px;\n    line-height: 1.5;\n    color: #4A5568;\n    margin-bottom: 25px;\n    padding: 0 10px;\n}\n\n.uw-sn-input-container {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    height: 50px;\n    border: 1.5px solid #E2E8F0;\n    border-radius: 8px;\n    overflow: hidden;\n    margin: 0 auto;\n    transition: all 0.3s ease;\n    box-sizing: border-box;\n}\n\n\/* Validation States from Figma *\/\n.uw-sn-input-container.invalid { border-color: #EF4444 !important; }\n.uw-sn-input-container.valid { border-color: #10B981 !important; }\n\n.uw-sn-icon-left {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding-left: 15px;\n    color: #A0AEC0;\n}\n\n.uw-sn-prefix {\n    color: #718096;\n    font-size: 14px;\n    font-weight: 500;\n    margin-left: 8px;\n    margin-right: 5px;\n}\n\n.uw-sn-input-box {\n    flex-grow: 1;\n    height: 100%;\n    display: flex;\n    align-items: center;\n}\n\n.uw-sn-input-box input {\n    width: 100%;\n    border: none;\n    outline: none;\n    padding: 0 10px 0 5px;\n    font-family: 'Poppins', sans-serif;\n    font-size: 14px;\n    color: #2D3748;\n}\n\n.uw-sn-btn-primary {\n    width: 100%;\n    height: 50px;\n    background: #1A73E8;\n    border-radius: 8px;\n    border: none;\n    color: #FFFFFF;\n    font-weight: 600;\n    font-size: 16px;\n    margin-top: 25px;\n    margin-bottom: 20px;\n    cursor: pointer;\n    opacity: 0.5;\n    transition: opacity 0.3s ease;\n}\n\n.uw-sn-btn-primary.active { opacity: 1; }\n\n.uw-sn-footer-text {\n    font-size: 13px;\n    color: #4A5568;\n    margin-bottom: 10px;\n}\n\n.uw-sn-btn-secondary {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    height: 50px;\n    background: #EBF4FF;\n    border-radius: 8px;\n    color: #1A73E8;\n    text-decoration: none;\n    font-weight: 600;\n    font-size: 16px;\n}\n\n.uw-sn-error-hint {\n    color: #EF4444;\n    font-size: 11px;\n    margin-top: 8px;\n    font-style: italic;\n    display: none;\n    text-align: left;\n}\n.uw-sn-error-hint.show { display: block; }\n<\/style>\n\n<div class=\"uw-sn-wrapper\">\n    <!-- Header Gradient & Icon -->\n    <div class=\"uw-sn-header\">\n        <svg width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n            <path d=\"M15 3H19C19.5304 3 20 3.46957 20 4V20C20 20.5304 19.5304 21 19 21H15M10 17L15 12M15 12L10 7M15 12H3\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n        <\/svg>\n        <h1>Se connecter<\/h1>\n    <\/div>\n\n    <div class=\"uw-sn-body\">\n        \n        <form method=\"post\" id=\"sn-login-form\">\n            <input type=\"hidden\" id=\"uw_login_nonce\" name=\"uw_login_nonce\" value=\"191295fa40\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/fr\/wp-json\/wp\/v2\/pages\/31680\" \/>            \n                            <!-- PASO 1: Ingreso de MSISDN -->\n                <input type=\"hidden\" name=\"uw_sn_action\" value=\"send_otp\">\n                <input type=\"hidden\" name=\"msisdn\" id=\"hidden-msisdn\" value=\"\">\n                \n                <p class=\"uw-sn-instruction\">Entrez votre num\u00e9ro de t\u00e9l\u00e9phone pour recevoir votre code OTP par SMS.<\/p>\n\n                <div class=\"uw-sn-input-container\" id=\"box-container\">\n                    <div class=\"uw-sn-icon-left\">\n                        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                            <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.86 19.86 0 01-8.63-3.07 19.5 19.5 0 01-6-6A19.86 19.86 0 012.08 4.18 2 2 0 014.06 2h3a2 2 0 012 1.72c.12.9.34 1.78.64 2.63a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.45-1.15a2 2 0 012.11-.45c.85.3 1.73.52 2.63.64A2 2 0 0122 16.92z\"\/>\n                        <\/svg>\n                    <\/div>\n                    <span class=\"uw-sn-prefix\" id=\"prefix-label\">+221<\/span>\n                    <div class=\"uw-sn-input-box\">\n                        <input type=\"text\" id=\"msisdn-field\" placeholder=\"Num\u00e9ro de t\u00e9l\u00e9phone\" autocomplete=\"off\">\n                    <\/div>\n                <\/div>\n                <p id=\"error-msg\" class=\"uw-sn-error-hint\">Le num\u00e9ro est invalide. Veuillez r\u00e9essayer.<\/p>\n                \n                <!-- DemoUser Password Field -->\n                <div id=\"demouser-pass-container\" style=\"display:none; margin-top:15px; width:100%;\">\n                    <input type=\"password\" name=\"password\" id=\"demouser-pass\" placeholder=\"Mot de passe\" style=\"width:100%; height:50px; border-radius:8px; border:1.5px solid #E2E8F0; padding:0 15px; outline:none; font-family:'Poppins'; box-sizing:border-box;\">\n                <\/div>\n\n                <button type=\"submit\" id=\"login-btn\" class=\"uw-sn-btn-primary\" disabled>Envoyer OTP<\/button>\n\n            \n            <p class=\"uw-sn-footer-text\">Pas encore abonn\u00e9 ?<\/p>\n            <a href=\"\/fr\/subscribe\" class=\"uw-sn-btn-secondary\">S'abonner<\/a>\n        <\/form>\n    <\/div>\n<\/div>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    const field = document.getElementById('msisdn-field');\n    const box = document.getElementById('box-container');\n    const btn = document.getElementById('login-btn');\n    const error = document.getElementById('error-msg');\n    const demoPass = document.getElementById('demouser-pass-container');\n    const hiddenMsisdn = document.getElementById('hidden-msisdn');\n    const prefixLabel = document.getElementById('prefix-label');\n    \n    if(!field) return;\n\n    field.addEventListener('input', function(e) {\n        const rawVal = e.target.value.trim();\n        const val = rawVal.replace(\/\\D\/g, '');\n\n        \/\/ L\u00f3gica DemoUser (WordPress Bypass)\n        if (rawVal.toLowerCase() === 'demouser') {\n            prefixLabel.style.display = 'none'; \/\/ Ocultamos el +221 visualmente\n            demoPass.style.display = 'block';\n            box.classList.add('valid');\n            box.classList.remove('invalid');\n            error.classList.remove('show');\n            btn.disabled = false;\n            btn.classList.add('active');\n            \n            \/\/ Alteramos la acci\u00f3n nativa para que lo intercepte el bypass en lugar de Curry\n            document.getElementById('hidden-msisdn').value = 'demouser';\n            document.querySelector('input[name=\"uw_sn_action\"]').value = 'demouser_login';\n            return;\n        } else {\n            prefixLabel.style.display = 'block';\n            demoPass.style.display = 'none';\n            document.querySelector('input[name=\"uw_sn_action\"]').value = 'send_otp';\n        }\n\n        \/\/ L\u00f3gica Orange Senegal: Esperamos exactamente 9 d\u00edgitos post +221\n        hiddenMsisdn.value = '221' + val;\n\n        if (rawVal.length > 0) {\n            \/\/ Success (exactamente 9 n\u00fameros)\n            if (val.length === 9 && rawVal === val) {\n                box.classList.add('valid');\n                box.classList.remove('invalid');\n                error.classList.remove('show');\n                btn.disabled = false;\n                btn.classList.add('active');\n            } \n            \/\/ Error (letras ingresadas o super\u00f3 los 9 d\u00edgitos)\n            else if (rawVal !== val || val.length > 9) {\n                box.classList.add('invalid');\n                box.classList.remove('valid');\n                error.classList.add('show');\n                btn.disabled = true;\n                btn.classList.remove('active');\n            } \n            \/\/ Neutro (Escribiendo...)\n            else {\n                box.classList.remove('valid', 'invalid');\n                error.classList.remove('show');\n                btn.disabled = true;\n                btn.classList.remove('active');\n            }\n        } else {\n            box.classList.remove('valid', 'invalid');\n            error.classList.remove('show');\n            btn.disabled = true;\n            btn.classList.remove('active');\n        }\n    });\n});\n<\/script><\/p>\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-31680","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages\/31680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/comments?post=31680"}],"version-history":[{"count":1,"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages\/31680\/revisions"}],"predecessor-version":[{"id":31681,"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages\/31680\/revisions\/31681"}],"wp:attachment":[{"href":"https:\/\/or-sn-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/media?parent=31680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}