Skip to content

Commit

Permalink
Small fixes
Browse files Browse the repository at this point in the history
Sending layout when menu is generated
  • Loading branch information
Luiyit committed Jul 27, 2023
1 parent 7c89059 commit 59c5bdc
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 22 deletions.
5 changes: 0 additions & 5 deletions core/components/base/analytics/gtm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,5 @@ export const pageview = (url: string) => {
event: "pageview",
page: url,
})
} else {
console.log({
event: "pageview",
page: url,
})
}
}
8 changes: 3 additions & 5 deletions core/components/base/dark_mode_switch.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@ const DarkModeSwitch = () => {
const { dark, setDark } = useTheme();

return (
<>
<div className="theme-mode-switch" onClick={() => setDark(!dark)}>
{dark && <FontAwesomeIcon icon={faSun} style={{marginInlineEnd: "8px"}}/>}
{!dark && <FontAwesomeIcon icon={faMoon} style={{marginInlineEnd: "8px"}}/>}
<span onClick={() => setDark(!dark)}>
{dark ? 'Light': 'Dark'} Mode
</span>
</>
{dark ? 'Light': 'Dark'} Mode
</div>
)
}

Expand Down
4 changes: 2 additions & 2 deletions core/components/base/layouts/main_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ const MainLayout: React.FC<MainLayoutProps> = ({ children, headerMenu, profileMe
const { mainLayout } = config
const { header, footerBar } = mainLayout

const menuItems = generateMenu(headerMenu, user);
const profileMenuItems = generateMenu(profileMenu, user);
const menuItems = generateMenu(headerMenu, user, "main");
const profileMenuItems = generateMenu(profileMenu, user, "main");
const { logo, favIcon} = getBrandAssets("main", dark, config)

return (
Expand Down
8 changes: 4 additions & 4 deletions core/components/base/layouts/sider_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ const SiderLayout: React.FC<SiderLayoutProps> = ({ children, siderMenu, headerMe
const config = useCoreConfig()
const { header, footerBar, template, sidebar } = config.siderLayout
const useFullSider = template === 'full-sider'

const siderMenuItems = generateMenu(siderMenu, user);
const headerMenuItems = generateMenu(headerMenu, user);
const profileMenuItems = generateMenu(profileMenu, user);
const siderMenuItems = generateMenu(siderMenu, user, "sider");
const headerMenuItems = generateMenu(headerMenu, user, "sider");
const profileMenuItems = generateMenu(profileMenu, user, "sider");

const { logo, favIcon} = getBrandAssets("sider", dark, config)

Expand Down
7 changes: 6 additions & 1 deletion core/components/base/session/session_avatar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,12 @@ const Avatar = ({ disabled, size = 35, displayName=true, menuItems }: Props) =>
const imageUrl = currentUser.imageUrl?.(user) || user.image

return (
<AvatarContainer menu={{ items: menuItems, style: { fontSize: "14px"} }} disabled={disabled}>
<AvatarContainer
className="ant-avatar-dropdown"
overlayClassName="ant-avatar-dropdown-overlay"
menu={{ items: menuItems, style: { fontSize: "14px"} }}
disabled={disabled}
>
<Flex onClick={(e: React.MouseEvent<HTMLDivElement>) => e.preventDefault()} alignItems="center" >
{displayName && <Text padding='0 5px'>{ user.name || emailName }</Text>}
{imageUrl && <AntAvatar size={size} src={<Image src={imageUrl} alt="avatar" width={size as number} height={size as number} />} /> }
Expand Down
2 changes: 1 addition & 1 deletion core/providers/config/helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ function getHeaderConfig(header: Partial<HeaderConfigI> | undefined): HeaderConf
heightInPx: numberToPixels(headerHeight),
useContainer: true,
useContainerOnSider: false,
disableDarkMode: true,
disableDarkMode: false,
fixed,
...restHeader,
} as HeaderConfigI
Expand Down
1 change: 1 addition & 0 deletions core/providers/config/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ interface Props extends ComponentProps {
}

const ConfigProvider: FC<Props> = ({ children, config }) => {
console.log(generateConfig(config))
const [state, setState] = useState<ProviderValueI>(generateConfig(config));

useOnChange(() => {
Expand Down
1 change: 1 addition & 0 deletions core/types/global_config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export interface HeaderConfigI {
height: number,
heightInPx: string,
useContainer: boolean,
// Dev Note: Won't have effect if you are using fixed header
disableDarkMode: boolean,
fixed?: FixedHeaderConfigI,
}
Expand Down
2 changes: 1 addition & 1 deletion core/types/menu.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export interface CoreMenuItemGroupType extends MenuItemGroupType{}
export interface CoreMenuDividerType extends MenuDividerType{}

export type MenuType = CoreMenuItemType | CoreSubMenuType | CoreMenuItemGroupType | CoreMenuDividerType;
export type MenuGeneratorType = ((session: Session["user"] | null) => MenuType[])
export type MenuGeneratorType = ((session: Session["user"] | null, layout: LayoutType) => MenuType[])
7 changes: 4 additions & 3 deletions core/utils/menu.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { MenuType, MenuGeneratorType, CoreMenuItemType, CoreSubMenuType } from "@core/types/menu";
import { MenuType, MenuGeneratorType, CoreSubMenuType } from "@core/types/menu";
import { Session } from 'next-auth';
import Link from 'next/link'
import * as antdIcons from '@ant-design/icons';
import { IHash } from "@core/types/util";
import { LayoutType } from '@interfaces/util';

const getIcon = (icon: string | undefined | null) => {

Expand Down Expand Up @@ -33,12 +34,12 @@ function transformItems(menu: MenuType[]): MenuType[] {
});
}

function generateMenu(menu: MenuType[] | MenuGeneratorType | undefined, user: Session["user"] | null): MenuType[]{
function generateMenu(menu: MenuType[] | MenuGeneratorType | undefined, user: Session["user"] | null, layout: LayoutType): MenuType[]{

if(!menu) return [];

let menuItems: MenuType[] = []
if(typeof menu === 'function') menuItems = menu(user);
if(typeof menu === 'function') menuItems = menu(user, layout);
else menuItems = menu;

return transformItems(menuItems);
Expand Down

0 comments on commit 59c5bdc

Please sign in to comment.