1.0.14 • Published 2 years ago

@asurraa/sura-ui-pico-krubkrong-layout v1.0.14

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

Pico Krubkrong Layout

Example

import info from '@krubrkong/package';
import { useGlobalLoading } from '@krubrkong/share-hooks';
import { kPrimaryColor } from '@krubrkong/share-themes';
import { FC, ReactNode } from 'react';
import { AvatarPictureComponent } from '../../components/users-avatar/avatar-picture-component';
import { useAuthStore } from '../../hooks/useUser';
import {
  langKeyArrayData,
  setLangToLocalStorage,
} from '../../locales/i18n.main';
import { ROUTE_PATH } from '../../routers/path.route';
import { useSiderLayout } from '../../routers/sider-layout';
import { useGetUserInfo } from '../../services/users.service';
import {
  KrobkrongPicoLayout,
  KrubkrongPicoLayoutProvider,
  KrubkrongPicoMenuLayoutConfigInterface,
} from '../pico-layout/index';

export const PosMobileLayout: FC<{ children: ReactNode | JSX.Element }> = (
  props
) => {
  const { shopName } = useAuthStore();
  const { data: userData } = useGetUserInfo();
  const { logoutUserFunction: logoutUser } = useAuthStore();
  const { sideMenuMobile } = useSiderLayout();
  const { globalLoading } = useGlobalLoading();

  const menuConfig: KrubkrongPicoMenuLayoutConfigInterface = {
    layoutName: 'Krubkrong',
    shopName: shopName,
    firstNameLastName: `${userData?.firstname} ${userData?.lastname}`,
    userRole: userData?.role,
    avatar: userData?.avatar,
    appVersion: info?.version,
  };

  return (
    <KrubkrongMainPicoLayoutProvider
      layoutConfig={{
        defaultLayout: layoutStoreContext?.mode,
        onChangeLayout: (mode) => {
          const layoutMode: LayoutMode = mode;
          layoutStoreContext.onChangeMode?.(layoutMode);
        },
      }}
    >
      <KrubkrongPicoLayoutProvider
        menuRoutes={sideMenuMobile}
        logoutFunction={logoutUser}
        menuConfig={menuConfig}
        translateConfig={{
          translateData: langKeyArrayData,
          onChangeTranslate: (langKey: string) => {
            setLangToLocalStorage(langKey);
          },
        }}
        routeConfig={{
          LOGIN_PATH: ROUTE_PATH.LOGIN,
          SETTING_PATH: ROUTE_PATH.SETTING,
          MENU_PATH: ROUTE_PATH.MENU,
        }}
        themeConfig={{
          primaryColor: kPrimaryColor,
        }}
        renderAvatarUI={<AvatarPictureComponent />}
        loadingConfig={{ isGlobalLoading: globalLoading }}
      >
        <KrobkrongPicoLayout>{props?.children}</KrobkrongPicoLayout>
      </KrubkrongPicoLayoutProvider>
    </KrubkrongMainPicoLayoutProvider>
  );
};
1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago