site-libsoc/Server/public/js/components/login-component.js

449 lines
12 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
import { S as SvelteElement, i as init, a as attribute_to_object, b as insert_dev, t as flush, s as safe_not_equal, d as dispatch_dev, v as validate_slots, g as getContext, o as onMount, f as element, h as space, n as noop, k as attr_dev, j as add_location, u as src_url_equal, l as append_dev, m as listen_dev, p as detach_dev, r as run_all, q as binding_callbacks } from './index-998178c7.js';
import * as AuthTools from '../../../../../../../../../js/libraries/authTools.js';
/* src\auth\login-component.svelte generated by Svelte v3.52.0 */
const file = "src\\auth\\login-component.svelte";
function create_fragment(ctx) {
let div5;
let h2;
let t1;
let label0;
let span0;
let t3;
let input0;
let t4;
let div0;
let label1;
let span1;
let t6;
let input1;
let t7;
let button0;
let object;
let t8;
let div1;
let input2;
let label2;
let t10;
let button1;
let t12;
let a;
let t14;
let hr;
let t15;
let div4;
let div3;
let div2;
let t16;
let img;
let img_src_value;
let mounted;
let dispose;
const block = {
c: function create() {
div5 = element("div");
h2 = element("h2");
h2.textContent = "LOG IN";
t1 = space();
label0 = element("label");
label0.textContent = "Email ";
span0 = element("span");
t3 = space();
input0 = element("input");
t4 = space();
div0 = element("div");
label1 = element("label");
label1.textContent = "Password ";
span1 = element("span");
t6 = space();
input1 = element("input");
t7 = space();
button0 = element("button");
object = element("object");
t8 = space();
div1 = element("div");
input2 = element("input");
label2 = element("label");
label2.textContent = "remember me";
t10 = space();
button1 = element("button");
button1.textContent = "Log in";
t12 = space();
a = element("a");
a.textContent = "Forgot password?";
t14 = space();
hr = element("hr");
t15 = space();
div4 = element("div");
div3 = element("div");
div2 = element("div");
t16 = space();
img = element("img");
this.c = noop;
attr_dev(h2, "class", "auth-title");
add_location(h2, file, 68, 4, 1639);
attr_dev(label0, "class", "auth-label");
attr_dev(label0, "for", "emailInput");
add_location(label0, file, 69, 4, 1679);
attr_dev(span0, "id", "email-msg");
add_location(span0, file, 69, 66, 1741);
attr_dev(input0, "id", "emailInput");
attr_dev(input0, "class", "authEmailInput");
attr_dev(input0, "type", "email");
add_location(input0, file, 70, 4, 1796);
attr_dev(label1, "class", "auth-label");
attr_dev(label1, "for", "passwordInput");
add_location(label1, file, 72, 8, 1922);
attr_dev(span1, "id", "password-msg");
add_location(span1, file, 72, 76, 1990);
attr_dev(input1, "id", "passwordInput");
attr_dev(input1, "class", "authPasswordInput");
attr_dev(input1, "type", "password");
add_location(input1, file, 73, 8, 2055);
attr_dev(object, "type", "image/svg+xml");
attr_dev(object, "data", "/img/auth/eye_icon.svg");
attr_dev(object, "title", "eye icon");
add_location(object, file, 75, 12, 2316);
attr_dev(button0, "class", "eye-icon");
add_location(button0, file, 74, 8, 2160);
attr_dev(div0, "class", "password-field");
add_location(div0, file, 71, 4, 1884);
attr_dev(input2, "type", "checkbox");
attr_dev(input2, "id", "remember-me-checkbox");
add_location(input2, file, 79, 8, 2470);
attr_dev(label2, "id", "remember-me-label");
attr_dev(label2, "for", "passwordInput");
add_location(label2, file, 79, 80, 2542);
attr_dev(div1, "id", "remember-me");
add_location(div1, file, 78, 4, 2438);
attr_dev(button1, "class", "auth-button");
add_location(button1, file, 81, 4, 2629);
attr_dev(a, "id", "forgot-password");
attr_dev(a, "href", "forgot-password");
add_location(a, file, 82, 4, 2726);
attr_dev(hr, "class", "auth-line");
add_location(hr, file, 83, 4, 2799);
attr_dev(div2, "id", "google-btn");
add_location(div2, file, 86, 12, 2912);
if (!src_url_equal(img.src, img_src_value = "/img/auth/google_icon.svg")) attr_dev(img, "src", img_src_value);
attr_dev(img, "id", "google-logo");
attr_dev(img, "alt", "google icon");
add_location(img, file, 87, 12, 2978);
attr_dev(div3, "id", "google-btn-wrapper");
add_location(div3, file, 85, 8, 2869);
attr_dev(div4, "class", "auth-methods-group");
add_location(div4, file, 84, 4, 2827);
attr_dev(div5, "id", "login-group");
attr_dev(div5, "class", "pane auth-pane");
add_location(div5, file, 67, 0, 1589);
},
l: function claim(nodes) {
throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
},
m: function mount(target, anchor) {
insert_dev(target, div5, anchor);
append_dev(div5, h2);
append_dev(div5, t1);
append_dev(div5, label0);
append_dev(div5, span0);
/*span0_binding*/ ctx[10](span0);
append_dev(div5, t3);
append_dev(div5, input0);
/*input0_binding*/ ctx[11](input0);
append_dev(div5, t4);
append_dev(div5, div0);
append_dev(div0, label1);
append_dev(div0, span1);
/*span1_binding*/ ctx[12](span1);
append_dev(div0, t6);
append_dev(div0, input1);
/*input1_binding*/ ctx[13](input1);
append_dev(div0, t7);
append_dev(div0, button0);
append_dev(button0, object);
/*button0_binding*/ ctx[14](button0);
append_dev(div5, t8);
append_dev(div5, div1);
append_dev(div1, input2);
/*input2_binding*/ ctx[16](input2);
append_dev(div1, label2);
append_dev(div5, t10);
append_dev(div5, button1);
append_dev(div5, t12);
append_dev(div5, a);
append_dev(div5, t14);
append_dev(div5, hr);
append_dev(div5, t15);
append_dev(div5, div4);
append_dev(div4, div3);
append_dev(div3, div2);
/*div2_binding*/ ctx[18](div2);
append_dev(div3, t16);
append_dev(div3, img);
if (!mounted) {
dispose = [
listen_dev(button0, "click", /*click_handler*/ ctx[15], false, false, false),
listen_dev(button1, "click", /*click_handler_1*/ ctx[17], false, false, false)
];
mounted = true;
}
},
p: noop,
i: noop,
o: noop,
d: function destroy(detaching) {
if (detaching) detach_dev(div5);
/*span0_binding*/ ctx[10](null);
/*input0_binding*/ ctx[11](null);
/*span1_binding*/ ctx[12](null);
/*input1_binding*/ ctx[13](null);
/*button0_binding*/ ctx[14](null);
/*input2_binding*/ ctx[16](null);
/*div2_binding*/ ctx[18](null);
mounted = false;
run_all(dispose);
}
};
dispatch_dev("SvelteRegisterBlock", {
block,
id: create_fragment.name,
type: "component",
source: "",
ctx
});
return block;
}
function instance($$self, $$props, $$invalidate) {
let { $$slots: slots = {}, $$scope } = $$props;
validate_slots('login-component', slots, []);
let { focused = false } = $$props;
// Main code
let emailInput;
let passwordInput;
let inputs;
let passwordVisibilityButton;
let emailMsg;
let passwordMsg;
let msgs;
let rememberMe;
let googleButton;
let parentProps = getContext("auth");
function renderGoogle() {
if (parentProps.googleInit) {
google.accounts.id.renderButton(googleButton, { theme: 'outline', size: 'large' });
let iframe = googleButton.getElementsByTagName('iframe')[0];
iframe.style.height = "5rem";
iframe.style.width = "5rem";
} else {
setTimeout(renderGoogle, 100);
}
}
onMount(() => {
$$invalidate(7, rememberMe.checked = true, rememberMe);
$$invalidate(2, inputs = {
email: emailInput,
password: passwordInput,
remember: rememberMe
});
$$invalidate(6, msgs = { email: emailMsg, password: passwordMsg });
parentProps.msgs = msgs;
parentProps.remember = rememberMe;
parentProps.loginGoogle = googleButton;
document.addEventListener("keypress", function (event) {
if (event.code == "Enter") {
if (focused) {
AuthTools.login(msgs, inputs);
}
}
});
renderGoogle();
});
const writable_props = ['focused'];
Object.keys($$props).forEach(key => {
if (!~writable_props.indexOf(key) && key.slice(0, 2) !== '$$' && key !== 'slot') console.warn(`<login-component> was created with unknown prop '${key}'`);
});
function span0_binding($$value) {
binding_callbacks[$$value ? 'unshift' : 'push'](() => {
emailMsg = $$value;
$$invalidate(4, emailMsg);
});
}
function input0_binding($$value) {
binding_callbacks[$$value ? 'unshift' : 'push'](() => {
emailInput = $$value;
$$invalidate(0, emailInput);
});
}
function span1_binding($$value) {
binding_callbacks[$$value ? 'unshift' : 'push'](() => {
passwordMsg = $$value;
$$invalidate(5, passwordMsg);
});
}
function input1_binding($$value) {
binding_callbacks[$$value ? 'unshift' : 'push'](() => {
passwordInput = $$value;
$$invalidate(1, passwordInput);
});
}
function button0_binding($$value) {
binding_callbacks[$$value ? 'unshift' : 'push'](() => {
passwordVisibilityButton = $$value;
$$invalidate(3, passwordVisibilityButton);
});
}
const click_handler = () => AuthTools.changePasswordVisibility(passwordVisibilityButton);
function input2_binding($$value) {
binding_callbacks[$$value ? 'unshift' : 'push'](() => {
rememberMe = $$value;
$$invalidate(7, rememberMe);
});
}
const click_handler_1 = () => AuthTools.login(msgs, inputs);
function div2_binding($$value) {
binding_callbacks[$$value ? 'unshift' : 'push'](() => {
googleButton = $$value;
$$invalidate(8, googleButton);
});
}
$$self.$$set = $$props => {
if ('focused' in $$props) $$invalidate(9, focused = $$props.focused);
};
$$self.$capture_state = () => ({
onMount,
getContext,
AuthTools,
focused,
emailInput,
passwordInput,
inputs,
passwordVisibilityButton,
emailMsg,
passwordMsg,
msgs,
rememberMe,
googleButton,
parentProps,
renderGoogle
});
$$self.$inject_state = $$props => {
if ('focused' in $$props) $$invalidate(9, focused = $$props.focused);
if ('emailInput' in $$props) $$invalidate(0, emailInput = $$props.emailInput);
if ('passwordInput' in $$props) $$invalidate(1, passwordInput = $$props.passwordInput);
if ('inputs' in $$props) $$invalidate(2, inputs = $$props.inputs);
if ('passwordVisibilityButton' in $$props) $$invalidate(3, passwordVisibilityButton = $$props.passwordVisibilityButton);
if ('emailMsg' in $$props) $$invalidate(4, emailMsg = $$props.emailMsg);
if ('passwordMsg' in $$props) $$invalidate(5, passwordMsg = $$props.passwordMsg);
if ('msgs' in $$props) $$invalidate(6, msgs = $$props.msgs);
if ('rememberMe' in $$props) $$invalidate(7, rememberMe = $$props.rememberMe);
if ('googleButton' in $$props) $$invalidate(8, googleButton = $$props.googleButton);
if ('parentProps' in $$props) parentProps = $$props.parentProps;
};
if ($$props && "$$inject" in $$props) {
$$self.$inject_state($$props.$$inject);
}
return [
emailInput,
passwordInput,
inputs,
passwordVisibilityButton,
emailMsg,
passwordMsg,
msgs,
rememberMe,
googleButton,
focused,
span0_binding,
input0_binding,
span1_binding,
input1_binding,
button0_binding,
click_handler,
input2_binding,
click_handler_1,
div2_binding
];
}
class Login_component extends SvelteElement {
constructor(options) {
super();
this.shadowRoot.innerHTML = `<style>@import '/css/common.css';@import '/css/auth.css';</style>`;
init(
this,
{
target: this.shadowRoot,
props: attribute_to_object(this.attributes),
customElement: true
},
instance,
create_fragment,
safe_not_equal,
{ focused: 9 },
null
);
if (options) {
if (options.target) {
insert_dev(options.target, this, options.anchor);
}
if (options.props) {
this.$set(options.props);
flush();
}
}
}
static get observedAttributes() {
return ["focused"];
}
get focused() {
return this.$$.ctx[9];
}
set focused(focused) {
this.$$set({ focused });
flush();
}
}
customElements.define("login-component", Login_component);
export { Login_component as default };