Color Admin

“Google Design” Documentation by “Sean Ngu” v5.4.1

Updated on: 27/July/2024
By: Sean Ngu

If you have any inquiries or require further assistance beyond what is covered in this help file, please do not hesitate to send us a message through Wrapbootstrap. We are more than happy to help.

Thank you very much!

This template can be used as an fluid layout with a max of 12 columns next to each other. The general template structure is the same throughout the template. Here is the general structure.

<!-- BEGIN #loader -->
<div id="loader" class="app-loader">
  <span class="spinner"></span>
</div>
<!-- END #loader -->

<!-- BEGIN #app -->
<div id="app" class="app app-header-fixed app-sidebar-fixed app-with-wide-sidebar">
  <!-- BEGIN #header -->
  <div id="header" class="app-header"></div>
  <!-- END #header -->

  <!-- BEGIN #sidebar -->
  <div id="sidebar" class="app-sidebar">
    <!-- BEGIN scrollbar -->
    <div class="app-sidebar-content" data-scrollbar="true" data-height="100%"></div>
    <!-- END scrollbar -->
  </div>
  <div class="app-sidebar-bg"></div>
  <div class="app-sidebar-mobile-backdrop">
    <a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"></a>
  </div>
  <!-- END #sidebar -->
  
  <!-- BEGIN #content -->
  <div id="content" class="app-content"></div>
  <!-- END #content -->
  
  <!-- BEGIN theme-panel -->
  <div class="theme-panel"></div>
  <!-- END theme-panel -->
  
  <!-- BEGIN scroll-top-btn -->
  <a href="javascript:;" class="btn btn-icon btn-circle btn-success btn-scroll-to-top" 
    data-toggle="scroll-to-top">
    <i class="fa fa-angle-up"></i>
  </a>
  <!-- END scroll-top-btn -->
</div>
<!-- END #app -->

Page head contains metadata, javascript and css files:


<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Color Admin | Google Design</title>
  <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
  <meta content="" name="description" />
  <meta content="" name="author" />
  
  <!-- ================== BEGIN core-css ================== -->
  <link href="../assets/css/vendor.min.css" rel="stylesheet" />
  <link href="../assets/css/google/app.min.css" rel="stylesheet" />
  <!-- ================== END core-css ================== -->
  
  <!-- OR without vendor.min.css -->
  
  <!-- ================== BEGIN core-css ================== -->
  <link href="../assets/plugins/animate.css/animate.min.css" rel="stylesheet" />
  <link href="../assets/plugins/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet" />
  <link href="../assets/plugins/jquery-ui-dist/jquery-ui.min.css" rel="stylesheet" />
  <link href="../assets/plugins/pace-js/themes/black/pace-theme-flash.css" rel="stylesheet" />
  <link href="../assets/plugins/perfect-scrollbar/css/perfect-scrollbar.css" rel="stylesheet" />
  <link href="../assets/css/google/app.min.css" rel="stylesheet" />
  <!-- ================== END core-css ================== -->
</head>
<body>
<!-- BEGIN #header -->
<div id="header" class="app-header">
  <!-- BEGIN navbar-header -->
  <div class="navbar-header">
    <button type="button" class="navbar-desktop-toggler" data-toggle="app-sidebar-minify">
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
    <a href="index.html" class="navbar-brand">
      <b class="me-1">Color</b> Admin
      <span class="navbar-logo">
        <span class="text-blue">G</span>
        <span class="text-red">o</span>
        <span class="text-orange">o</span>
        <span class="text-blue">g</span>
        <span class="text-green">l</span>
        <span class="text-red">e</span>
      </span>
    </a>
    <button type="button" class="navbar-mobile-toggler" data-toggle="app-sidebar-mobile">
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
  </div>
  <!-- END navbar-header -->
  <!-- BEGIN header-nav -->
  <div class="navbar-nav">
    <div class="navbar-item navbar-form">
      <form action="" method="POST" name="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder='Try searching "Users Today"' />
          <button type="submit" class="btn btn-search"><i class="fa fa-search"></i></button>
        </div>
      </form>
    </div>
    <div class="navbar-item navbar-user dropdown">
      <a href="#" class="navbar-link dropdown-toggle d-flex align-items-center" 
        data-bs-toggle="dropdown">
        <img src="../assets/img/user/user-13.jpg" alt="" /> 
        <span class="d-none d-md-inline">Adam Schwartz</span> <b class="caret ms-lg-2"></b>
      </a>
      <div class="dropdown-menu dropdown-menu-end me-1">
        ...
      </div>
    </div>
  </div>
  <!-- END header-nav -->
