PageSourceSearch

https://www.puzzle-kakuro.com/partials/form.login.php

html puzzle-kakuro.com collected 2026-09-28 07:05:02 UTC 9,875 bytes, 200 lines download raw bytes

1<div>
2    <puzzle-banner variant="positive" class="js-registration-success" style="display: none">
3        <p>Almost there! We have sent an activation link to your email.</p>
4        <p>Check the spam box too - just in case.</p>
5    </puzzle-banner>
6
7    <div class="login-box">
8
9        <div class="login-box__toggle">
10            <puzzle-toggle
11                id="toggle-forms"
12                state="1"
13                size="fill"
14                onclick="toggleLoginSignup()"
15            >
16                <span slot="start">Log in</span>
17                <span slot="end">Sign up</span>
18            </puzzle-toggle>
19        </div>
20
21        <puzzle-banner variant="negative" class="js-login-error" style="display: none" allow-dismiss>
22            <span class="message"></span>
23        </puzzle-banner>
24
25        <form class="email-login">
26            <div class="text-field text-field--has-icon-start text-field--has-label login-field">
27                <puzzle-icon class="text-field__icon-start" name="mail-outline" size="small"></puzzle-icon>
28                <input class="text-field__input" type="email" name="email" placeholder="Email" autocapitalize="off" autocomplete="username" spellcheck="false" autocorrect="off" />
29                <label class="text-field__label">Email</label>
30            </div>
31
32            <div class="text-field text-field--has-icon-start text-field--has-icon-end text-field--has-label login-field">
33                <puzzle-icon class="text-field__icon-start" name="lock-outline" size="small"></puzzle-icon>
34                <input class="text-field__input" type="password" name="password" placeholder="Password" autocomplete="current-password" />
35                <label class="text-field__label">Password</label>
36                <puzzle-button class="text-field__action" variant="regular-subtle" icon="eye-closed" size="small" icon-size="small" assist-label="Show/hide password" tabindex="-1" onmousedown="event.preventDefault()" onclick="togglePasswordVisibility(event)"></puzzle-button>
37            </div>
38
39            <puzzle-button variant="accent" class="button-login login-submit">
40                Log in <i class="icon icon-spin5 animate-spin"></i>
41            </puzzle-button>
42
43            <a href="#" class="forgot-password">Forgot password?</a>
44        </form>
45
46        <form class="email-signup">
47            <div class="text-field text-field--has-icon-start text-field--has-label login-field">
48                <puzzle-icon class="text-field__icon-start" name="mail-outline" size="small"></puzzle-icon>
49                <input class="text-field__input" type="email" name="email" placeholder="Email" autocomplete="username" spellcheck="false" autocorrect="off" />
50                <label class="text-field__label">Email *</label>
51            </div>
52
53            <div class="text-field text-field--has-icon-start text-field--has-label login-field">
54                <puzzle-icon class="text-field__icon-start" name="alternate-email" size="small"></puzzle-icon>
55                <input class="text-field__input" type="text" name="nick" placeholder="Nickname" autocapitalize="off" spellcheck="false" autocorrect="off" />
56                <label class="text-field__label">Nickname *</label>
57            </div>
58
59            <div class="text-field text-field--has-icon-start text-field--has-icon-end text-field--has-label login-field">
60                <puzzle-icon class="text-field__icon-start" name="lock-outline" size="small"></puzzle-icon>
61                <input class="text-field__input" type="password" name="password" placeholder="Password" autocomplete="new-password" />
62                <label class="text-field__label">Password *</label>
63                <puzzle-button class="text-field__action" variant="regular-subtle" icon="eye-closed" size="small" icon-size="small" assist-label="Show/hide password" tabindex="-1" onmousedown="event.preventDefault()" onclick="togglePasswordVisibility(event)"></puzzle-button>
64            </div>
65
66            <div class="text-field text-field--has-icon-start text-field--has-icon-end text-field--has-label login-field">
67                <puzzle-icon class="text-field__icon-start" name="lock-outline" size="small"></puzzle-icon>
68                <input class="text-field__input" type="password" name="password_confirmation" placeholder="Confirm password" autocomplete="new-password" />
69                <label class="text-field__label">Confirm password *</label>
70                <puzzle-button class="text-field__action" variant="regular-subtle" icon="eye-closed" size="small" icon-size="small" assist-label="Show/hide password" tabindex="-1" onmousedown="event.preventDefault()" onclick="togglePasswordVisibility(event)"></puzzle-button>
71            </div>
72
73            <div class="login-checkbox">
74                <label for="receive" class="checkbox-field"><input type="checkbox" name="receive" id="receive" />Send me (rare) updates.</label>
75            </div>
76            <details class="robot-account-details">
77                <summary>I'm a developer of an automated solver</summary>
78                <label class="checkbox-field" for="robot">
79                    <input type="checkbox" name="robot" id="robot" />
80                    Register as robot account
81                </label>
82            </details>
83
84            <puzzle-button variant="accent" class="button-register login-submit">
85                Sign Up <i class="icon icon-spin5 animate-spin"></i>
86            </puzzle-button>
87        </form>
88
89        <div class="puzzle-separator">
90            <span></span>
91            <span>Use social profile</span>
92            <span></span>
93        </div>
94
95        <div class="login-social">
96            <puzzle-button class="login-social__btn" variant="regular-subtle" size="small" caption="Facebook"
97                href="https://www.puzzles-mobile.com/social/facebook?source=www.puzzle-kakuro.com" target="_blank" rel="opener">
98                <puzzle-icon name="external-facebook" style="color: #49639F"></puzzle-icon>
99            </puzzle-button>
100            <puzzle-button class="login-social__btn" variant="regular-subtle" size="small" caption="Google"
101                href="https://www.puzzles-mobile.com/social/google?source=www.puzzle-kakuro.com" target="_blank" rel="opener">
102                <puzzle-icon name="external-google" style="color: #DF4A32"></puzzle-icon>
103            </puzzle-button>
104            <puzzle-button class="login-social__btn" variant="regular-subtle" size="small" caption="Discord"
105                href="https://www.puzzles-mobile.com/social/discord?source=www.puzzle-kakuro.com" target="_blank" rel="opener">
106                <puzzle-icon name="external-discord" style="color: #7289DA"></puzzle-icon>
107            </puzzle-button>
108        </div>
109
110    </div>
111</div>
112<script type="text/javascript">
113    $(".email-signup").hide();
114    $("puzzle-button .animate-spin").hide();
115
116    function toggleLoginSignup() {
117        var toggle = document.getElementById('toggle-forms');
118        var isLogin = toggle.getAttribute('state') === '1';
119        if (isLogin) {
120            toggle.setAttribute('state', '2');
121            $(".email-login").fadeOut(100);
122            $(".email-signup").delay(100).fadeIn(100);
123        } else {
124            toggle.setAttribute('state', '1');
125            $(".email-signup").fadeOut(100);
126            $(".email-login").delay(100).fadeIn(100);
127        }
128    }
129
130    $('.email-login input, .email-signup input').on('keydown', function(e){
131        var code = e.keyCode || e.which;
132        if(code == 13) { //Enter keycode
133            e.preventDefault();
134            e.stopPropagation();
135            $(this).closest('form').find('puzzle-button.button-login, puzzle-button.button-register').click();
136        }
137    });
138
139    $(".button-login").on('click', function(e){
140        e.preventDefault();
141        mobile_host = (typeof mobile_host == 'undefined') ? 'www.puzzles-mobile.com' : mobile_host;
142
143        $(".button-login .animate-spin").show();
144        $('.js-login-error').hide();
145
146        $.ajax({
147            url : "https://"+mobile_host+"/api/login",
148            method : "POST",
149            data : $(this).closest('form').serialize(),
150
151
152            success : function(data) {
153                localStorage.setItem('api_token', data);
154                createCookie('api_token', data, 365, base_domain);
155
156                Dialog.close();
157                loadUser();
158            },
159            error: function(jqXHR, textStatus, errorThrown) {
160                $('.js-login-error').show().find('.message').text(jqXHR.responseText);
161            },
162            complete: function() {
163                $('.button-login .animate-spin').hide();
164            }
165        });
166
167    });
168
169    $(".button-register").on('click', function(e){
170        e.preventDefault();
171        mobile_host = (typeof mobile_host == 'undefined') ? 'www.puzzles-mobile.com' : mobile_host;
172
173        $(".button-register .animate-spin").show();
174        $('.js-login-error').hide();
175
176        $.post( "https://"+mobile_host+"/api/register", $(this).closest('form').serialize())
177        .done(function(data) {
178            $('.dialog .login-box').hide();
179            $('.dialog .js-registration-success').show();
180        })
181        .fail(function(data) {
182            if (data.responseJSON) {
183                var msg = $.map(data.responseJSON, function(e){
184                                return e;
185                            }).join('<br>');
186            } else {
187                var msg = data.responseText;
188            }
189            $('.js-login-error').show().find('.message').html(msg);
190        })
191        .always(function() {
192            $('.button-register .animate-spin').hide();
193        });
194    });
195    $('.forgot-password').on('click', function(e) {
196        e.preventDefault();
197        Dialog.loadContent('/partials/form.forgotten_password.php');
198    });
199    loadUser();
200</script>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.