Rixzo - Typescript React Bootstrap Premium Admin & Dashboard Template
Rixzo - Typescript React Bootstrap Premium Admin Template, With these template formats, it's very easy to create a presence and grab someone's attention around the web page Because the template is built using React, CSS3, react bootstrap framework and with Sass. So please before you start working with the template take a quick look on the documentation so that you can easily built your website.
If You Love Our Template Design Please don't forgot to rate it. Thank you so much! 😊
Dashboard
Welcome to Rixzo – Typescript React Bootstrap Premium Admin & Dashboard Template- Created Date : 02/May/2025
- Author : Spruko
- Company : Spruko Technologies Private Limited
Thank you for showing interest towards our admin template. Feel free to contact us any time. We have a dedicated team to provide you the best support. If you want any queries open support ticket https://support.spruko.com.
Rixzo is a Typescript React-Bootstrap Admin Template using modern and minimal design. It is fully flexible user-friendly and responsive. Rixzo Modern template is powered with React Pages, SASS, & React-Bootstrap which looks great on Desktops, Tablets, and Mobile Devices. This Template Includes 180+ React Pages . No Need to do hard work for this template customization. We already designed it and you can easily design your website just how you like it. This template using React-Bootstrap framework. After Purchased this template you will get All tsx files,CSS and SCSS Files.
It has super clean flat user interface admin design, easy customizable components and widgets.The Template comes with a awesome unique design also we ensure you can easily design template.
It is a fully responsive layout for all type of devices. Works on all major web browsers, Desktop, iPhone, iPad, Tablet and all other smart phone devices
Once you Purchase Rixzo Typescript React-Bootstrap Admin Template, you will be able to get free download of all future updates.
- Firefox
- Safari
- Opera
- Chrome
- Edge
Theme Styles
- Light & Dark Themes
- LTR & RTL
- Vertical & Horizontal Navigation Styles
- Menu Click & Hover Styles
- Icon Click & Hover Styles
- Page Regular & Classic Styles
- Full Width & Boxed
- Menu Fixed & Scrollable
- Header Fixed & Scrollable
- Sidemenu Closed
- Icon Text Menu
- Icon Overlay
- Detached
- Double Menu
Theme Colors
- Menu Light
- Menu Dark
- Menu Color
- Menu Gradient
- Menu Transparent
- Header Light
- Header Dark
- Header Color
- Header Gradient
- Header Transparent
- Theme Primary
- Theme Background
- Menu With Background Images
No Jquery | Dark Layout | RTL Ready |
Icons | Authentication Pages | Error Pages |
180+ React Pages | Easy to Customize | React Bootstrap Responsive Framework |
Form Elements | Maps | Ratings |
Form Advanced | Form wizards | Profile Settings |
Grid JS Tables | Data Tables | Gallery |
Apex Charts | Chartjs Charts | Echarts |
Full Calendar | Sweet Alerts | Swiper JS |
Blog Pages | Mail App | Chat |
File Manager | Invoice | Landing Pages |
Pricing | Profile | Placeholders |
Project Pages | Ecommerce Pages | Job Pages |
NFT Pages | CRM Pages | Crypto Pages |
Ribbons | Sortable Js | Tour |
24 * 7 Professional Company Support | Media Player | Under Construction Page |
Color Theme Support (Primary and Background) | Neat, clean and simple design | W3C Validated |
Getting Started
Setting Up The Local Environment & Workspace
This comprehensive guide provides step-by-step instructions on how to set up your development environment for Vite using the React tool. It covers everything from the necessary prerequisites to installing the tool, creating an initial workspace, and setting up a starter app. You'll also learn how to run the app locally to test and verify your setup. By following this guide, you can ensure that your development environment is properly configured for Vite and React, and you can get started with your project confidently and efficiently. Whether you're a beginner or an experienced developer, this guide is an essential resource for anyone looking to work with Vite and React.
To get started with a React application, there are some prerequisites that you need to have in place.
Prerequisites
To use the React Framework, you should be familiar with the following:- React
- vite
- React Bootstrap
- Typescript
To install vite on your local System, you need the following:
Node.JS
vite requires a current, active LTS (long term support) or maintenance LTS (long term support) version of Node.js.
Download latest version of node.js from nodejs.org.Install Node.js using downloaded file.
To check your node version, run node -v in a terminal/console window (cmd)
Npm package Manager
The vite and React applications depend on npm packages for many features and functions.
To download and install npm packages, you need an npm package manager.
This guide uses the npm client command line interface, which is installed with Node.js by default. To check that you have the npm client installed,run npm -v in a terminal/console window (cmd)
For better understanding React we suggest you once go through official documentation of React from React Documentation and for vite Vite documentation
Creating a Component
The easiest way to create a component is with the React CLI. You can also create a component manually.
Creating a component using the React CLI
To create a component using the React CLI:
- From a terminal window, navigate to the directory containing your application
- Run the
generate-react-cli component <component-name>
command, where<component-name>
is the name of your new component.
generate-react-cli component <component-name>
By default, this command creates the following: - A folder named after the component
- A component file,
<component-name>
.component - A template file,
<component-name>
.component.tsx - A CSS file,
<component-name>
.component.css - A testing specification file,
<component-name>
.component.spec.ts
<component-name>
is the name of your component.
Vite Installation Setup
Create a workspace and initial application
You develop apps in the context of an vite-React workspace.
To create a new workspace and initial starter app just follow the below steps
- Run the command , as shown below
1.First step :
npm create vite@latest
This new command prompts for the information about features to include in the initial app. Accept the defaults by pressing the Enter
or Return key.
2.Second step:
provide your project name as my-app
Project name : my-app
3.Third step:
select your required framework you are familiar with,
Select a framework: React
4.Fourth step:
select your required script language you are familiar with,
Select a language: Typescript
The vite installs the necessary React npm packages and other dependencies. This can take a few minutes. This creates a new workspaces and
a simple Welcome app, ready to run.
Run the application
The vite includes a server, so that you can build and serve your app locally.
- Navigate to the workspace folder, such as my-app.
- Run the following commands:
cd my-app
npm run dev
The yarn or npm serve command launches the server, watches your files, and rebuilds the
app as you make changes to those files.
The run dev
just Option automatically opens your default
browser to http://localhost:5173/.
Rixzo Setup
If you have already download and install node.js and React then ignore prerequisites.
Prerequisites
Node.js
Download latest version of node.js from
nodejs.org.
Install Node.js using downloaded file.
To check your node version, run node -v in a terminal/console window (cmd)
React
To install the React using npm, open a terminal/console window and run the following command.
npm install react
(or)yarn install react
Setup an Rixzo Template by
- Download the Rixzo rar/zip file.
- Extract it and then go in to Folder here you will see a Rixzo Folders
- For Example
- Here, I'm Choosing vite-file.
- Now from a terminal window, navigate to the directory containing your application
- You can import all dependency by installing npm command
- Now you are in stage to successfully run Rixzo using below command:
Rixzo/vite-file>
npm install
(or)yarn install
Once you serve your application by default it will take their default port using http://localhost:5173/npm run dev
(or)yarn run dev
Note
npm install
If your are using npm install, You have to delete the
yarn-lock file
(or)
yarn install
If your are using yarn install, You have to delete the
package-lock.json file
basically npm i is used to install all dependencies or devDependencies from a package. if there will be any dependencies which need to be installed but getting error message while installing, then --force will help to install those dependencies.
The --force argument will force npm to fetch remote resources even if a local copy exists on disk. It will be on a last-dependency-downloaded-wins basis and will overwrite any previously downloaded dependencies.
npm install --force
if there is peer dependency issues while installingit will always skip peer dependencies (whatever those are) during installation even if there are no issues.
npm install--legacy-peer-deps
we have to use only one file example: (for yarn yarn-lock) & (for npm package-lock.json) file
Build Application
Build your application for host on server using below command:yarn run build
(or)npm run build
Installation Video
Rixzo-TS/
├── public
├── src
| ├── @spk-reusable-components/
| ├── assets/
| | ├── audio/
| | ├── css/
| | | ├── icons.css
| | | ├── icons.css.map
| | | ├── icons.min.css
| | | ├── icons.min.css.map
| | | ├── styles.css
| | | ├── styles.css.map
| | | ├── styles.min.css
| | | └── styles.min.css.map
| | ├── icon-fonts/
| | | ├── bootstrap-icons/
| | | ├── boxicons/
| | | ├── feather/
| | | ├── fontawesome/
| | | ├── line-awesome/
| | | ├── RemixIcons/
| | | └── tabler-icons/
| | ├── images/
| | ├── scss/
| | | ├── bootstrap/
| | | ├── custom/
| | | ├── global/
| | | ├── menu-styles/
| | | ├── pages/
| | | ├── util/
| | | ├── _bootstrap.scss
| | | ├── _switcher.scss
| | | ├── icons.scss
| | | └── styles.scss
| | └── video/
| ├── components/
| ├── container/
| ├── firebase/
| ├── pages/
| ├── index.scss
| ├── main.tsx
| ├── plugin.d.ts
| └── vite-env.d.ts
├── .eslintrc.json
├── .gitignore
├── index.html
├── package-lock.json
├── package.json
├── README.md
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
Folders Description
-
src/
: Root folder containing all source files for the project, including assets, components, and other resources. -
-
assets/
: Folder containing all the static assets for the template, including audio, images, fonts, and styles. -
-
audio/
: Folder containing all the audio files used in the project. -
css/
: Folder containing all the CSS files used in the template. -
global/
: Global styles applied across the template.icons.css
: CSS file for icon font styles.icons.css.map
: Source map for icon font styles.styles.css
: Main CSS file for the template.styles.min.css.map
: Minified source map for styles.variables.css
: CSS variables file for the template.
-
icon-fonts/
: Folder containing different icon font libraries. -
bootstrap-icons/
: Bootstrap icon set.boxicons/
: Boxicons icon set.feather/
: Feather icon set.line-awesome/
: Line Awesome icon set.Remixicons/
: Remixicon set.tabler-icons/
: Tabler icons set.
-
images/
: Folder containing image assets used in the template. -
scss/
: Folder containing SCSS files for different pages and components. -
bootstrap/
: SCSS files for Bootstrap components.custom/
: Custom SCSS files for template-specific styling.global/
: Global SCSS files for the template.menu-styles/
: SCSS for menu styling.pages/
: SCSS files specific to individual pages.util/
: Utility SCSS files for various helper styles._bootstrap.scss
: Bootstrap variables and customizations._switcher.scss
: SCSS for theme switcher functionality._variables.scss
: SCSS variables used across the template.icons.scss
: SCSS for managing icon fonts.styles.scss
: Main SCSS file compiling all other SCSS files into the final styles.
-
video/
: Folder containing video files used in the template.
-
-
components/
:Common components like header, sidebar, theme switcher, and other reusable UI elements. -
container/
: Folder for components of the template. -
firebase/
: Folder containing Firebase-related components and services. -
pages/
: Folder containing layouts for the template. -
index.scss
: Main SCSS file for the entry point of the styles. main.tsx
: Main TypeScript file for setting up routing in the React application.-
plugin.d.ts
: TypeScript declaration file for custom plugins. -
vite-env.d.ts
: TypeScript environment declarations for Vite-based projects.
-
Purpose of a starter kit
Introduction to the React Typescript Starter Kit Template:
The React template starterkit is a resource that helps developers kickstart their React web development projects by providing a preconfigured and ready-to-use template. It aims to simplify the initial setup and provide a foundation for building React-based websites or applications.
Purpose of the React Starter Kit Template:
The purpose of the React Starter Kit Template is to save developers time and effort by offering a set of prebuilt files and configurations commonly used in React projects. Instead of starting from scratch, developers can leverage the starter kit to quickly set up a project structure that adheres to best practices and industry standards.
Benefits of Using the React Starter Kit Template:
The starter kit eliminates the need to set up the basic project
structure manually. It provides a well-organized file and folder
structure, including commonly used directories for separating code,
templates, assets, and configuration files. This allows developers to
focus more on implementing business logic rather than spending time on
initial setup.
Before using the React Starter Kit Template, developers should have a
basic understanding of React and web development concepts.
Starterkit Overview
You can use the Starterkit if you are creating a new project. It will be time-consuming to use the full admin version for a new project as Rixzo-React Typescript have more than 150 components.
We have provided all the pre-build layouts like Sidemenu, Header, footer and blank pages etc in the Starterkit.
For further information or support regarding the template, please contact us using the provided link.
https://support.spruko.com/Starterkit Folder Structure
starterkit/
├── public
├── src
| ├── @spk-reusable-components/
| ├── assets/
| | ├── audio/
| | ├── css/
| | ├── iconfonts
| | ├── images
| | ├── scss
| | └── video
| ├── components/
| ├── container/
| ├── pages/
| ├── index.scss
| ├── main.tsx
| ├── plugin.d.ts
| └── vite-env.d.ts
├── .eslintrc.json
├── .gitignore
├── eslint.config.js
├── index.html
├── package.json
├── README
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
- Take a quick look at the folder structure of the "Starterkit."
- Integration of your customized React pages becomes easy when using the "Starterkit."
- The "Starterkit" provides all the layout components, related assets, and plugins.
- To explore the contents of the "Starterkit," unzip the project folder received after purchase.
src/
├── assets/
| |-- audio/
| |-- css/
| |-- icon-fonts/
| | |-- bootstrap-icons/
| | |-- boxicons/
| | |-- feather/
| | |-- fontawesome/
| | |-- line-awesome/
| | |-- Remixicons/
| | └── tabler-icons/
| |-- images/
| |-- scss/
| | |-- bootstrap/
| | |-- custom/
| | |-- menu-styles/
| | |-- pages/
| | |-- util/
| | |-- _bootstrap.scss/
| | |-- _switcher.scss
| | |-- _variables.scss
| | |-- icons.scss
| | └── styles.scss
| └── video/
|-- container/
|-- advanced-ui/
|-- apps/
|-- authentication/
|-- charts/
|-- dashboard/
|-- forms/
|-- icons/
|-- maps/
|-- pages/
|-- tables/
|-- ui-elements/
|-- utilities/
└── widgets/
Basic Layout Structure
Root:src\pages\App.tsx
To handle the navigation from one view to the next, you use the React Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view. Your complete route structure is place at main.tsx file under src » main.tsx
Suppose you want to create a new module ( For creating a new module refer create new module ) then you have to add new routes for that modules.
Basic Route
Following are the fundamental building blocks to creating a route.
- Import the
main.tsx
intoApp.tsx
and add it to the imports array.
import React, { Fragment, lazy } from 'react';
import ReactDOM from 'react-dom/client';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
//component import
import App from './pages/App.tsx';
import Crm from './container/dashboards/crm/crm.tsx';
import Ecommerce from './container/dashboards/ecommerce/ecommerce.tsx';
import Crypto from './container/dashboards/crypto/crypto.tsx'
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.Fragment>
<BrowserRouter>
<React.Suspense>
<Routes>
<Route path={`${import.meta.env.BASE_URL}/`} element={<App />}>
<Route index element={<Sales />} />
<Route path={`${import.meta.env.BASE_URL}dashboards/sales`} element={<Sales />}/>
<Route path={`${import.meta.env.BASE_URL}dashboards/analytics`} element={<Analytics />}/>
<Route path={`${import.meta.env.BASE_URL}dashboards/ecommerce`} element={<Ecommerce />}/>
</Route>
</Routes>
</React.Suspense>
</BrowserRouter>
</Fragment>
)
Configure Link in Menu
To Add new link in Sidemenu
Following are the fundamental building blocks to creating a new link.
├── node_modules
├── src
├── components
├── common
├── sidebar
├── nav.tsx
Ex: {
menutitle: "MAIN",
},
{
title: "Dashboards", icon: Dashboardicon, type: "sub", active: false, dirchange: false, children: [
{ path: `${import.meta.env.BASE_URL}dashboards/sales`, type: "link", active: false, selected: false, dirchange: false, title: "Sales" },
{ path: `${import.meta.env.BASE_URL}dashboards/ecommerce`, type: "link", active: false, selected: false, dirchange: false, title: "Ecommerce" },
{ path: `${import.meta.env.BASE_URL}dashboards/crypto`, type: "link", active: false, selected: false, dirchange: false, title: "Crypto" },
{ path: `${import.meta.env.BASE_URL}dashboards/jobs`, type: "link", active: false, selected: false, dirchange: false, title: "Jobs" },
{ path: `${import.meta.env.BASE_URL}dashboards/nft`, type: "link", active: false, selected: false, dirchange: false, title: "NFT" },
{ path: `${import.meta.env.BASE_URL}dashboards/crm`, type: "link", active: false, selected: false, dirchange: false, title: "CRM" },
{ path: `${import.meta.env.BASE_URL}dashboards/analytics`, type: "link", active: false, selected: false, dirchange: false, title: "Analytics" },
{ path: `${import.meta.env.BASE_URL}dashboards/projects`, type: "link", active: false, selected: false, dirchange: false, title: "Projects" },
{ path: `${import.meta.env.BASE_URL}dashboards/hrm`, type: "link", active: false, selected: false, dirchange: false, title: "HRM" },
{ path: `${import.meta.env.BASE_URL}dashboards/stocks`, type: "link", active: false, selected: false, dirchange: false, title: "Stocks" },
{ path: `${import.meta.env.BASE_URL}dashboards/courses`, type: "link", active: false, selected: false, dirchange: false, title: "Courses" },
{ path: `${import.meta.env.BASE_URL}dashboards/medical`, type: "link", active: false, selected: false, dirchange: false, title: "Medical" },
{ path: `${import.meta.env.BASE_URL}dashboards/pos-system`, type: "link", active: false, selected: false, dirchange: false, title: "POS System" },
{ path: `${import.meta.env.BASE_URL}dashboards/podcast`, type: "link", active: false, selected: false, dirchange: false, title: "Podcast" },
{ path: `${import.meta.env.BASE_URL}dashboards/school`, type: "link", active: false, selected: false, dirchange: false, title: "School" },
{ path: `${import.meta.env.BASE_URL}dashboards/social-media`, type: "link", active: false, selected: false, dirchange: false, title: "Social Media" },
]
},
Introduction :
This documentation outlines the process of converting SCSS (Sassy CSS) files to standard CSS (Cascading Style Sheets) in a project's assets directory using the SASS package. SCSS is a preprocessor for CSS, and SASS is a popular choice for transforming SCSS into CSS efficiently. This guide provides step-by-step instructions on installing the SASS package, configuring it in your project, and converting SCSS files to CSS.
-
Prerequisites
Before proceeding, ensure that you have the following prerequisites:
Node.js installed on your system.
A project directory with SCSS files that you want to compile into CSS.
Installation :
Install the SASS package using npm (Node Package Manager) by running the following command:
npm install sass
This command will download and install the SASS package and its dependencies into your project.
Configuration :
To configure SASS for your project, follow these steps:
-
1. Open your project's
package.json
file. If you don't have one, you can create it by running npm init and following the prompts. -
2. Inside the
package.json
file, locate the "scripts" section. If it doesn't exist, create one:"scripts": { // ...existing scripts... }
-
3. Add a script that specifies the compilation process from SCSS to CSS. You can name the script as you prefer, but for this example, we'll name it "sass." The script should look like this:
"scripts": { "sass": "sass ./public/assets/scss:./public/assets/css/" }
In the script above, replace
./public/assets/scss
with the path to your SCSS files and./public/assets/css
with the destination directory for your compiled CSS files. -
4. Add a script that specifies the compilation compressed process from SCSS to CSS. You can name the script as you prefer, but for this example, we'll name it "sass-min." The script should look like this:
"scripts": { "sass-min": "sass ./public/assets/scss:./public/assets/css/ --style compressed" }
In the script above, replace
./public/assets/scss
with the path to your SCSS files and./public/assets/css
with the destination directory for your compiled CSS files. -
5. Save the
package.json
file.
Compiling SCSS to CSS :
With the SASS package and script configured, you can now compile your SCSS files to CSS with the following steps:
-
1. Open your terminal or command prompt.
-
2. Navigate to your project's root directory if you're not already there.
-
3. Execute the following command to run the "sass" script:
npm run sass
This command will initiate the SCSS to CSS compilation process using the SASS package.
-
4. Execute the following command to run the "sass-min" script:
npm run sass-min
This command will initiate the SCSS to CSS compilation compressed process using the SASS package.
-
5. Once the process is complete, the compiled CSS files will be generated in the specified destination directory (e.g., ./public/assets/css).
Conclusion :
You have successfully configured and used the SASS package to convert SCSS files to CSS in your project. This allows you to take advantage of SCSS's powerful features while ensuring that your web application uses standard CSS for styling.
Firebase SetUp
Step-1: Now run below commands inside our React project to install firebase latest.
npm install firebase --save
step-2: Add firebase API configuration details(create database on firebase) to the firebase Auth Component refer the path (\src\firebase\firebaseapi.tsx)
const firebaseConfig = {
apiKey: "***",
authDomain: "***",
projectId: "***",
storageBucket: "***",
messagingSenderId: "***",
appId: "***",
measurementId: "***",
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
const auth = firebase.auth();
export { db, auth };
Firebase Revocation process
step-1: Remove your whole firebase folder from the template the path as follow root:src/firebase
step-2: Remove from the Routing file src/main.jsx
<
Route path={`${import.meta.env.BASE_URL}/`} element={<
Auth />}>
<
Route index element={<
Login />} />
<
Route path={`${import.meta.env.BASE_URL}firebase/login`} element={<
Login />} />
<
Route path={`${import.meta.env.BASE_URL}firebase/signup`} element={<
Signup />}/>
<
/Route>
Note: change the index element to dashboard index page
step-3: Remove the path from the Header section src\components\header\header.tsx
<
li><
a className="w-full ti-dropdown-item !text-[0.8125rem] !p-[0.65rem] !gap-x-0 !inline-flex" href="sign-in-cover.html">
<
i className="ti ti-logout text-[1.125rem] me-2 opacity-[0.7]"><
/i>Log Out<
/a><
/li>
<
Dropdown.Item as="li" className="d-flex" >
<
i className="ti ti-logout fs-18 me-2 op-7"><
/i>Log Out<
/Dropdown.Item>
step-4: Remove the firbase package from package.json/package.json
and re-install the node Modules
Firebase installation process
General Style
Step 1:
Go To style.scss (src/assets/scss/styles.scss )
if you want to change another font-family Go to the site Google Fonts And Select One font Family and import in to styles.scss file
How to Select font Family
Example:
Step 2:
And paste Your Selected font-family in style.scss
Example:
Step 3:
And add the Your Selected font-family in _variables.scss(src/assets/scss/_variables.scss)
Example:
--default-font-family: "Montserrat", sans-serif;
By default menu icons are in the from remix icon if you want to change the icons please follow below steps
Step 1 :
To change Menu icons, open nav.tsx page
Path:src\components\sidebar\nav.tsx
and go through app-sidebar section, in that section
you will find
icon
tag, there you can replace previous icon
with your icon. Example as shown in below
Before: (Iconscout Icons)
const Dashboardicon = svg xmlns="http://www.w3.org/2000/svg" className="side-menu__icon" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368">
export const MENUITEMS: Menuitemtype[] = [
{
menutitle: "main",
},
{
title: "Dashboards", icon: Dashboardicon, type: "sub", active: false, dirchange: false, children: [
{ path: `${import.meta.env.BASE_URL}dashboards/sales`, type: "link", active: false, selected: false, dirchange: false, title: "Sales" },
]
}
]
After: (Feather Icons)
const DashboardIcon = Modify the SVG here according to your needs.
export const MENUITEMS: Menuitemtype[] = [
{
menutitle: "main",
},
{
title: "Dashboards", icon: Dashboardicon, type: "sub", active: false, dirchange: false, children: [
{ path: `${import.meta.env.BASE_URL}dashboards/sales`, type: "link", active: false, selected: false, dirchange: false, title: "Sales" },
]
}
]
Go To "src\assets\images\brand-logos" folder and replace your logo with Previous Logos within in image size. note: Please don't increase logo sizes. Replace your logo within given image size. otherwise the logo will not fit in particular place it disturbs the template design.
To change Layout Theme
open reducer.tsx
path:(\src\components\common\ui\redux\reducer.tsx)
.
Theme Array Documentation
The theme array provided below is designed to control the layout and styling of a web application. By modifying the values in this array, you can change the visual appearance and behavior of various components in the application. The array includes settings related to color schemes, layout styles, header and menu styles, and more.
Initial State
The initial state of the theme array defines the default values for different aspects of the application's appearance and behavior. These values are used as a starting point and can be dynamically modified using the provided functions.
let initialState = {
lang: "en", // Default language
dir: "ltr", // Default text direction (ltr or rtl)
: "light", // Default color scheme (light or dark)
dataMenuStyles: "light", // Default menu style (dark, light, color, gradient, transparent)
dataNavLayout: "vertical", // Default navigation layout (vertical or horizontal)
dataHeaderStyles: "transparent", // Default header style (light, dark, color, gradient, transparent)
dataVerticalStyle: "overlay", // Default vertical menu style (overlay, icon-text, detached, doublemenu)
toggled: "", // Default menu toggle state (open or closed)
dataNavStyle: "", // Default navigation style (menu-click, menu-hover, icon-click, icon-hover)
dataPageStyle: "regular", // Default page style (regular or classic)
dataWidth: "default", // Default page width (fullwidth or boxed)
dataMenuPosition: "fixed", // Default menu position (fixed or scrollable)
dataHeaderPosition: "fixed",// Default header position (fixed or scrollable)
loader:"disable", / Default loader (enable or disable)
iconOverlay: "", // Default icon overlay state (empty)
colorPrimaryRgb: "", // Default primary color (RGB format)
colorPrimary: "", // Default primary color (space-separated RGB values)
bodyBg1: "", // Default body background color1 (empty)
bodyBg2: "", // Default body background color2 (empty)
Light: "", // Default body background color (empty)
Formcontrol: "", // Default body background color (empty)
inputBorder: "", // Default dark inputBorder color (empty)
Graycolor: "", // Default dark background color (empty)
bgImg: "", // Default background image (empty)
iconText: "", // Default icon text style (empty)
body: {
class: "" // Default body class (empty)
}
};
Theme Modification Functions
to Change the Modification Functions open
switcherdata.tsx
path:(src\components\common\data\switcherdata\switcherdata.tsx)
.
The provided functions allow you to modify specific aspects of the theme array, enabling real-time customization of the application's appearance. Below are some of the key functions that can be used to change various theme properties:
Dark(actionfunction)
: Switches the theme to a dark color scheme. Updates class, header style, and menu style accordingly.Light(actionfunction)
: Switches the theme to a light color scheme. Adjusts header and menu styles based on the navigation layout.Ltr(actionfunction)
: Sets the text direction to left-to-right.Rtl(actionfunction)
: Sets the text direction to right-to-left.HorizontalClick(actionfunction)
: Changes the navigation layout to horizontal and adapts menu and vertical style based on the color scheme.Vertical(actionfunction)
: Sets the navigation layout to vertical, adjusts menu and vertical style, and closes the menu if open.Menuclick(actionfunction)
: Sets the navigation style to "menu-click," hides vertical style, and changes the toggle state.MenuHover(actionfunction)
: Sets the navigation style to "menu-hover," hides vertical style, and changes the toggle state.IconClick(actionfunction)
: Sets the navigation style to "icon-click," hides vertical style, and changes the toggle state.IconHover(actionfunction)
: Sets the navigation style to "icon-hover," hides vertical style, and changes the toggle state.Regular(actionfunction)
: Sets the page style to regular and removes the classic page style.Classic(actionfunction)
: Sets the page style to classic and removes the regular page style.Fullwidth(actionfunction)
: Sets the page width to full width and removes the boxed width.Boxed(actionfunction)
: Sets the page width to boxed and removes the full width.FixedMenu(actionfunction)
: Sets the menu position to fixed and removes the scrollable menu position.scrollMenu(actionfunction)
: Sets the menu position to scrollable and removes the fixed menu position.Headerpostionfixed(actionfunction)
: Sets the header position to fixed and removes the scrollable header position.Headerpostionscroll(actionfunction)
: Sets the header position to scrollable and removes the fixed header position.Defaultmenu(actionfunction)
: Sets the vertical menu style to default, closes the menu, and adjusts the navigation layout.Closedmenu(actionfunction)
: Sets the vertical menu style to closed, adjusts the navigation layout, and changes the toggle state.iconText(actionfunction)
: Sets the vertical menu style to icon-text, adjusts the navigation layout, and changes the toggle state.iconOverayFn(actionfunction)
: Sets the vertical menu style to overlay with icons, adjusts the navigation layout, and changes the toggle state.DetachedFn(actionfunction)
: Sets the vertical menu style to detached, adjusts the navigation layout, and changes the toggle state.DoubletFn(actionfunction)
: Sets the vertical menu style to double menu, adjusts the navigation layout, and changes the toggle state.colorMenu(actionfunction)
: Changes the menu style to color.lightMenu(actionfunction)
: Changes the menu style to light.darkMenu(actionfunction)
: Changes the menu style to dark.gradientMenu(actionfunction)
: Changes the menu style to gradient.transparentMenu(actionfunction)
: Changes the menu style to transparent.lightHeader(actionfunction)
: Changes the header style to light.darkHeader(actionfunction)
: Changes the header style to dark.colorHeader(actionfunction)
: Changes the header style to color.gradientHeader(actionfunction)
: Changes the header style to gradient.transparentHeader(actionfunction)
: Changes the header style to transparent.primaryColor1(actionfunction)
toprimaryColor5(actionfunction)
: Changes the primary color of the theme.backgroundColor1(actionfunction)
tobackgroundColor5(actionfunction)
: Changes the background color of the theme.Themeprimarycolor(actionfunction)
: Provides a color picker interface to dynamically change the primary color of the theme.Themebackgroundcolor(actionfunction)
: Provides a color picker interface to dynamically change the background color of the theme.bgImage1(actionfunction)
tobgImage5(actionfunction)
: Changes the background image of the theme.Reset(actionfunction)
: Resets the theme to its initial state, clearing all customization.
Disabling Switcher
Step1:
Open header.tsx component
src\components\header\header.tsx
To remove switcher section as shown below.
<Link to="#!" className="header-link switcher-icon" data-bs-toggle="offcanvas" onClick={handleShow} data-bs-target="#switcher-canvas">
<svg xmlns="http://www.w3.org/2000/svg" className="header-link-icon" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"></path></svg>
</Link>
Step2:
Remove the switcher
component from the
main layout follow the path
Path: src\pages\App.tsx
import Switcher from "../components/switcher/switcher"
<Switcher />
Step3:
Now remove the switcher component and switcherData file
from the root folder, follow the path
Switcher component ../components/switcher/switcher
and
switcherdata file from src\components\common\data\switcherdata\switcherdata.tsx
Step1:
Open layout.tsx component
\apps/components/authentication-layout/layout.tsx
To remove switcher section as shown below.
import Switcher from "../components/switcher/switcher"
<Switcher />
Step2:
Remove theLandingSwitcher
component from the
main layout follow the path
\app\(components)\(landing-layout)\layout.tsx
import LandingSwitcher from '../components/switcher/landing-switcher';
<Landingswitcher />
Step3:
Now remove the landingswitcher component from the root
folder, follow the path
\src\components\switcher\landing-switcher.tsx
and
(Root:apps/components/layout.tsx)
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-width="fullwidth" data-menu-styles="dark" data-toggled="close">
Attribute | Description |
---|---|
data-theme-mode="light"
data-header-styles="light"
data-menu-styles="light"
|
To set the light theme |
data-theme-mode="dark"
data-header-styles="dark"
data-menu-styles="dark"
|
To set the Dark theme |
dir="ltr"
|
To set LTR version default |
dir="rtl"
|
To set LTR version to RTL version |
data-nav-layout="vertical"
|
To set menu layout to vertical |
data-nav-layout="horizontal"
data-nav-style="menu-click"
|
To set menu layout to horizontal |
data-nav-style="menu-click"
|
To set navigation style to menu click - *Works same for both vertical and horizontal |
data-nav-style="menu-hover"
|
To set navigation style to menu hover - *Works same for both vertical and horizontal |
data-nav-style="icon-click"
|
To set navigation style to icon click - *Works same for both vertical and horizontal |
data-nav-style="icon-hover"
|
To set navigation style to icon hover - *Works same for both vertical and horizontal |
data-page-style="regular"
|
To set page style to Default |
data-page-style="classic"
|
To set page style to Classic |
data-width="fullwidth"
|
To set page width to Full Width |
data-width="boxed"
|
To set page width to Boxed |
data-menu-position="fixed"
|
To set menu position Fixed |
data-menu-position="scrollable"
|
To set menu position Scrollable |
data-header-position="fixed"
|
To set header position Fixed |
data-header-position="scrollable"
|
To set header position Scrollable |
data-vertical-style="closed"
|
To set sidemenu layout style Closed - *Does not work for horizontal |
data-vertical-style="icontext"
|
To set sidemenu layout style Icon Text - *Does not work for horizontal |
data-vertical-style="overlay"
|
To set sidemenu layout style Icon Overlay - *Does not work for horizontal |
data-vertical-style="detached"
|
To set sidemenu layout style Detached - *Does not work for horizontal |
data-vertical-style="doublemenu"
|
To set sidemenu layout style Double Menu - *Does not work for horizontal |
loader="enable"
|
To enable loader by default |
(Root:apps/components/layout.tsx)
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-width="fullwidth" data-menu-styles="dark" data-toggled="close">
Attribute | Description |
---|---|
data-menu-styles="light"
|
To set the menu style to light |
data-menu-styles="dark"
|
To set the menu style to dark |
data-menu-styles="color"
|
To set the menu style to color |
data-menu-styles="gradient"
|
To set the menu style to gradient |
data-menu-styles="transparent"
|
To set the menu style to transparent |
data-header-styles="light"
|
To set the header style to light |
data-header-styles="dark"
|
To set the header style to dark |
data-header-styles="color"
|
To set the header style to color |
data-header-styles="gradient"
|
To set the header style to gradient |
data-header-styles="transparent"
|
To set the header style to transparent |
data-bg-img="bgimg1"
|
To set menu background image1 |
data-bg-img="bgimg2"
|
To set menu background image2 |
data-bg-img="bgimg3"
|
To set menu background image3 |
data-bg-img="bgimg4"
|
To set menu background image4 |
data-bg-img="bgimg5"
|
To set menu background image5 |
Refer following links for usage:
Icons | References |
---|---|
Bootstrap Icons | https://icons.getbootstrap.com/ |
Boxicons | https://boxicons.com/ |
Remix Icons | https://remixicon.com/ |
Feather Icons | https://feathericons.com/ |
Fontawesome Icons | https://fontawesome.com/icons |
Tabler Icons | https://tabler-icons.io/ |
Line Awesome Icons | https://icons8.com/line-awesome |
Material Icons | https://fonts.google.com/icons?icon.set=Material+Icons&icon.style=Two+tone |
Refer following links for usage:
Images | References |
---|---|
Vecteezy | https://www.vecteezy.com/ |
Iconscount | https://iconscout.com/ |
Unsplash | https://unsplash.com/ |
Png Tree | https://pngtree.com/ |
flaticon | https://www.flaticon.com/authors/flat-icons |
freepik | https://www.freepik.com |
Refer following links for usage:
Google Fonts | https://fonts.google.com/ |
Refer following links for usage:
All plugins runs through npm.
If you want new plugins : Install new plugin from npm then run
npm run dev
command.
1. You need to add these files to make it work.
Type | URL |
---|---|
Plugin Link | https://swiperjs.com/get-started/ |
1. You need to add these files to make react-apexchart work.
Type | URL |
---|---|
Plugin Link | https://apexcharts.com/react-chart-demos/ |
1. You need to add these files to make basic react-suneditor work.
Type | URL |
---|---|
Plugin Link | https://www.npmjs.com/package/suneditor-react |
1. You need to add these files to make basic react-datepicker work.
Type | URL |
---|---|
Plugin Link | https://www.npmjs.com/package/react-datepicker |
1. You need to add these files to make basic react-select work.
Type | URL |
---|---|
Plugin Link | https://www.npmjs.com/package/react-select |
1. You need to add below files to make basic gridjs table work.
Type | URL |
---|---|
Plugin Link | https://www.npmjs.com/package/gridjs-react |
1. You need to add these files to make basic default table work.
1. You need to add these files to make react toastify work.
Type | URL |
---|---|
Plugin Link | https://www.npmjs.com/package/react-toastify |
1. You need to add these files to make react rating work.
Type | URL |
---|---|
Plugin Link | https://mui.com/material-ui/react-rating/ |
1. You need to add these files to make alerts work.
1. You need to add these files to make buttons work.
1. You need to add these files to make badges work.
1. You need to add these files to make button group work.
1. You need to add these files to make cards work.
1. You need to add these files to make breadcrumb work.
1. You need to add these files to make dropdown work.
1. You need to add these files to make tooltips work.
1. You need to add these files to make popovers work.
1. You need to add these files to make Progress work.
1. You need to add these files to make List Group work.
1. You need to add these files to make toast work.
1. You need to add these files to make accordions work.
1. You need to add these files to make carousel work.
Please follow the below steps to change Primary Color
Step 1 :
To change Primary Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (public/assets/scss/_variables.scss )
After making the change, run the npm run sass
command.
Please follow the below steps to change Dark body Color
Step 1 :
Make sure the theme is set completely to dark mode by adding the following attributes to the html tag data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
Step 2 :
To change Dark body Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (public/assets/scss/_variables.scss )
Step 3 :
Also Change the following variable colors to the desired theme background accordingly in [data-theme-mode="dark"]
--light-rgb :--form-control-bg :
--input-border :
--gray-3 :
After making the change, run the npm run sass
command.