Sumea Dashboard Docs (NextJs)
Thank you for purchasing my theme. If you have any questions that are beyond the scope of this help file, please feel free to email via: tomasz.owczarczyk@me.com. Thanks so much!
Last updated
Thank you for purchasing my theme. If you have any questions that are beyond the scope of this help file, please feel free to email via: tomasz.owczarczyk@me.com. Thanks so much!
Last updated
Airframe Dashboard with a minimalist design and innovative Light UI will let you build an amazing and powerful application with great UI. Perfectly designed for large scale applications, with detailed step by step documentation.
This Airframe project is based on - a popular framework made for React with great Server Side Rendering support. Includes customized for Bootstrap support. Any topic that you won't find here is probably described in NextJs documentation.
Note: If you want to use this project in production, you will need a server supporting NodeJs.
You need to have (>= 10.0.0) installed on your local machine, before attempting to run a dev environment.
Extract contents of the package to your local machine.
Using the Terminal navigate to the extracted contents.
Run npm install
.
Make sure you have a file called .npmrc
in the extracted directory. Those files are typically hidden in Unix based systems.
To start the development environment type npm run dev
in the console. This will start a development server with hot reloading enabled.
You can use a shell script included with the package. If you are using a Unix based system run ./build-dist.sh
from the terminal, and you will have a ready to deploy package in the /dist
directory.
If you can't use the shell script you need to prepare the package manually: 1. Run npm run build
2. Copy those contents to the target machine
.next
static
package.json
.npmrc
Run npm install
on the server where you copied the above contents.
You can now start the app by running npm start
Some points of interest about the project project structure:
components
- global React components should go here
styles
- styles added here won't be treated as CSS Modules, so any global classes or library styles should go here
features
- page specific components should be found here
features/Layout
- the AppLayout
component can be found here which hosts page contents within itself. You can change the Layout component for each page.
core/colors.js
- exports an object with all of the defined colors by the Dashboard. Useful for styling JS based components - for example charts.
pages
- Page components should be here. NextJs will automatically map the file names to Route URLs.
Route components should be placed in separate directories inside the /routes/
directory. Next you should open /routes/index.js
file and attach the component. You can do this in two diffrent ways:
Pages imported statically will be loaded eagerly on PageLoad with all of the other content. There will be no additional loads when navigating to such pages BUT the initial app load time will also be longer. To add a statically imported page it should be done like this:
Sometimes you might want to display additional content in the Navbar or the Sidebar. To do this you should define a customized Layout component for a particular Page. Example:
Create a new Layout component in features/layout
. Take the LayoutDefault
component as an example.
Open the Page Component for a particular route. For example pages/example-page.js
.
Set the custom Layout Component like this:
You can set the color scheme for the sidebar and navbar by providing initialStyle
and initialColor
to the <ThemeProvider>
component which should be wrapping the <Layout>
component.
Possible initialStyle
values:
light
dark
color
Possible initialColor
values:
primary
success
info
warning
danger
indigo
purple
pink
yellow
You can change the color scheme on runtime by using the ThemeConsumer
from the components. Example:
Options provided by the ThemeConsumer
:
style - current theme style
color - current theme color
onChangeTheme({ style?, color? }) - allows to change the theme
You can add additional build features by adding and configuring them inside the next.config.js
file.
Routing system is handled by NextJs itself. You can find the documentation here -