</div>
<!-- END #header -->
<!-- BEGIN #sidebar -->
<div id="sidebar" class="app-sidebar">
  <!-- BEGIN scrollbar -->
  <div class="app-sidebar-content" data-scrollbar="true" data-height="100%">
    <!-- BEGIN menu -->
    <div class="menu">
      <div class="menu-header">Navigation</div>
      <div class="menu-item has-sub">
        <a href="javascript:;" class="menu-link">
          <div class="menu-icon">
            <i class="material-icons">home</i>
          </div>
          <div class="menu-text">Dashboard</div>
          <div class="menu-caret"></div>
        </a>
        <div class="menu-submenu">
          <div class="menu-item">
            <a href="index.html" class="menu-link"><div class="menu-text">Dashboard v1</div></a>
          </div>
        </div>
      </div>
      
    </div>
    <!-- END menu -->
  </div>
  <!-- END scrollbar -->
</div>
<div class="app-sidebar-bg"></div>
<div class="app-sidebar-mobile-backdrop">
  <a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"></a>
</div>
<!-- END #sidebar -->

Page content consists of page title, breadcrumbs and page's main body. HTML code of Content container as shown below:

<!-- BEGIN #content -->
<div id="content" class="app-content">
  <!-- BEGIN breadcrumb -->
  <ol class="breadcrumb float-xl-end">
    <li class="breadcrumb-item"><a href="javascript:;">Home</a></li>
    <li class="breadcrumb-item"><a href="javascript:;">Page Options</a></li>
    <li class="breadcrumb-item active">Blank Page</li>
  </ol>
  <!-- END breadcrumb -->
  <!-- BEGIN page-header -->
  <h1 class="page-header">Blank Page <small>header small text goes here...</small></h1>
  <!-- END page-header -->
</div>
<!-- END #content -->

Javascript files loaded in the end of page. This will reduce page load time.

  <!-- ================== BEGIN core-js ================== -->
  <script src="../assets/js/vendor.min.js"></script>
  <script src="../assets/js/app.min.js"></script>
  <!-- ================== END core-js ================== -->
  
  <!-- OR without vendor.min.js -->
  
  <!-- ================== BEGIN core-js ================== -->
  <script src="../assets/plugins/pace-js/pace.min.js"></script>
  <script src="../assets/plugins/jquery/dist/jquery.min.js"></script>
  <script src="../assets/plugins/jquery-ui-dist/jquery-ui.min.js"></script>
  <script src="../assets/plugins/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
  <script src="../assets/plugins/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
  <script src="../assets/plugins/js-cookie/dist/js.cookie.js"></script>
  <script src="../assets/js/app.min.js"></script>
  <!-- ================== END core-js ================== -->
</body>
</html>

Add the theme to the <body> tag in order to change the theme color.

Available Theme Options

<body class="theme-red">...</body>
<body class="theme-pink">...</body>
<body class="theme-orange">...</body>
<body class="theme-yellow">...</body>
<body class="theme-lime">...</body>
<body class="theme-green">...</body>
<body class="theme-teal">...</body>
<body class="theme-cyan">...</body>
<body class="theme-blue">...</body>
<body class="theme-purple">...</body>
<body class="theme-indigo">...</body>
<body class="theme-black">...</body>
<body class="theme-gray-100">...</body>
<body class="theme-gray-200">...</body>
<body class="theme-gray-300">...</body>
<body class="theme-gray-400">...</body>
<body class="theme-gray-500">...</body>
<body class="theme-gray-600">...</body>
<body class="theme-gray-700">...</body>
<body class="theme-gray-800">...</body>
<body class="theme-gray-900">...</body>

Add the data-bs-theme="dark" attribute to <html> in order to enable the dark mode.

<html data-bs-theme="dark">

Here is the general structure for the each case of page options.

Page Without Sidebar

<!-- BEGIN #app -->
<div id="app" class="app app-without-sidebar">
  <!-- BEGIN #sidebar -->
  <div id="sidebar" class="app-sidebar">
  <!-- END #sidebar -->

Page With Two Sidebar

<!-- BEGIN #app -->
<div id="app" class="app app-sidebar-two">
  <!-- BEGIN #sidebar -->
  <div id="sidebar" class="app-sidebar"></div>
  <div class="app-sidebar-bg"></div>
  <div class="app-sidebar-mobile-backdrop">
    <a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"> </a>
  </div>
  <!-- END #sidebar -->
  
  <!-- BEGIN #sidebar-right -->
  <div id="sidebar-right" class="app-sidebar app-sidebar-end"></div>
  <div class="app-sidebar-bg sidebar-end"></div>
  <div class="app-sidebar-mobile-backdrop app-sidebar-end">
    <a href="#" data-dismiss="app-sidebar-end-mobile" class="stretched-link"> </a>
  </div>
  <!-- END #sidebar-right -->

Page Without Header

<!-- BEGIN #app -->
<div id="app" class="app app-without-header">
  ...

Top Navigation Default

<!-- BEGIN #app -->
<div id="app" class="app">
  <!-- BEGIN #header -->
  <div id="header" class="app-header">

Top Navigation Fixed

<!-- BEGIN #app -->
<div id="app" class="app app-header-fixed">
  <!-- BEGIN #header -->
  <div id="header" class="app-header">

Top Navigation Dark Mode

<!-- BEGIN #app -->
<div id="app" class="app">
  <!-- BEGIN #header -->
  <div id="header" class="app-header" data-bs-theme="dark">

Sidebar Default

<!-- BEGIN #app -->
<div id="app" class="app">
  <!-- BEGIN #sidebar -->
  <div id="sidebar" class="app-sidebar">
    ...
  </div>
  <div class="sidebar-bg"></div>
  <!-- END #sidebar -->

Sidebar Fixed

<!-- BEGIN #app -->
<div id="app" class="app app-sidebar-fixed">
  <!-- BEGIN #sidebar -->
  <div id="sidebar" class="app-sidebar">

Sidebar Minified

<!-- BEGIN #app -->
<div id="app" class="app app-sidebar-minified">
  <!-- BEGIN #sidebar -->
  <div id="sidebar" class="app-sidebar">

Sidebar Position Right

<!-- BEGIN #app -->
<div id="app" class="app app-with-end-sidebar">
  <!-- BEGIN #sidebar -->
  <div id="sidebar" class="app-sidebar">

Full Height Page / Table Column Page NEW

<!-- BEGIN #app -->
<div id="app" class="app app-content-full-height">
  <!-- BEGIN #content -->
  <div id="content" class="app-content p-0">
    <div class="overflow-hidden h-100">
      <div data-scrollbar="true" data-height="100%" data-skip-mobile="true" 
        class="app-content-padding">
        ...
      </div>
    </div>
  </div>
  <!-- END #content -->
</div>
<!-- END #app -->

Remove Page Loader

If you wish to remove the page loading animation, you just need to remove the #loader from #app

from

<!-- BEGIN #loader -->
<div id="loader" class="app-loader">
  <span class="spinner"></span>
</div>
<!-- END #loader -->

Installation

Below is the command that required to run / compile the scss with gulpjs. If you are new to the gulpjs, you may refer to their official website for installation guide.

<!-- run the following command -->
cd /your-path-url/admin/src/
npm install
gulp google

<!-- available command -->
gulp plugins       // generate plugins

<!-- available theme command -->
gulp               // default theme
gulp material      // material theme
gulp apple         // apple theme
gulp transparent   // transparent theme
gulp facebook      // facebook theme
gulp google        // google theme

Verify that you are running at least node 20.x.x or later and npm 10.x.x by running node -v and npm -v in a terminal/console window. Older versions produce errors, but newer versions are fine.


Enable RTL Support

To enable the RTL Support, you might need to change the following variable from admin/src/scss/google/_variables.scss.

<!-- LINE 235 -->
$enable-rtl: true;

<!-- run the command to regenerate the /css/google/app.min.css -->
gulp google

Gulp compilation

We are using gulp to compile & combine few plugins js & css into one single file for js & css. This may help to improve the speed for page load if compare to multiple files loading in one page. If you wish to edit the included plugins files, you may refer to the /admin/src/gulpfile.js.

Below is the list of plugins that compile into vendor.min.css.

return gulp.src([
  'node_modules/animate.css/animate.min.css',
  'node_modules/@fortawesome/fontawesome-free/css/all.min.css',
  'node_modules/jquery-ui-dist/jquery-ui.min.css',
  'node_modules/pace-js/themes/black/pace-theme-flash.css',
  'node_modules/perfect-scrollbar/css/perfect-scrollbar.css'
])
.pipe(sass())
.pipe(concat('vendor.min.css'))
.pipe(minifyCSS())
.pipe(gulp.dest(distPath + '/assets/css/'))
.pipe(livereload());

Below is the code that compile Color Admin scss with Bootstrap scss into app.min.css.

return gulp.src([
  'scss/google/styles.scss'
])
.pipe(sass())
.pipe(concat('app.min.css'))
.pipe(minifyCSS())
.pipe(gulp.dest(distPath + '/assets/css/google/'))
.pipe(livereload());

Below is the list of plugins that compile into vendor.min.js.

'node_modules/pace-js/pace.min.js',
  'node_modules/jquery/dist/jquery.min.js',
  'node_modules/jquery-ui-dist/jquery-ui.min.js',
  'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js',
  'node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js',
  'node_modules/js-cookie/dist/js.cookie.js'
])
.pipe(sourcemaps.init())
.pipe(concat('vendor.min.js'))
.pipe(sourcemaps.write())
.pipe(uglify())
.pipe(gulp.dest(distPath + '/assets/js/'))
.pipe(livereload());

Below is the code that compile Color Admin js file into app.min.js.

return gulp.src([
  'js/app.js',
])
.pipe(sourcemaps.init())
.pipe(concat('app.min.js'))
.pipe(sourcemaps.write())
.pipe(uglify())
.pipe(gulp.dest(distPath + '/assets/js/'))
.pipe(livereload());

Gulp & SCSS file structure

To change the color theme / primary color, you may refer to the _variables.scss and set the variable. Npm can be used to update the plugins version as well.

admin/src/
├── gulpfile.js
├── package.json
├── js/
└── scss/
    ├── google/
    │   ├── _app.scss
    │   ├── _functions.scss
    │   ├── _helper.scss
    │   ├── _layout.scss
    │   ├── _mixins.scss
    │   ├── _pages.scss
    │   ├── _plugins.scss
    │   ├── _root.scss
    │   ├── _reboot.scss
    │   ├── _rtl.scss
    │   ├── _ui.scss
    │   ├── _variables-dark.scss
    │   ├── _variables.scss
    │   ├── styles.scss
    │   ├── app/
    │   ├── images/
    │   ├── layout/
    │   ├── mixins/
    │   ├── pages/
    │   ├── plugins/
    │   └── ui/
    ├── apple/
    ├── facebook/
    ├── material/
    ├── transparent/
    └── default/