چیدمان‌ها

Ecme شش نوع چیدمان پس از ورود و سه نوع چیدمان احراز هویت ارائه می‌دهد، همه کامپوننت‌های چیدمان می‌توانند در دایرکتوری src/components/layouts/PostLoginLayout/components*یافت شوند و همه کامپوننت‌هایی که در چیدمان‌ها استفاده می‌شوند می‌توانند در src/components/template/*یافت شوند.

چیدمان‌های پس از ورود که داشتیم عبارت بودند از:

  • کناری جمع شونده - 'collapsibleSide'
  • کناری چیده شده - 'stackedSide'
  • نوار بالای کلاسیک - 'topBarClassic'
  • کناری بدون قاب - 'framelessSide'
  • پوشش محتوا - 'contentOverlay'
  • خالی - 'blank'
پیکربندی چیدمان

می‌توانید چیدمان اولیه را در src/configs/theme.config.ts با مقدار رشته‌ای بالا پیکربندی کنید

export const themeConfig = {
    ...
    layout: {
        type: 'framelessSide',
        ...
    },
}

اینجا مقادیر و کلید در دسترس برای پیکربندی فیلد layout

propertiesتوضیحاتنوعپیش‌فرض
typeنوع چیدمان برنامه'blank' | 'collapsibleSide' | 'stackedSide' | 'topBarClassic' | 'framelessSide' | 'contentOverlay''modern'
sideNavCollapseچه آیا ناوبری کناری باید جمع شود (فقط وقتی type برابر با 'classic' یا 'modern' است)booleanfalse
بازنویسی چیدمان‌ها

به طور کلی، همه نمایش‌های مسیر از تنظیمات چیدمان در theme.config.ts پیروی می‌کنند. با این حال، اگر مواردی وجود داشته باشد که می‌خواهید در یک مسیر نمایش خاص چیدمانی متفاوت نمایش دهید، می‌توانید مقدار چیدمانی که می‌خواهید در meta مسیر به جای چیدمان فعلی بازنویسی کنید، همانطور که در راهنمای مسیریابی ذکر شد.

export const protectedRoutes = {
    '/your-page-path': {
        key: 'keyForYourPage',
        authority: [ADMIN, USER],
        meta: {
            ...
            layout: 'blank',
        },
    },
}
چیدمان‌های احراز هویت

پیکربندی چیدمان احراز هویت کمی متفاوت از بالا است، فقط باید به src/app/(auth-pages)/layout.tsx مراجعه کنید و کامپوننت پوشش را جایگزین کنید. برای مثال، از side به simple تغییر دهید

1import { ReactNode } from 'react'
2import Side from '@/components/layouts/AuthLayout/Side'
3import Simple from '@/components/layouts/AuthLayout/Simple'
4// import Split from '@/components/layouts/AuthLayout/Split'
5
6const Layout = ({ children }: { children: ReactNode }) => {
7    return (
8        <div className="flex flex-auto flex-col h-[100vh]">
9            <Simple>
10            <Side>
11                {children}
12            </Simple>
13            <Side/>
14        </div>
15    )
16}
17
18export default Layout