From 40857be95cf1f893809cdc6e02d2d665dbc60f72 Mon Sep 17 00:00:00 2001 From: Rizky Date: Fri, 21 Jun 2024 02:01:52 -0700 Subject: [PATCH] fix register login --- preset/login/utils/load.ts | 9 ++++++++- preset/login/utils/register.ts | 9 ++++++++- preset/menu/Layout.tsx | 4 +++- preset/menu/Menu.tsx | 12 +++++++++--- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/preset/login/utils/load.ts b/preset/login/utils/load.ts index 06eae92..a1eb414 100755 --- a/preset/login/utils/load.ts +++ b/preset/login/utils/load.ts @@ -5,8 +5,15 @@ const w = window as any; const parse = parser.exportAsFunctionAny("en-US"); export const loadSession = (url_login?: string) => { if (!isEditor) { + let id_site = "" + if (location.hostname === "prasi.avolut.com" ) { + const parts = location.pathname.split("/"); + id_site = parts[2]; + } + try { - const user = localStorage.getItem("user"); + const user = localStorage.getItem("user" + id_site); + console.log(user); if (user) { const raw = JSON.parse(user); w.user = raw.data; diff --git a/preset/login/utils/register.ts b/preset/login/utils/register.ts index 3089726..bd498a3 100755 --- a/preset/login/utils/register.ts +++ b/preset/login/utils/register.ts @@ -14,6 +14,13 @@ export const registerSession = (session: RG) => { data: session.data, 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; }; diff --git a/preset/menu/Layout.tsx b/preset/menu/Layout.tsx index 2676cd5..a118e7b 100755 --- a/preset/menu/Layout.tsx +++ b/preset/menu/Layout.tsx @@ -35,6 +35,7 @@ type LYTChild = { default_layout: ReactNode; exception?: Array; blank_layout: ReactNode; + login_url: string; }; export const Layout: FC = (props) => { @@ -62,8 +63,9 @@ export const Layout: FC = (props) => { fn(); const path = getPathname(); const no_layout = props.exception; + useEffect(() => { - loadSession("/auth/login"); + loadSession(props.login_url || "/auth/login"); render(); }, []); diff --git a/preset/menu/Menu.tsx b/preset/menu/Menu.tsx index a57a58e..42929d3 100755 --- a/preset/menu/Menu.tsx +++ b/preset/menu/Menu.tsx @@ -1,7 +1,7 @@ import { getPathname } from "lib/utils/pathname"; import { useLocal } from "lib/utils/use-local"; import get from "lodash.get"; -import { FC, ReactNode, useEffect } from "react"; +import { FC, useEffect } from "react"; import { IMenu, MenuProp } from "./utils/type-menu"; // import { icon } from "../../.."; @@ -10,19 +10,24 @@ export const Menu: FC = (props) => { let role = props.role; role = props.on_init(); let menu = get(imenu, role) || []; + console.log(menu); const pathname = getPathname(); + const local = useLocal({ open: [] as Array, cache: false, active: null as any, mode: "full" as "full" | "mini", }); + useEffect(() => { local.mode = props.mode; local.render(); }, [props.mode]); + 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)) { local.open.push(result); local.active = result; @@ -30,6 +35,7 @@ export const Menu: FC = (props) => { local.render(); } } + return (
, predicate: any) => { return result ? true : false; }; const findChild = (data: Array, 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)) { // kalau data ada yang cocok dari prediksi maka true, kalau gk jalankan false return data;