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

449 lines
12 KiB
JavaScript
Raw Normal View History

2023-07-30 17:04:15 +07:00
(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 };