Crema React
v-4 nx
v-4 nx
  • About Crema Nx
  • Overview
    • Crema Overview
    • Dependency Graph
    • Folder Structure
      • apps
        • source
        • source-e2e
      • libs
        • components
        • constants
        • context
        • helpers
        • hooks
        • mockapi
        • modules
        • services
    • Package.json
      • MUI+CRA
      • MUI+Next.js
      • MUI+CRA+TS
      • MUI+Next.js+TS
      • Antd+CRA
      • Antd+Next.js
      • Antd+CRA+TS
      • Antd+Next.js+TS
    • GitHub Access
    • Slack Community
    • Figma File
  • Decelopment
    • Installation
    • Route Management
    • Auth User
    • Authentication Methods
    • API Calls
    • Multilingual
  • MUI
    • Theme Color
    • Sidebar Configuration
    • Navigation Style
    • Footer Configuration
    • Template Direction
    • Template Mode
  • FAQ
  • ANTD
    • About Crema Ant
    • Style Framework
  • Crema V-3 Doc
  • Servers
    • Python
    • Laravel
    • Mongoose
  • Credits
Powered by GitBook
On this page

Was this helpful?

  1. MUI

Sidebar Configuration

Last updated 2 years ago

Was this helpful?

To change the sidebar selected menu color set you can directly select from the UI using the right setting icon

<==== To set the new color theme of the left sidebar, you need to update the following param in the file libs/constants/src/defaultConfig.js

import { MenuStyle, ThemeMode } from './AppEnums';

export const DarkSidebar = {
  sidebarBgColor: '#313541',
  sidebarTextColor: '#fff',
  sidebarHeaderColor: '#313541',
  sidebarMenuSelectedBgColor: '#F4F7FE',
  sidebarMenuSelectedTextColor: 'rgba(0, 0, 0, 0.87)',
  mode: ThemeMode.DARK,
};

export const LightSidebar = {
  sidebarBgColor: '#fff',
  sidebarTextColor: 'rgba(0, 0, 0, 0.60)',
  sidebarHeaderColor: '#fff',
  sidebarMenuSelectedBgColor: '#F4F7FE',
  sidebarMenuSelectedTextColor: 'rgba(0, 0, 0, 0.87)',
  mode: ThemeMode.LIGHT,
};

const defaultConfig = {
  sidebar: {                        // update sidebar configuration according
    borderColor: '#757575',         // to your requirement
    menuStyle: MenuStyle.DEFAULT,
    allowSidebarBgImage: false,
    sidebarBgImageId: 1,
    colorSet: LightSidebar,
  },
  ...
};

In the sidebar object, we have a colorSet object of the sidebar theme configuration. The color set has "mode" properties to differentiate between light and dark sidebar

import { MenuStyle, ThemeMode } from './AppEnums';

export const DarkSidebar: SidebarData = {
  sidebarBgColor: '#313541',
  sidebarTextColor: '#fff',
  sidebarHeaderColor: '#313541',
  sidebarMenuSelectedBgColor: '#F4F7FE',
  sidebarMenuSelectedTextColor: 'rgba(0, 0, 0, 0.87)',
  mode: ThemeMode.DARK,
};
export const LightSidebar: SidebarData = {
  sidebarBgColor: '#fff',
  sidebarTextColor: 'rgba(0, 0, 0, 0.60)',
  sidebarHeaderColor: '#fff',
  sidebarMenuSelectedBgColor: '#F4F7FE',
  sidebarMenuSelectedTextColor: 'rgba(0, 0, 0, 0.87)',
  mode: ThemeMode.LIGHT,
};

const defaultConfig = {
  sidebar: {
  ...
    allowSidebarBgImage: true,  // set this flag to true to allow sidebar bg image
    sidebarBgImageId: 1,        // update image id according to your choice
   },
  ...,
}

You can set your different image set in this sidebarBgImages object in the libs/mockapi/src/fakedb/navigationStyle.js

export const sidebarBgImages = [
  {
    id: 1,
    image: "/assets/images/sidebar/thumb/1.png", // image name should be same as id
  },
  ...
];

In case you want to change the selected menu style then you need to update menuStyle. libs/constants/src/defaultConfig.js

const defaultConfig = {
  sidebar: {
    ...
    menuStyle: MenuStyle.DEFAULT, // Change Menu style according to your requirement.
    ...
  },
  ...
}

Here is the menu style for other options.

export enum MenuStyle {
  DEFAULT = "default",
  STANDARD = "standard",
  ROUNDED = "rounded",
  ROUNDED_REVERSE = "rounded-reverse",
  CURVED_MENU = "curved-menu",
}

If we want to enable the sidebar background image we need to set isSidebarBgImage: true. <==== If we need to change the image of the background then we need to update the following object values below in libs/constants/src/defaultConfig.js