fix register login

This commit is contained in:
Rizky 2024-06-21 02:01:52 -07:00
parent 630812a7f4
commit 40857be95c
4 changed files with 28 additions and 6 deletions

View File

@ -5,8 +5,15 @@ const w = window as any;
const parse = parser.exportAsFunctionAny("en-US"); const parse = parser.exportAsFunctionAny("en-US");
export const loadSession = (url_login?: string) => { export const loadSession = (url_login?: string) => {
if (!isEditor) { if (!isEditor) {
let id_site = ""
if (location.hostname === "prasi.avolut.com" ) {
const parts = location.pathname.split("/");
id_site = parts[2];
}
try { try {
const user = localStorage.getItem("user"); const user = localStorage.getItem("user" + id_site);
console.log(user);
if (user) { if (user) {
const raw = JSON.parse(user); const raw = JSON.parse(user);
w.user = raw.data; w.user = raw.data;

View File

@ -14,6 +14,13 @@ export const registerSession = (session: RG) => {
data: session.data, data: session.data,
expired: session.expired ? day().add(session.expired, "seconds") : null, expired: session.expired ? day().add(session.expired, "seconds") : null,
}; };
localStorage.setItem("user", JSON.stringify(data));
let id_site = "";
if (location.hostname === "prasi.avolut.com") {
const parts = location.pathname.split("/");
id_site = parts[2];
}
localStorage.setItem("user" + id_site, JSON.stringify(data));
w.user = session.data; w.user = session.data;
}; };

View File

@ -35,6 +35,7 @@ type LYTChild = {
default_layout: ReactNode; default_layout: ReactNode;
exception?: Array<string>; exception?: Array<string>;
blank_layout: ReactNode; blank_layout: ReactNode;
login_url: string;
}; };
export const Layout: FC<LYTChild> = (props) => { export const Layout: FC<LYTChild> = (props) => {
@ -62,8 +63,9 @@ export const Layout: FC<LYTChild> = (props) => {
fn(); fn();
const path = getPathname(); const path = getPathname();
const no_layout = props.exception; const no_layout = props.exception;
useEffect(() => { useEffect(() => {
loadSession("/auth/login"); loadSession(props.login_url || "/auth/login");
render(); render();
}, []); }, []);

View File

@ -1,7 +1,7 @@
import { getPathname } from "lib/utils/pathname"; import { getPathname } from "lib/utils/pathname";
import { useLocal } from "lib/utils/use-local"; import { useLocal } from "lib/utils/use-local";
import get from "lodash.get"; import get from "lodash.get";
import { FC, ReactNode, useEffect } from "react"; import { FC, useEffect } from "react";
import { IMenu, MenuProp } from "./utils/type-menu"; import { IMenu, MenuProp } from "./utils/type-menu";
// import { icon } from "../../.."; // import { icon } from "../../..";
@ -10,19 +10,24 @@ export const Menu: FC<MenuProp> = (props) => {
let role = props.role; let role = props.role;
role = props.on_init(); role = props.on_init();
let menu = get(imenu, role) || []; let menu = get(imenu, role) || [];
console.log(menu);
const pathname = getPathname(); const pathname = getPathname();
const local = useLocal({ const local = useLocal({
open: [] as Array<any>, open: [] as Array<any>,
cache: false, cache: false,
active: null as any, active: null as any,
mode: "full" as "full" | "mini", mode: "full" as "full" | "mini",
}); });
useEffect(() => { useEffect(() => {
local.mode = props.mode; local.mode = props.mode;
local.render(); local.render();
}, [props.mode]); }, [props.mode]);
if (!local.open.length && !local.cache) { if (!local.open.length && !local.cache) {
const result = findChildMenu(menu, (e: any) => e[2] === pathname); const result = findChildMenu(menu, (e: any) => e?.[2] === pathname);
if (Array.isArray(result)) { if (Array.isArray(result)) {
local.open.push(result); local.open.push(result);
local.active = result; local.active = result;
@ -30,6 +35,7 @@ export const Menu: FC<MenuProp> = (props) => {
local.render(); local.render();
} }
} }
return ( return (
<div <div
className={cx( className={cx(
@ -147,7 +153,7 @@ const found = (data: Array<any>, predicate: any) => {
return result ? true : false; return result ? true : false;
}; };
const findChild = (data: Array<any>, predicate: any) => { const findChild = (data: Array<any>, predicate: any) => {
const children = data[2]; // array index ke-2 bisa berupa array atau string const children = data?.[2]; // array index ke-2 bisa berupa array atau string
if (predicate(data)) { if (predicate(data)) {
// kalau data ada yang cocok dari prediksi maka true, kalau gk jalankan false // kalau data ada yang cocok dari prediksi maka true, kalau gk jalankan false
return data; return data;