Blog

  • How to customize WooCommerce thank you page?

    How to customize WooCommerce thank you page?

    Hello guys how are you? Welcome back to my channel. Today in this post I am going to tell you How to customize WooCommerce thank you page?

    Guys I have used both latest versions WordPress 6.3 and WooCommerce 8.1.

    Live Demo

    Guys if you are new in WordPress or in WooCommerce then please check the below links for some good tutorials:

    1. WooCommerce Hooks
    2. WordPress Tricks
    3. WordPress Hooks
    How to customize WooCommerce thank you page?
    How to customize WooCommerce thank you page?

    Guys here is the working code snippet and please use it carefully:

    1. Guys here is the code snippet and you need to add your theme’s functions.php file:

    guys also I will make it with ajax and share that as well

    add_action( 'woocommerce_thankyou', 'wp_rich_woocommerce_thankyou_action', 10, 1 );
    
    /**
     * Function for `woocommerce_thankyou` action-hook.
     * 
     * @param  $order_id 
     *
     * @return void
     */
    function wp_rich_woocommerce_thankyou_action( $order_id ){
    
      // action...
            echo "Write your action here";
      
    
    }

    This is it guys and if you will have any kind of query, suggestion or requirement then feel free to comment below.

    Jassa

    Developer’s King

    Thanks

  • Angular 17 Reactive Forms Working Example

    Angular 17 Reactive Forms Working Example

    Hello to all welcome back on my blog therichpost.com. Today in this blog post, I am going to tell you Angular 17 Reactive Forms Working Example.

    Angular Routing Working Demo
    Angular 17 Reactive forms working example
    Angular 17 Reactive forms working example

    Guy’s Angular 17 came and if you are new in Angular 17 then please check the below link:

    1. Angular 17 Tutorials

    Guy’s here is working code snippet for Angular 17 Routing Tutorial and please follow it carefully to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angularform //Create new Angular Project
    
    cd angularform // Go inside the Angular Project Folder

    2. Now guy’s, here we need to run below command into our project terminal to install bootstrap 5 module for styling and good looks into our angular application(optional):

    npm install bootstrap
    
    npm i @popperjs/core 

    3. Now guy’s, now we need to add below code into our angularform/angular.json file to add bootstrap style:

    ...
     "styles": [
                  "src/styles.css",
                  "node_modules/bootstrap/dist/css/bootstrap.min.css",
                  
                ],

    4. Now guys, now we need to add below code into our angularform/src/app/app.component.html file to set the form layout:

    <div class="container p-5">
        <form [formGroup]="profileForm" (ngSubmit)="onSubmit()">
            <div class="mb-3 mt-3">
                <label for="first-name" class="form-label">First Name:: </label>
                <input id="first-name" class="form-control" type="text" formControlName="firstName">
            </div>
            <div class="mb-3 mt-3">
                <label for="last-name" class="form-label">Last Name:: </label>
                <input id="last-name" class="form-control" type="text"  formControlName="lastName">
            </div>
            <p>Complete the form to enable button.</p>
            <button class="btn btn-primary" type="submit" [disabled]="!profileForm.valid">Submit</button>
        </form>
        <p>Form Value: {{ profileForm.value | json }}</p>
        <p>Form Status: {{ profileForm.status }}</p>
    </div>

    5. Now guys, now we need to add below code into our angularrouting/src/app/app-component.ts file to make reactive form works:

    import { Component } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { RouterOutlet, RouterLink } from '@angular/router';
    import { FormControl, ReactiveFormsModule, FormGroup, Validators, FormBuilder } from '@angular/forms';
    @Component({
      selector: 'app-root',
      standalone: true,
      imports: [CommonModule, RouterOutlet, RouterLink, ReactiveFormsModule],
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
      title = 'angular17';
      constructor(private formBuilder: FormBuilder) {}
      onSubmit() {
        // TODO: Use EventEmitter with form value
        console.warn(this.profileForm.value);
      }
      profileForm = this.formBuilder.group({
        firstName: ['', Validators.required],
        lastName: ['', Validators.required],
      });
    
      
    }
    

    Guy’s in the end please run ng serve command to check the out on browser(localhost:4200) and if you will have any query then feel free to comment below.

    Guy’s I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad because with your views, I will make my next posts more good and helpful.

    Jassa

    Thanks.

  • Angular 17 Free Admin Dashboard Template 3

    Angular 17 Free Admin Dashboard Template 3

    Hello friends, welcome back to my blog. Today this blog post will tell you, Angular 17 Free Admin Dashboard Template 3.


    Live Demo

    Angular 17 Free Admin Dashboard Template 3
    Angular 17 Free Admin Dashboard Template 3

    Angular 17 came and Bootstrap 5 also. If you are new then you must check below two links:

    1. Angular 17 Basic Tutorials
    2. Bootstrap 5

    Friends now I proceed onwards and here is the working code snippet and please use carefully this to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angularadmin //Create new Angular Project
    
    cd angularadmin // Go inside the Angular Project Folder

    2. Now friends we just need to add below code into angularadmin/src/app/app.component.html file to get final out on the web browser:

     <!--Nav-->
     <nav class="bg-gray-800 pt-2 md:pt-1 pb-1 px-1 mt-0 h-auto fixed w-full z-20 top-0">
    
      <div class="flex flex-wrap items-center">
          <div class="flex flex-shrink md:w-1/3 justify-center md:justify-start text-white">
              <a href="#">
                  <span class="text-xl pl-2"><i class="em em-grinning"></i></span>
              </a>
          </div>
    
          <div class="flex flex-1 md:w-1/3 justify-center md:justify-start text-white px-2">
              <span class="relative w-full">
                  <input type="search" placeholder="Search" class="w-full bg-gray-900 text-white transition border border-transparent focus:outline-none focus:border-gray-400 rounded py-3 px-2 pl-10 appearance-none leading-normal">
                  <div class="absolute search-icon" style="top: 1rem; left: .8rem;">
                      <svg class="fill-current pointer-events-none text-white w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
                          <path d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"></path>
                      </svg>
                  </div>
              </span>
          </div>
    
          <div class="flex w-full pt-2 content-center justify-between md:w-1/3 md:justify-end">
              <ul class="list-reset flex justify-between flex-1 md:flex-none items-center">
                  <li class="flex-1 md:flex-none md:mr-3">
                      <a class="inline-block py-2 px-4 text-white no-underline" href="#">Active</a>
                  </li>
                  <li class="flex-1 md:flex-none md:mr-3">
                      <a class="inline-block text-gray-600 no-underline hover:text-gray-200 hover:text-underline py-2 px-4" href="#">link</a>
                  </li>
                  <li class="flex-1 md:flex-none md:mr-3">
                      <div class="relative inline-block">
                          <button onclick="toggleDD('myDropdown')" class="drop-button text-white focus:outline-none"> <span class="pr-2"><i class="em em-robot_face"></i></span> Hi, User </button>
                         
                      </div>
                  </li>
              </ul>
          </div>
      </div>
    
    </nav>
    
    
    <div class="flex flex-col md:flex-row">
    
      <div class="bg-gray-800 shadow-xl h-16 fixed bottom-0 mt-12 md:relative md:h-screen z-10 w-full md:w-48">
    
          <div class="md:mt-12 md:w-48 md:fixed md:left-0 md:top-0 content-center md:content-start text-left justify-between">
              <ul class="list-reset flex flex-row md:flex-col py-0 md:py-3 px-1 md:px-2 text-center md:text-left">
                  <li class="mr-3 flex-1">
                      <a href="#" class="block py-1 md:py-3 pl-1 align-middle text-white no-underline hover:text-white border-b-2 border-gray-800 hover:border-pink-500">
                          <i class="fas fa-tasks pr-0 md:pr-3"></i><span class="pb-1 md:pb-0 text-xs md:text-base text-gray-600 md:text-gray-400 block md:inline-block">Tasks</span>
                      </a>
                  </li>
                  <li class="mr-3 flex-1">
                      <a href="#" class="block py-1 md:py-3 pl-1 align-middle text-white no-underline hover:text-white border-b-2 border-gray-800 hover:border-purple-500">
                          <i class="fa fa-envelope pr-0 md:pr-3"></i><span class="pb-1 md:pb-0 text-xs md:text-base text-gray-600 md:text-gray-400 block md:inline-block">Messages</span>
                      </a>
                  </li>
                  <li class="mr-3 flex-1">
                      <a href="#" class="block py-1 md:py-3 pl-1 align-middle text-white no-underline hover:text-white border-b-2 border-blue-600">
                          <i class="fas fa-chart-area pr-0 md:pr-3 text-blue-600"></i><span class="pb-1 md:pb-0 text-xs md:text-base text-white md:text-white block md:inline-block">Analytics</span>
                      </a>
                  </li>
                  <li class="mr-3 flex-1">
                      <a href="#" class="block py-1 md:py-3 pl-0 md:pl-1 align-middle text-white no-underline hover:text-white border-b-2 border-gray-800 hover:border-red-500">
                          <i class="fa fa-wallet pr-0 md:pr-3"></i><span class="pb-1 md:pb-0 text-xs md:text-base text-gray-600 md:text-gray-400 block md:inline-block">Payments</span>
                      </a>
                  </li>
              </ul>
          </div>
    
    
      </div>
    
      <div class="main-content flex-1 bg-gray-100 mt-12 md:mt-2 pb-24 md:pb-5">
    
          <div class="bg-gray-800 pt-3">
              <div class="rounded-tl-3xl bg-gradient-to-r from-blue-900 to-gray-800 p-4 shadow text-2xl text-white">
                  <h3 class="font-bold pl-2">Analytics</h3>
              </div>
          </div>
    
          <div class="flex flex-wrap">
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Metric Card-->
                  <div class="bg-gradient-to-b from-green-200 to-green-100 border-b-4 border-green-600 rounded-lg shadow-xl p-5">
                      <div class="flex flex-row items-center">
                          <div class="flex-shrink pr-4">
                              <div class="rounded-full p-5 bg-green-600"><i class="fa fa-wallet fa-2x fa-inverse"></i></div>
                          </div>
                          <div class="flex-1 text-right md:text-center">
                              <h5 class="font-bold uppercase text-gray-600">Total Revenue</h5>
                              <h3 class="font-bold text-3xl">$3249 <span class="text-green-500"><i class="fas fa-caret-up"></i></span></h3>
                          </div>
                      </div>
                  </div>
                  <!--/Metric Card-->
              </div>
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Metric Card-->
                  <div class="bg-gradient-to-b from-pink-200 to-pink-100 border-b-4 border-pink-500 rounded-lg shadow-xl p-5">
                      <div class="flex flex-row items-center">
                          <div class="flex-shrink pr-4">
                              <div class="rounded-full p-5 bg-pink-600"><i class="fas fa-users fa-2x fa-inverse"></i></div>
                          </div>
                          <div class="flex-1 text-right md:text-center">
                              <h5 class="font-bold uppercase text-gray-600">Total Users</h5>
                              <h3 class="font-bold text-3xl">249 <span class="text-pink-500"><i class="fas fa-exchange-alt"></i></span></h3>
                          </div>
                      </div>
                  </div>
                  <!--/Metric Card-->
              </div>
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Metric Card-->
                  <div class="bg-gradient-to-b from-yellow-200 to-yellow-100 border-b-4 border-yellow-600 rounded-lg shadow-xl p-5">
                      <div class="flex flex-row items-center">
                          <div class="flex-shrink pr-4">
                              <div class="rounded-full p-5 bg-yellow-600"><i class="fas fa-user-plus fa-2x fa-inverse"></i></div>
                          </div>
                          <div class="flex-1 text-right md:text-center">
                              <h5 class="font-bold uppercase text-gray-600">New Users</h5>
                              <h3 class="font-bold text-3xl">2 <span class="text-yellow-600"><i class="fas fa-caret-up"></i></span></h3>
                          </div>
                      </div>
                  </div>
                  <!--/Metric Card-->
              </div>
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Metric Card-->
                  <div class="bg-gradient-to-b from-blue-200 to-blue-100 border-b-4 border-blue-500 rounded-lg shadow-xl p-5">
                      <div class="flex flex-row items-center">
                          <div class="flex-shrink pr-4">
                              <div class="rounded-full p-5 bg-blue-600"><i class="fas fa-server fa-2x fa-inverse"></i></div>
                          </div>
                          <div class="flex-1 text-right md:text-center">
                              <h5 class="font-bold uppercase text-gray-600">Server Uptime</h5>
                              <h3 class="font-bold text-3xl">152 days</h3>
                          </div>
                      </div>
                  </div>
                  <!--/Metric Card-->
              </div>
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Metric Card-->
                  <div class="bg-gradient-to-b from-indigo-200 to-indigo-100 border-b-4 border-indigo-500 rounded-lg shadow-xl p-5">
                      <div class="flex flex-row items-center">
                          <div class="flex-shrink pr-4">
                              <div class="rounded-full p-5 bg-indigo-600"><i class="fas fa-tasks fa-2x fa-inverse"></i></div>
                          </div>
                          <div class="flex-1 text-right md:text-center">
                              <h5 class="font-bold uppercase text-gray-600">To Do List</h5>
                              <h3 class="font-bold text-3xl">7 tasks</h3>
                          </div>
                      </div>
                  </div>
                  <!--/Metric Card-->
              </div>
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Metric Card-->
                  <div class="bg-gradient-to-b from-red-200 to-red-100 border-b-4 border-red-500 rounded-lg shadow-xl p-5">
                      <div class="flex flex-row items-center">
                          <div class="flex-shrink pr-4">
                              <div class="rounded-full p-5 bg-red-600"><i class="fas fa-inbox fa-2x fa-inverse"></i></div>
                          </div>
                          <div class="flex-1 text-right md:text-center">
                              <h5 class="font-bold uppercase text-gray-600">Issues</h5>
                              <h3 class="font-bold text-3xl">3 <span class="text-red-500"><i class="fas fa-caret-up"></i></span></h3>
                          </div>
                      </div>
                  </div>
                  <!--/Metric Card-->
              </div>
          </div>
    
    
          <div class="flex flex-row flex-wrap flex-grow mt-2">
    
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Graph Card-->
                  <div class="bg-white border-transparent rounded-lg shadow-xl">
                      <div class="bg-gradient-to-b from-gray-300 to-gray-100 uppercase text-gray-800 border-b-2 border-gray-300 rounded-tl-lg rounded-tr-lg p-2">
                          <h5 class="font-bold uppercase text-gray-600">Graph</h5>
                      </div>
                      <div class="p-5">
                          <canvas id="chartjs-7" class="chartjs" width="undefined" height="undefined"></canvas>
                          <script>
                              new Chart(document.getElementById("chartjs-7"), {
                                  "type": "bar",
                                  "data": {
                                      "labels": ["January", "February", "March", "April"],
                                      "datasets": [{
                                          "label": "Page Impressions",
                                          "data": [10, 20, 30, 40],
                                          "borderColor": "rgb(255, 99, 132)",
                                          "backgroundColor": "rgba(255, 99, 132, 0.2)"
                                      }, {
                                          "label": "Adsense Clicks",
                                          "data": [5, 15, 10, 30],
                                          "type": "line",
                                          "fill": false,
                                          "borderColor": "rgb(54, 162, 235)"
                                      }]
                                  },
                                  "options": {
                                      "scales": {
                                          "yAxes": [{
                                              "ticks": {
                                                  "beginAtZero": true
                                              }
                                          }]
                                      }
                                  }
                              });
                          </script>
                      </div>
                  </div>
                  <!--/Graph Card-->
              </div>
    
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Graph Card-->
                  <div class="bg-white border-transparent rounded-lg shadow-xl">
                      <div class="bg-gradient-to-b from-gray-300 to-gray-100 uppercase text-gray-800 border-b-2 border-gray-300 rounded-tl-lg rounded-tr-lg p-2">
                          <h5 class="font-bold uppercase text-gray-600">Graph</h5>
                      </div>
                      <div class="p-5">
                          <canvas id="chartjs-0" class="chartjs" width="undefined" height="undefined"></canvas>
                          <script>
                              new Chart(document.getElementById("chartjs-0"), {
                                  "type": "line",
                                  "data": {
                                      "labels": ["January", "February", "March", "April", "May", "June", "July"],
                                      "datasets": [{
                                          "label": "Views",
                                          "data": [65, 59, 80, 81, 56, 55, 40],
                                          "fill": false,
                                          "borderColor": "rgb(75, 192, 192)",
                                          "lineTension": 0.1
                                      }]
                                  },
                                  "options": {}
                              });
                          </script>
                      </div>
                  </div>
                  <!--/Graph Card-->
              </div>
    
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Graph Card-->
                  <div class="bg-white border-transparent rounded-lg shadow-xl">
                      <div class="bg-gradient-to-b from-gray-300 to-gray-100 uppercase text-gray-800 border-b-2 border-gray-300 rounded-tl-lg rounded-tr-lg p-2">
                          <h5 class="font-bold uppercase text-gray-600">Graph</h5>
                      </div>
                      <div class="p-5">
                          <canvas id="chartjs-1" class="chartjs" width="undefined" height="undefined"></canvas>
                          <script>
                              new Chart(document.getElementById("chartjs-1"), {
                                  "type": "bar",
                                  "data": {
                                      "labels": ["January", "February", "March", "April", "May", "June", "July"],
                                      "datasets": [{
                                          "label": "Likes",
                                          "data": [65, 59, 80, 81, 56, 55, 40],
                                          "fill": false,
                                          "backgroundColor": ["rgba(255, 99, 132, 0.2)", "rgba(255, 159, 64, 0.2)", "rgba(255, 205, 86, 0.2)", "rgba(75, 192, 192, 0.2)", "rgba(54, 162, 235, 0.2)", "rgba(153, 102, 255, 0.2)", "rgba(201, 203, 207, 0.2)"],
                                          "borderColor": ["rgb(255, 99, 132)", "rgb(255, 159, 64)", "rgb(255, 205, 86)", "rgb(75, 192, 192)", "rgb(54, 162, 235)", "rgb(153, 102, 255)", "rgb(201, 203, 207)"],
                                          "borderWidth": 1
                                      }]
                                  },
                                  "options": {
                                      "scales": {
                                          "yAxes": [{
                                              "ticks": {
                                                  "beginAtZero": true
                                              }
                                          }]
                                      }
                                  }
                              });
                          </script>
                      </div>
                  </div>
                  <!--/Graph Card-->
              </div>
    
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Graph Card-->
                  <div class="bg-white border-transparent rounded-lg shadow-xl">
                      <div class="bg-gradient-to-b from-gray-300 to-gray-100 uppercase text-gray-800 border-b-2 border-gray-300 rounded-tl-lg rounded-tr-lg p-2">
                          <h5 class="font-bold uppercase text-gray-600">Graph</h5>
                      </div>
                      <div class="p-5"><canvas id="chartjs-4" class="chartjs" width="undefined" height="undefined"></canvas>
                          <script>
                              new Chart(document.getElementById("chartjs-4"), {
                                  "type": "doughnut",
                                  "data": {
                                      "labels": ["P1", "P2", "P3"],
                                      "datasets": [{
                                          "label": "Issues",
                                          "data": [300, 50, 100],
                                          "backgroundColor": ["rgb(255, 99, 132)", "rgb(54, 162, 235)", "rgb(255, 205, 86)"]
                                      }]
                                  }
                              });
                          </script>
                      </div>
                  </div>
                  <!--/Graph Card-->
              </div>
    
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Table Card-->
                  <div class="bg-white border-transparent rounded-lg shadow-xl">
                      <div class="bg-gradient-to-b from-gray-300 to-gray-100 uppercase text-gray-800 border-b-2 border-gray-300 rounded-tl-lg rounded-tr-lg p-2">
                          <h5 class="font-bold uppercase text-gray-600">Graph</h5>
                      </div>
                      <div class="p-5">
                          <table class="w-full p-5 text-gray-700">
                              <thead>
                                  <tr>
                                      <th class="text-left text-blue-900">Name</th>
                                      <th class="text-left text-blue-900">Side</th>
                                      <th class="text-left text-blue-900">Role</th>
                                  </tr>
                              </thead>
    
                              <tbody>
                                  <tr>
                                      <td>Obi Wan Kenobi</td>
                                      <td>Light</td>
                                      <td>Jedi</td>
                                  </tr>
                                  <tr>
                                      <td>Greedo</td>
                                      <td>South</td>
                                      <td>Scumbag</td>
                                  </tr>
                                  <tr>
                                      <td>Darth Vader</td>
                                      <td>Dark</td>
                                      <td>Sith</td>
                                  </tr>
                              </tbody>
                          </table>
    
                          <p class="py-2"><a href="#">See More issues...</a></p>
    
                      </div>
                  </div>
                  <!--/table Card-->
              </div>
    
              <div class="w-full md:w-1/2 xl:w-1/3 p-6">
                  <!--Advert Card-->
                  <div class="bg-white border-transparent rounded-lg shadow-xl">
                      <div class="bg-gradient-to-b from-gray-300 to-gray-100 uppercase text-gray-800 border-b-2 border-gray-300 rounded-tl-lg rounded-tr-lg p-2">
                          <h5 class="font-bold uppercase text-gray-600">Advert</h5>
                      </div>
                      <div class="p-5 text-center">
    
    
                        Code like always, build like never before. See for yourself. ads via Carbon
    
    
                      </div>
                  </div>
                  <!--/Advert Card-->
              </div>
    
    
          </div>
      </div>
    </div>

    3. Now friends we just need to add below stylesheet url code into angularadmin/src/index.html file for font awesome icons, css and js:

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Angular17</title>
      <base href="/">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="icon" type="image/x-icon" href="favicon.ico">
    
    
      <link href="https://fonts.googleapis.com/css?family=Nunito:400,700,800" rel="stylesheet">
      <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
      <link href="https://unpkg.com/tailwindcss@2.2.19/dist/tailwind.min.css" rel=" stylesheet">
      <!--Replace with your tailwind.css once created-->
      <link href="https://afeld.github.io/emoji-css/emoji.css" rel="stylesheet">
     
    </head>
    <body class="bg-gray-800 font-sans leading-normal tracking-normal mt-12">>
      <app-root></app-root>
      <!--Totally optional :) -->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js" integrity="sha256-XF29CBwU1MWLaGEnsELogU6Y6rcc5nCkhhx89nFMIDQ=" crossorigin="anonymous"></script>
    </body>
    </html>
    

    4. Now friends we just need to add below code into angularadmin/angular.json file to custom.js file working code:

    ...
     
                ],
                "scripts": [
               "src/assets/custom.js",
               
                ],
    ...

    5. Guys now we need to create custom.js file inside angularadin/src/assets folder and add below code inside it:

    setTimeout(function(){
       new Chart(document.getElementById("chartjs-7"), {
           "type": "bar",
           "data": {
               "labels": ["January", "February", "March", "April"],
               "datasets": [{
                   "label": "Page Impressions",
                   "data": [10, 20, 30, 40],
                   "borderColor": "rgb(255, 99, 132)",
                   "backgroundColor": "rgba(255, 99, 132, 0.2)"
               }, {
                   "label": "Adsense Clicks",
                   "data": [5, 15, 10, 30],
                   "type": "line",
                   "fill": false,
                   "borderColor": "rgb(54, 162, 235)"
               }]
           },
           "options": {
               "scales": {
                   "yAxes": [{
                       "ticks": {
                           "beginAtZero": true
                       }
                   }]
               }
           }
       });
       new Chart(document.getElementById("chartjs-0"), {
                                       "type": "line",
                                       "data": {
                                           "labels": ["January", "February", "March", "April", "May", "June", "July"],
                                           "datasets": [{
                                               "label": "Views",
                                               "data": [65, 59, 80, 81, 56, 55, 40],
                                               "fill": false,
                                               "borderColor": "rgb(75, 192, 192)",
                                               "lineTension": 0.1
                                           }]
                                       },
                                       "options": {}
                                   });
                                   new Chart(document.getElementById("chartjs-1"), {
                                       "type": "bar",
                                       "data": {
                                           "labels": ["January", "February", "March", "April", "May", "June", "July"],
                                           "datasets": [{
                                               "label": "Likes",
                                               "data": [65, 59, 80, 81, 56, 55, 40],
                                               "fill": false,
                                               "backgroundColor": ["rgba(255, 99, 132, 0.2)", "rgba(255, 159, 64, 0.2)", "rgba(255, 205, 86, 0.2)", "rgba(75, 192, 192, 0.2)", "rgba(54, 162, 235, 0.2)", "rgba(153, 102, 255, 0.2)", "rgba(201, 203, 207, 0.2)"],
                                               "borderColor": ["rgb(255, 99, 132)", "rgb(255, 159, 64)", "rgb(255, 205, 86)", "rgb(75, 192, 192)", "rgb(54, 162, 235)", "rgb(153, 102, 255)", "rgb(201, 203, 207)"],
                                               "borderWidth": 1
                                           }]
                                       },
                                       "options": {
                                           "scales": {
                                               "yAxes": [{
                                                   "ticks": {
                                                       "beginAtZero": true
                                                   }
                                               }]
                                           }
                                       }
                                   });
                                   new Chart(document.getElementById("chartjs-4"), {
                                       "type": "doughnut",
                                       "data": {
                                           "labels": ["P1", "P2", "P3"],
                                           "datasets": [{
                                               "label": "Issues",
                                               "data": [300, 50, 100],
                                               "backgroundColor": ["rgb(255, 99, 132)", "rgb(54, 162, 235)", "rgb(255, 205, 86)"]
                                           }]
                                       }
                                   });
                                   
     }, 1000);

    Friends in the end must run ng serve command into your terminal to run the angular 17 project(localhost:4200).

    Now we are done friends. If you have any kind of query, suggestion and new requirement then feel free to comment below.

    Note: Friends, In this post, I just tell the basic setup and things, you can change the code according to your requirements.

    I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad because with your views, I will make my next posts more good and helpful.

    Jassa

    Thanks

  • Angular 17 Free Modern Ecommerce Website Template

    Angular 17 Free Modern Ecommerce Website Template

    Hello friends, welcome back to my blog. Today this blog post I will tell you, Angular 17 Free Modern Ecommerce Website Template.

    In this post, guys we will cover below things:

    •  Angular 17 Free Ecommerce Template Creation.
    • Angular 17 Responsive Toggle Navbar.
    • Angular Ecommerce with Login & Mini Cart Popups.
    Working Video
    Angular 17 Free Modern Ecommerce Website Template
    Angular 17 Free Modern Ecommerce Website Template

    Angular17 came and Bootstrap5 also and if you are new then you must check below two links:

    1. Angular 17 Basic Tutorials
    2. Bootstrap 5

    Friends now I proceed onwards and here is the working code snippet and please use carefully this to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angulardemo //Create new Angular Project
    
    cd angulardemo // Go inside the Angular Project Folder

    2. Now guy’s we need to add below code inside our project/angular.json file to get scripts and styles and these files you will get from git repo link and that link will be mentioned in last step:

    ... "styles": [ ... "src/assets/css/vendor.css",
    "src/assets/css/style.css"
    
     ], 
    "scripts": [ ...
    "src/assets/js/jquery-1.11.0.min.js",
    "src/assets/js/plugins.js",
    "src/assets/js/script.js"
    
    
     ] ...

    3. Now guy’s we need to add below code inside our project/src/app/app.component.html file:

    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
        <symbol xmlns="http://www.w3.org/2000/svg" id="shopping-carriage" viewBox="0 0 24 24" fill="none">
          <path
            d="M5 22H19C20.103 22 21 21.103 21 20V9C21 8.73478 20.8946 8.48043 20.7071 8.29289C20.5196 8.10536 20.2652 8 20 8H17V7C17 4.243 14.757 2 12 2C9.243 2 7 4.243 7 7V8H4C3.73478 8 3.48043 8.10536 3.29289 8.29289C3.10536 8.48043 3 8.73478 3 9V20C3 21.103 3.897 22 5 22ZM9 7C9 5.346 10.346 4 12 4C13.654 4 15 5.346 15 7V8H9V7ZM5 10H7V12H9V10H15V12H17V10H19L19.002 20H5V10Z"
            fill="black" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="quick-view" viewBox="0 0 24 24">
          <path fill="currentColor"
            d="M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396l1.414-1.414l-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8s3.589 8 8 8zm0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6s-6-2.691-6-6s2.691-6 6-6z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="shopping-cart" viewBox="0 0 24 24" fill="none">
          <path
            d="M21 4H2V6H4.3L7.582 15.025C7.79362 15.6029 8.1773 16.1021 8.68134 16.4552C9.18539 16.8083 9.78556 16.9985 10.401 17H19V15H10.401C9.982 15 9.604 14.735 9.461 14.342L8.973 13H18.246C19.136 13 19.926 12.402 20.169 11.549L21.962 5.275C22.0039 5.12615 22.0109 4.96962 21.9823 4.81763C21.9537 4.66565 21.8904 4.52234 21.7973 4.39889C21.7041 4.27544 21.5837 4.1752 21.4454 4.106C21.3071 4.0368 21.1546 4.00053 21 4ZM18.246 11H8.246L6.428 6H19.675L18.246 11Z"
            fill="black" />
          <path
            d="M10.5 21C11.3284 21 12 20.3284 12 19.5C12 18.6716 11.3284 18 10.5 18C9.67157 18 9 18.6716 9 19.5C9 20.3284 9.67157 21 10.5 21Z"
            fill="black" />
          <path
            d="M16.5 21C17.3284 21 18 20.3284 18 19.5C18 18.6716 17.3284 18 16.5 18C15.6716 18 15 18.6716 15 19.5C15 20.3284 15.6716 21 16.5 21Z"
            fill="black" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="nav-icon" viewBox="0 0 16 16">
          <path
            d="M14 10.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 .5-.5z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="close" viewBox="0 0 16 16">
          <path
            d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="navbar-icon" viewBox="0 0 16 16">
          <path
            d="M14 10.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 .5-.5z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="plus" viewBox="0 0 24 24">
          <path fill="currentColor" d="M19 12.998h-6v6h-2v-6H5v-2h6v-6h2v6h6z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="minus" viewBox="0 0 24 24">
          <path fill="currentColor" d="M19 12.998H5v-2h14z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="dropdown" viewBox="0 0 24 24">
          <path fill="currentColor" d="m7 10l5 5l5-5H7Z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="user" viewBox="0 0 24 24">
          <path fill="currentColor"
            d="M12 2a5 5 0 1 0 5 5a5 5 0 0 0-5-5zm0 8a3 3 0 1 1 3-3a3 3 0 0 1-3 3zm9 11v-1a7 7 0 0 0-7-7h-4a7 7 0 0 0-7 7v1h2v-1a5 5 0 0 1 5-5h4a5 5 0 0 1 5 5v1z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="arrow-right" viewBox="0 0 24 24">
          <path fill="currentColor"
            d="M13.3 17.275q-.3-.3-.288-.725t.313-.725L16.15 13H5q-.425 0-.713-.288T4 12q0-.425.288-.713T5 11h11.15L13.3 8.15q-.3-.3-.3-.713t.3-.712q.3-.3.713-.3t.712.3L19.3 11.3q.15.15.213.325t.062.375q0 .2-.063.375t-.212.325l-4.6 4.6q-.275.275-.687.275t-.713-.3Z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="facebook" viewBox="0 0 24 24">
          <path fill="currentColor"
            d="M9.198 21.5h4v-8.01h3.604l.396-3.98h-4V7.5a1 1 0 0 1 1-1h3v-4h-3a5 5 0 0 0-5 5v2.01h-2l-.396 3.98h2.396v8.01Z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="twitter" viewBox="0 0 512 512">
          <path fill="currentColor" d="M496 109.5a201.8 201.8 0 0 1-56.55 15.3a97.51 97.51 0 0 0 43.33-53.6a197.74 197.74 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.21 93.21 0 0 0 2.54 22.1a280.7 280.7 0 0 1-203-101.3A95.69 95.69 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.76 100.76 0 0 1-25.94 3.4a94.38 94.38 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.59 199.59 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.68 278.68 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8c0-4.2-.11-8.4-.31-12.5A198.48 198.48 0 0 0 496 109.5Z"/>
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="youtube" viewBox="0 0 32 32">
          <path fill="currentColor"
            d="M29.41 9.26a3.5 3.5 0 0 0-2.47-2.47C24.76 6.2 16 6.2 16 6.2s-8.76 0-10.94.59a3.5 3.5 0 0 0-2.47 2.47A36.13 36.13 0 0 0 2 16a36.13 36.13 0 0 0 .59 6.74a3.5 3.5 0 0 0 2.47 2.47c2.18.59 10.94.59 10.94.59s8.76 0 10.94-.59a3.5 3.5 0 0 0 2.47-2.47A36.13 36.13 0 0 0 30 16a36.13 36.13 0 0 0-.59-6.74ZM13.2 20.2v-8.4l7.27 4.2Z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="instagram" viewBox="0 0 256 256">
          <path fill="currentColor"
            d="M128 80a48 48 0 1 0 48 48a48.05 48.05 0 0 0-48-48Zm0 80a32 32 0 1 1 32-32a32 32 0 0 1-32 32Zm48-136H80a56.06 56.06 0 0 0-56 56v96a56.06 56.06 0 0 0 56 56h96a56.06 56.06 0 0 0 56-56V80a56.06 56.06 0 0 0-56-56Zm40 152a40 40 0 0 1-40 40H80a40 40 0 0 1-40-40V80a40 40 0 0 1 40-40h96a40 40 0 0 1 40 40ZM192 76a12 12 0 1 1-12-12a12 12 0 0 1 12 12Z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="pinterest" viewBox="0 0 24 24">
          <path fill="currentColor"
            d="M9.04 21.54c.96.29 1.93.46 2.96.46a10 10 0 0 0 10-10A10 10 0 0 0 12 2A10 10 0 0 0 2 12c0 4.25 2.67 7.9 6.44 9.34c-.09-.78-.18-2.07 0-2.96l1.15-4.94s-.29-.58-.29-1.5c0-1.38.86-2.41 1.84-2.41c.86 0 1.26.63 1.26 1.44c0 .86-.57 2.09-.86 3.27c-.17.98.52 1.84 1.52 1.84c1.78 0 3.16-1.9 3.16-4.58c0-2.4-1.72-4.04-4.19-4.04c-2.82 0-4.48 2.1-4.48 4.31c0 .86.28 1.73.74 2.3c.09.06.09.14.06.29l-.29 1.09c0 .17-.11.23-.28.11c-1.28-.56-2.02-2.38-2.02-3.85c0-3.16 2.24-6.03 6.56-6.03c3.44 0 6.12 2.47 6.12 5.75c0 3.44-2.13 6.2-5.18 6.2c-.97 0-1.92-.52-2.26-1.13l-.67 2.37c-.23.86-.86 2.01-1.29 2.7v-.03Z" />
        </symbol>
        <symbol xmlns="http://www.w3.org/2000/svg" id="search" viewBox="0 0 24 24">
          <path fill="currentColor"
            d="M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396l1.414-1.414l-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8s3.589 8 8 8zm0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6s-6-2.691-6-6s2.691-6 6-6z" />
        </symbol>
      </svg>
      <!-- Loader 4 -->
    
      <div class="preloader" style="position: fixed;top:0;left:0;width: 100%;height: 100%;background-color: #fff;display: flex;align-items: center;justify-content: center;z-index: 9999;">
        <svg version="1.1" id="L4" width="100" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
        viewBox="0 0 50 100" enable-background="new 0 0 0 0" xml:space="preserve">
        <circle fill="#111" stroke="none" cx="6" cy="50" r="6">
          <animate
            attributeName="opacity"
            dur="1s"
            values="0;1;0"
            repeatCount="indefinite"
            begin="0.1"/>    
        </circle>
        <circle fill="#111" stroke="none" cx="26" cy="50" r="6">
          <animate
            attributeName="opacity"
            dur="1s"
            values="0;1;0"
            repeatCount="indefinite" 
            begin="0.2"/>       
        </circle>
        <circle fill="#111" stroke="none" cx="46" cy="50" r="6">
          <animate
            attributeName="opacity"
            dur="1s"
            values="0;1;0"
            repeatCount="indefinite" 
            begin="0.3"/>     
        </circle>
        </svg>
      </div>
    
      <div class="search-box bg-dark position-relative">
        <div class="search-wrap">
          <div class="close-button">
            <svg class="close" style="fill: white;">
              <use xlink:href="#close"></use>
            </svg>
          </div>
          <form id="search-form" class="text-lg-center text-md-left pt-3" action="#" method="get">
            <input type="text" class="search-input" placeholder="Search...">
            <svg class="search">
              <use xlink:href="#search"></use>
            </svg>
          </form>
        </div>
      </div>
    
      <!-- quick view -->
      <div class="modal fade" id="modaltoggle" aria-hidden="true" tabindex="-1">
        <div class="modal-dialog modal-fullscreen-md-down modal-md modal-dialog-centered">
          <div class="modal-content">
            <div class="modal-body">
              <div class="col-lg-12 col-md-12 me-3">
                <div class="image-holder">
                  <img src="assets/images/summary-item1.jpg" alt="Shoes">
                </div>
              </div>
              <div class="col-lg-12 col-md-12">
                <div class="summary">
                  <div class="summary-content fs-6">
                    <div class="product-header d-flex justify-content-between mt-4">
                      <h3 class="display-7">Running Shoes For Men</h3>
                      <div class="modal-close-btn">
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
                        </button>
                      </div>
                    </div>
                    <span class="product-price fs-3">$99</span>
                    <div class="product-details">
                      <p class="fs-7">Buy good shoes and a good mattress, because when you're not in one you're in the
                        other. With four pairs of shoes, I can travel the world.</p>
                    </div>
                    <ul class="select">
                      <li>
                        <strong>Colour Shown:</strong> Red, White, Black
                      </li>
                      <li>
                        <strong>Style:</strong> SM3018-100
                      </li>
                    </ul>
                    <div class="variations-form shopify-cart">
                      <div class="row">
                        <div class="col-md-6">
                          <div class="quantity d-flex pb-4">
                            <div
                              class="qty-number align-top qty-number-plus d-flex justify-content-center align-items-center text-center">
                              <span class="increase-qty plus">
                                <svg class="plus">
                                  <use xlink:href="#plus"></use>
                                </svg>
                              </span>
                            </div>
                            <input type="number" id="quantity_001" class="input-text text-center" step="1" min="1" name="quantity" value="1" title="Qty">
                            <div
                              class="qty-number qty-number-minus d-flex justify-content-center align-items-center text-center">
                              <span class="increase-qty minus">
                                <svg class="minus">
                                  <use xlink:href="#minus"></use>
                                </svg>
                              </span>
                            </div>
                          </div>
                        </div>
                        <div class="col-md-6">
                          <a rel="nofollow" data-no-instant="" href="#" class="out-stock button">Out of stock</a>
                          <button type="submit" class="btn btn-medium btn-black hvr-sweep-to-right">Add to cart</button>
                        </div>
                      </div>
                    </div>
                    <!-- variations-form -->
                    <div class="categories d-flex flex-wrap pt-3">
                      <strong class="pe-2">Categories:</strong>
                      <a href="#" title="categories">Clothing,</a>
                      <a href="#" title="categories">Men's Clothes,</a>
                      <a href="#" title="categories">Tops & T-Shirts</a>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- / quick view -->
    
      <div class="modal fade" id="modallong" tabindex="-1" aria-modal="true" role="dialog">
        <div class="modal-dialog modal-fullscreen-md-down modal-md modal-dialog-centered">
          <div class="modal-content">
            <div class="modal-header">
              <h2 class="modal-title fs-5">Cart</h2>
              <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
              <div class="shopping-cart">
                <div class="shopping-cart-content">
                  <div class="mini-cart cart-list p-0 mt-3">
                    <div class="mini-cart-item d-flex border-bottom pb-3">
                      <div class="col-lg-2 col-md-3 col-sm-2 me-4">
                        <a href="#" title="product-image">
                          <img src="assets/images/single-product-thumb1.jpg" class="img-fluid" alt="single-product-item">
                        </a>
                      </div>
                      <div class="col-lg-9 col-md-8 col-sm-8">
                        <div class="product-header d-flex justify-content-between align-items-center mb-3">
                          <h4 class="product-title fs-6 me-5">Sport Shoes For Men</h4>
                          <a href="" class="remove" aria-label="Remove this item" data-product_id="11913"
                            data-cart_item_key="abc" data-product_sku="">
                            <svg class="close">
                              <use xlink:href="#close"></use>
                            </svg>
                          </a>
                        </div>
                        <div class="quantity-price d-flex justify-content-between align-items-center">
                          <div class="input-group product-qty">
                            <button type="button"
                              class="quantity-left-minus btn btn-light rounded-0 rounded-start btn-number"
                              data-type="minus">
                              <svg width="16" height="16">
                                <use xlink:href="#minus"></use>
                              </svg>
                            </button>
                            <input type="text" name="quantity" class="form-control input-number quantity" value="1">
                            <button type="button" class="quantity-right-plus btn btn-light rounded-0 rounded-end btn-number"
                              data-type="plus">
                              <svg width="16" height="16">
                                <use xlink:href="#plus"></use>
                              </svg>
                            </button>
                          </div>
                          <div class="price-code">
                            <span class="product-price fs-6">$99</span>
                          </div>
                        </div>
                        <!-- quantity-price -->
                      </div>
                    </div>
                  </div>
                  <div class="mini-cart cart-list p-0 mt-3">
                    <div class="mini-cart-item d-flex border-bottom pb-3">
                      <div class="col-lg-2 col-md-3 col-sm-2 me-4">
                        <a href="#" title="product-image">
                          <img src="assets/images/single-product-thumb2.jpg" class="img-fluid" alt="single-product-item">
                        </a>
                      </div>
                      <div class="col-lg-9 col-md-8 col-sm-8">
                        <div class="product-header d-flex justify-content-between align-items-center mb-3">
                          <h4 class="product-title fs-6 me-5">Brand Shoes For Men</h4>
                          <a href="" class="remove" aria-label="Remove this item" data-product_id="11913"
                            data-cart_item_key="abc" data-product_sku="">
                            <svg class="close">
                              <use xlink:href="#close"></use>
                            </svg>
                          </a>
                        </div>
                        <div class="quantity-price d-flex justify-content-between align-items-center">
                          <div class="input-group product-qty">
                            <button type="button"
                              class="quantity-left-minus btn btn-light rounded-0 rounded-start btn-number"
                              data-type="minus">
                              <svg width="16" height="16">
                                <use xlink:href="#minus"></use>
                              </svg>
                            </button>
                            <input type="text" name="quantity" class="form-control input-number quantity" value="1">
                            <button type="button" class="quantity-right-plus btn btn-light rounded-0 rounded-end btn-number"
                              data-type="plus">
                              <svg width="16" height="16">
                                <use xlink:href="#plus"></use>
                              </svg>
                            </button>
                          </div>
                          <div class="price-code">
                            <span class="product-price fs-6">$99</span>
                          </div>
                        </div>
                        <!-- quantity-price -->
                      </div>
                    </div>
                  </div>
                  <!-- cart-list -->
                  <div class="mini-cart-total d-flex justify-content-between py-4">
                    <span class="fs-6">Subtotal:</span>
                    <span class="special-price-code">
                      <span class="price-amount amount fs-6" style="opacity: 1;">
                        <bdi>
                          <span class="price-currency-symbol">$</span>198.00 </bdi>
                      </span>
                    </span>
                  </div>
                  <div class="modal-footer my-4 justify-content-center">
                    <button type="button" class="btn btn-red hvr-sweep-to-right dark-sweep">View Cart</button>
                    <button type="button"
                      class="btn btn-outline-gray hvr-sweep-to-right dark-sweep">Checkout</button>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- cart view -->
    
      <div class="modal fade" id="modallogin" tabindex="-1" aria-modal="true" role="dialog">
        <div class="modal-dialog modal-fullscreen-md-down modal-md modal-dialog-centered" role="document">
          <div class="modal-content p-4">
            <div class="modal-header mx-auto border-0">
              <h2 class="modal-title fs-3 fw-normal">Login</h2>
            </div>
            <div class="modal-body">
              <div class="login-detail">
                <div class="login-form p-0">
                  <div class="col-lg-12 mx-auto">
                    <form id="login-form">
                      <input type="text" name="username" placeholder="Username or Email Address *"
                        class="mb-3 ps-3 text-input">
                      <input type="password" name="password" placeholder="Password" class="ps-3 text-input">
                      <div class="checkbox d-flex justify-content-between mt-4">
                        <p class="checkbox-form">
                          <label class="">
                            <input name="rememberme" type="checkbox" id="remember-me" value="forever"> Remember me </label>
                        </p>
                        <p class="lost-password">
                          <a href="#">Forgot your password?</a>
                        </p>
                      </div>
                    </form>
                  </div>
                </div>
                <div class="modal-footer mt-5 d-flex justify-content-center">
                  <button type="button" class="btn btn-red hvr-sweep-to-right dark-sweep">Login</button>
                  <button type="button"
                    class="btn btn-outline-gray hvr-sweep-to-right dark-sweep">Register</button>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- Login -->
    
      <header id="header" class="site-header text-black">
        <div class="header-top border-bottom py-2">
          <div class="container-lg">
            <div class="row justify-content-evenly">
              <div class="col">
                <ul class="social-links list-unstyled d-flex m-0">
                  <li class="pe-2">
                    <a href="#">
                      <svg class="facebook" width="20" height="20">
                        <use xlink:href="#facebook"></use>
                      </svg>
                    </a>
                  </li>
                  <li class="pe-2">
                    <a href="#">
                      <svg class="instagram" width="20" height="20">
                        <use xlink:href="#instagram"></use>
                      </svg>
                    </a>
                  </li>
                  <li class="pe-2">
                    <a href="#">
                      <svg class="youtube" width="20" height="20">
                        <use xlink:href="#youtube"></use>
                      </svg>
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <svg class="pinterest" width="20" height="20">
                        <use xlink:href="#pinterest"></use>
                      </svg>
                    </a>
                  </li>
                </ul>
              </div>
              <div class="col d-none d-md-block">
                <p class="text-center text-black m-0"><strong>Special Offer</strong>: Free Shipping on all the orders above $100
                </p>
              </div>
              <div class="col">
                <ul class="d-flex justify-content-end gap-3 list-unstyled m-0">
                  <li>
                    <a href="#">Contact</a>
                  </li>
                  <li>
                    <a href="#">Cart</a>
                  </li>
                  <li>
                    <a href="#">Login</a>
                  </li>
                </ul>
              </div>
            </div>
          </div>
        </div>
        <nav id="header-nav" class="navbar navbar-expand-lg">
          <div class="container-lg">
            <a class="navbar-brand" href="#">
              <img src="assets/images/main-logo.png" class="logo" alt="logo">
            </a>
            <button class="navbar-toggler d-flex d-lg-none order-3 border-0 p-1 ms-2" type="button" data-bs-toggle="offcanvas"
              data-bs-target="#bdNavbar" aria-controls="bdNavbar" aria-expanded="false" aria-label="Toggle navigation">
              <svg class="navbar-icon">
                <use xlink:href="#navbar-icon"></use>
              </svg>
            </button>
            <div class="offcanvas offcanvas-end" tabindex="-1" id="bdNavbar">
              <div class="offcanvas-header px-4 pb-0">
                <a class="navbar-brand ps-3" href="#">
                  <img src="assets/images/main-logo.png" class="logo" alt="logo">
                </a>
                <button type="button" class="btn-close btn-close-black p-5" data-bs-dismiss="offcanvas" aria-label="Close"
                  data-bs-target="#bdNavbar"></button>
              </div>
              <div class="offcanvas-body">
                <ul id="navbar" class="navbar-nav fw-bold justify-content-end align-items-center flex-grow-1">
                  <li class="nav-item dropdown">
                    <a class="nav-link me-5 active dropdown-toggle border-0" href="#" data-bs-toggle="dropdown"
                      aria-expanded="false">Home</a>
                    <ul class="dropdown-menu fw-bold">
                      <li>
                        <a href="#" class="dropdown-item">Home V1</a>
                      </li>
                      <li>
                        <a href="#" class="dropdown-item">Home V2 <span class="badge bg-primary">PRO</span></a>
                      </li>
                    </ul>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link me-5" href="#">Men</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link me-5" href="#">Women</a>
                  </li>
                  <li class="nav-item dropdown">
                    <a class="nav-link me-5 active dropdown-toggle border-0" href="#" data-bs-toggle="dropdown"
                      aria-expanded="false">Page</a>
                    <ul class="dropdown-menu fw-bold">
                      <li>
                        <a href="#" class="dropdown-item">About Us <span class="badge bg-primary">PRO</span></a>
                      </li>
                      <li>
                        <a class="dropdown-item" href="#">Shop <span class="badge bg-primary">PRO</span></a>
                      </li>
                      <li>
                        <a class="dropdown-item" href="#">Blog <span class="badge bg-primary">PRO</span></a>
                      </li>
                      <li>
                        <a class="dropdown-item" href="#">Single Product <span class="badge bg-primary">PRO</span></a>
                      </li>
                      <li>
                        <a class="dropdown-item" href="#">Single Post <span class="badge bg-primary">PRO</span></a>
                      </li>
                      <li>
                        <a class="dropdown-item" href="#">Styles <span class="badge bg-primary">PRO</span></a>
                      </li>
                      <li>
                        <a href="#" data-bs-toggle="modal" data-bs-target="#modallong" class="dropdown-item">cart</a>
                      </li>
                      <li>
                        <a href="#" data-bs-toggle="modal" data-bs-target="#modallogin" class="dropdown-item">Login</a>
                      </li>
                    </ul>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link me-5" href="#">Shop</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link me-5" href="#">Sale</a>
                  </li>
                  <li class="nav-item">
                    <a class="btn btn-dark rounded-pill" href="https://templatesjungle.gumroad.com/l/stylish-ecommerce-store-template" target="_blank">Get PRO</a>
                  </li>
                </ul>
              </div>
            </div>
            <div class="user-items ps-0 ps-md-5">
              <ul class="d-flex justify-content-end list-unstyled align-item-center m-0">
                <li class="pe-3">
                  <a href="#" data-bs-toggle="modal" data-bs-target="#modallogin" class="border-0">
                    <svg class="user" width="24" height="24">
                      <use xlink:href="#user"></use>
                    </svg>
                  </a>
                </li>
                <li class="pe-3">
                  <a href="#" data-bs-toggle="modal" data-bs-target="#modallong" class="border-0">
                    <svg class="shopping-cart" width="24" height="24">
                      <use xlink:href="#shopping-cart"></use>
                    </svg>
                  </a>
                </li>
                <li>
                  <a href="#" class="search-item border-0" data-bs-toggle="collapse" data-bs-target="#search-box" aria-label="Toggle navigation">
                    <svg class="search" width="24" height="24">
                      <use xlink:href="#search"></use>
                    </svg>
                  </a>
                </li>
              </ul>
            </div>
          </div>
        </nav>
      </header>
    
      <section id="intro" class="position-relative mt-4">
        <div class="container-lg">
          <div class="swiper main-swiper">
            <div class="swiper-wrapper">
              <div class="swiper-slide">
                <div class="card d-flex flex-row align-items-end border-0 large jarallax-keep-img">
                  <img src="assets/images/card-image1.jpg" alt="shoes" class="img-fluid jarallax-img">
                  <div class="cart-concern p-3 m-3 p-lg-5 m-lg-5">
                    <h2 class="card-title display-3 light">Stylish shoes for Women</h2>
                    <a href="#"
                      class="text-uppercase light mt-3 d-inline-block text-hover fw-bold light-border">Shop Now</a>
                  </div>
                </div>
              </div>
              <div class="swiper-slide">
                <div class="row g-4">
                  <div class="col-lg-12 mb-4">
                    <div class="card d-flex flex-row align-items-end border-0 jarallax-keep-img">
                      <img src="assets/images/card-image2.jpg" alt="shoes" class="img-fluid jarallax-img">
                      <div class="cart-concern p-3 m-3 p-lg-5 m-lg-5">
                        <h2 class="card-title style-2 display-4 light">Sports Wear</h2>
                        <a href="#"
                          class="text-uppercase light mt-3 d-inline-block text-hover fw-bold light-border">Shop Now</a>
                      </div>
                    </div>
                  </div>
                  <div class="col-lg-12">
                    <div class="card d-flex flex-row align-items-end border-0 jarallax-keep-img">
                      <img src="assets/images/card-image3.jpg" alt="shoes" class="img-fluid jarallax-img">
                      <div class="cart-concern p-3 m-3 p-lg-5 m-lg-5">
                        <h2 class="card-title style-2 display-4 light">Fashion Shoes</h2>
                        <a href="#"
                          class="text-uppercase light mt-3 d-inline-block text-hover fw-bold light-border">Shop Now</a>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <div class="swiper-slide">
                <div class="card d-flex flex-row align-items-end border-0 large jarallax-keep-img">
                  <img src="assets/images/card-image4.jpg" alt="shoes" class="img-fluid jarallax-img">
                  <div class="cart-concern p-3 m-3 p-lg-5 m-lg-5">
                    <h2 class="card-title display-3 light">Stylish shoes for men</h2>
                    <a href="#"
                      class="text-uppercase light mt-3 d-inline-block text-hover fw-bold light-border">Shop Now</a>
                  </div>
                </div>
              </div>
              <div class="swiper-slide">
                <div class="row g-4">
                  <div class="col-lg-12 mb-4">
                    <div class="card d-flex flex-row align-items-end border-0 jarallax-keep-img">
                      <img src="assets/images/card-image5.jpg" alt="shoes" class="img-fluid jarallax-img">
                      <div class="cart-concern p-3 m-3 p-lg-5 m-lg-5">
                        <h2 class="card-title style-2 display-4 light">Men Shoes</h2>
                        <a href="#"
                          class="text-uppercase light mt-3 d-inline-block text-hover fw-bold light-border">Shop Now</a>
                      </div>
                    </div>
                  </div>
                  <div class="col-lg-12">
                    <div class="card d-flex flex-row align-items-end border-0 jarallax-keep-img">
                      <img src="assets/images/card-image6.jpg" alt="shoes" class="img-fluid jarallax-img">
                      <div class="cart-concern p-3 m-3 p-lg-5 m-lg-5">
                        <h2 class="card-title style-2 display-4 light">Women Shoes</h2>
                        <a href="#"
                          class="text-uppercase light mt-3 d-inline-block text-hover fw-bold light-border">Shop Now</a>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <div class="swiper-pagination"></div>
        </div>
      </section>
      <section class="discount-coupon py-2 my-2 py-md-5 my-md-5">
        <div class="container">
          <div class="bg-gray coupon position-relative p-5">
            <div class="bold-text position-absolute">10% OFF</div>
            <div class="row justify-content-between align-items-center">
              <div class="col-lg-7 col-md-12 mb-3">
                <div class="coupon-header">
                  <h2 class="display-7">10% OFF Discount Coupons</h2>
                  <p class="m-0">Subscribe us to get 10% OFF on all the purchases</p>
                </div>
              </div>
              <div class="col-lg-3 col-md-12">
                <div class="btn-wrap">
                  <a href="#" class="btn btn-black btn-medium text-uppercase hvr-sweep-to-right">Email me</a>
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>
      <section id="featured-products" class="product-store">
        <div class="container-md">
          <div class="display-header d-flex align-items-center justify-content-between">
            <h2 class="section-title text-uppercase">Featured Products</h2>
            <div class="btn-right">
              <a href="#" class="d-inline-block text-uppercase text-hover fw-bold">View all</a>
            </div>
          </div>
          <div class="product-content padding-small">
            <div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-5">
              <div class="col mb-4">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item1.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item2.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item3.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item4.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item5.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>
      <section id="collection-products" class="py-2 my-2 py-md-5 my-md-5">
        <div class="container-md">
          <div class="row">
            <div class="col-lg-6 col-md-6 mb-4">
              <div class="collection-card card border-0 d-flex flex-row align-items-end jarallax-keep-img">
                <img src="assets/images/collection-item1.jpg" alt="product-item" class="border-rounded-10 img-fluid jarallax-img">
                <div class="card-detail p-3 m-3 p-lg-5 m-lg-5">
                  <h3 class="card-title display-3">
                    <a href="#">Minimal Collection</a>
                  </h3>
                  <a href="#" class="text-uppercase mt-3 d-inline-block text-hover fw-bold">Shop Now</a>
                </div>
              </div>
            </div>
            <div class="col-lg-6 col-md-6">
              <div class="collection-card card border-0 d-flex flex-row jarallax-keep-img">
                <img src="assets/images/collection-item2.jpg" alt="product-item" class="border-rounded-10 img-fluid jarallax-img">
                <div class="card-detail p-3 m-3 p-lg-5 m-lg-5">
                  <h3 class="card-title display-3">
                    <a href="#">Sneakers Collection</a>
                  </h3>
                  <a href="#" class="text-uppercase mt-3 d-inline-block text-hover fw-bold">Shop Now</a>
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>
      <section id="latest-products" class="product-store py-2 my-2 py-md-5 my-md-5 pt-0">
        <div class="container-md">
          <div class="display-header d-flex align-items-center justify-content-between">
            <h2 class="section-title text-uppercase">Latest Products</h2>
            <div class="btn-right">
              <a href="#" class="d-inline-block text-uppercase text-hover fw-bold">View all</a>
            </div>
          </div>
          <div class="product-content padding-small">
            <div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-5">
              <div class="col mb-4 mb-3">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item6.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4 mb-3">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item7.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4 mb-3">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item8.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4 mb-3">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item9.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
              <div class="col mb-4 mb-3">
                <div class="product-card position-relative">
                  <div class="card-img">
                    <img src="assets/images/card-item10.jpg" alt="product-item" class="product-image img-fluid">
                    <div class="cart-concern position-absolute d-flex justify-content-center">
                      <div class="cart-button d-flex gap-2 justify-content-center align-items-center">
                        <button type="button" class="btn btn-light" data-bs-toggle="modal" data-bs-target="#modallong">
                          <svg class="shopping-carriage">
                            <use xlink:href="#shopping-carriage"></use>
                          </svg>
                        </button>
                        <button type="button" class="btn btn-light" data-bs-target="#modaltoggle" data-bs-toggle="modal">
                          <svg class="quick-view">
                            <use xlink:href="#quick-view"></use>
                          </svg>
                        </button>
                      </div>
                    </div>
                    <!-- cart-concern -->
                  </div>
                  <div class="card-detail d-flex justify-content-between align-items-center mt-3">
                    <h3 class="card-title fs-6 fw-normal m-0">
                      <a href="#">Running shoes for men</a>
                    </h3>
                    <span class="card-price fw-bold">$99</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>
    
      <footer id="footer" class="py-5 border-top">
        <div class="container-lg">
          <div class="row">
            <div class="col-lg-2 pb-3">
              <div class="footer-menu">
                <h5 class="widget-title pb-2">Info</h5>
                <ul class="menu-list list-unstyled">
                  <li class="pb-2">
                    <a href="#">Track Your Order</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Our Blog</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Privacy policy</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Shipping</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Contact Us</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Help</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Community</a>
                  </li>
                </ul>
              </div>
            </div>
            <div class="col-lg-2 pb-3">
              <div class="footer-menu">
                <h5 class="widget-title pb-2">About</h5>
                <ul class="menu-list list-unstyled">
                  <li class="pb-2">
                    <a href="#">History</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Our Team</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Services</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Company</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Manufacture</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Wholesale</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Retail</a>
                  </li>
                </ul>
              </div>
            </div>
            <div class="col-lg-2 pb-3">
              <div class="footer-menu">
                <h5 class="widget-title pb-2">Women Shoes</h5>
                <ul class="menu-list list-unstyled">
                  <li class="pb-2">
                    <a href="#">Track Your Order</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Our Blog</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Privacy policy</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Shipping</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Contact Us</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Help</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Community</a>
                  </li>
                </ul>
              </div>
            </div>
            <div class="col-lg-2 pb-3">
              <div class="footer-menu">
                <h5 class="widget-title pb-2">Popular</h5>
                <ul class="menu-list list-unstyled">
                  <li class="pb-2">
                    <a href="#">Prices Drop</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">New Products</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Best Sales</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Stores</a>
                  </li>
                  <li class="pb-2">
                    <a href="#" data-bs-toggle="modal" data-bs-target="#modallogin">Login</a>
                  </li>
                  <li class="pb-2">
                    <a href="#" data-bs-toggle="modal" data-bs-target="#modallong">Cart</a>
                  </li>
                </ul>
              </div>
            </div>
            <div class="col-lg-2 pb-3">
              <div class="footer-menu">
                <h5 class="widget-title pb-2">Mens Collection</h5>
                <ul class="menu-list list-unstyled">
                  <li class="pb-2">
                    <a href="#">Delivery</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">About Us</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Shoes</a>
                  </li>
                  <li class="pb-2">
                    <a href="#">Contact Us</a>
                  </li>
                </ul>
              </div>
            </div>
            <div class="col-lg-2 pb-3">
              <div class="footer-menu">
                <h5 class="widget-title pb-3">Get In Touch</h5>
                <div class="footer-contact-text">
                  <span>Stylish Online Store 123 Ludhiana. </span>
                  <span> Call us: (+91) 000 000 000-000 </span>
                  <span class="text-hover fw-bold light-border"><a href="mailto:therichpost.com">therichpost.com</a></span>
                </div>
              </div>
            </div>
          </div>
          <div class="row">
            <div class="col-md-6">
              <p>© Copyright Free 2023.</p>
            </div>
            <div class="col-md-6 text-lg-end">
              <p>Free HTML by <a href="https://therichpost.com/" target="_blank">Jassa</a></p>
            </div>
          </div>
        </div>
      </footer>

    4. Now guy’s we need to add below code inside our project/src/index.html file:

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Angular17</title>
      <base href="/">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="icon" type="image/x-icon" href="favicon.ico">
     
    
      <link rel="preconnect" href="https://fonts.googleapis.com">
      <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
      <link
        href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,900;1,900&family=Source+Sans+Pro:wght@400;600;700;900&display=swap"
        rel="stylesheet">
    </head>
    <body id="page-top">
      <app-root></app-root>
     
    </body>
    </html>
    

    5. Guys here is the git repo link from where we will get images, css and scripts files and placed inside project project/scr/assets folder:

    Git Repo Link

    Friends in the end must run ng serve command into your terminal to run the angular 17 project (localhost:4200).

    Guys click here to check the Angular 17 Bootstrap 5 Free Templates.

    Now we are done friends. If you have any kind of query, suggestion and new requirement then feel free to comment below.

    Jassa

    Thanks

  • Angular 17 Free Admin Dashboard Template 2

    Angular 17 Free Admin Dashboard Template 2

    Hello friends, welcome back to my blog. Today this blog post will tell you, Angular 17 Free Admin Dashboard Template 2.


    Live Demo

    Angular 17 Free Admin Dashboard Template 2
    Angular 17 Free Admin Dashboard Template 2

    Angular 17 came and Bootstrap 5 also. If you are new then you must check below two links:

    1. Angular 17 Basic Tutorials
    2. Bootstrap 5

    Friends now I proceed onwards and here is the working code snippet and please use carefully this to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angularboot5 //Create new Angular Project
    
    cd angularboot5 // Go inside the Angular Project Folder

    2. Now friends we just need to add below code into angularboot5/src/app/app.component.html file to get final out on the web browser:

     <!-- Page Wrapper -->
     <div id="wrapper">
    
        <!-- Sidebar -->
        <ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
    
            <!-- Sidebar - Brand -->
            <a class="sidebar-brand d-flex align-items-center justify-content-center" href="#">
                <div class="sidebar-brand-icon rotate-n-15">
                    <i class="fas fa-laugh-wink"></i>
                </div>
                <div class="sidebar-brand-text mx-3">SB Admin <sup>2</sup></div>
            </a>
    
            <!-- Divider -->
            <hr class="sidebar-divider my-0">
    
            <!-- Nav Item - Dashboard -->
            <li class="nav-item active">
                <a class="nav-link" href="#">
                    <i class="fas fa-fw fa-tachometer-alt"></i>
                    <span>Dashboard</span></a>
            </li>
    
            <!-- Divider -->
            <hr class="sidebar-divider">
    
            <!-- Heading -->
            <div class="sidebar-heading">
                Interface
            </div>
    
            <!-- Nav Item - Pages Collapse Menu -->
            <li class="nav-item">
                <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
                    aria-expanded="true" aria-controls="collapseTwo">
                    <i class="fas fa-fw fa-cog"></i>
                    <span>Components</span>
                </a>
                <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
                    <div class="bg-white py-2 collapse-inner rounded">
                        <h6 class="collapse-header">Custom Components:</h6>
                        <a class="collapse-item" href="#">Buttons</a>
                        <a class="collapse-item" href="#">Cards</a>
                    </div>
                </div>
            </li>
    
            <!-- Nav Item - Utilities Collapse Menu -->
            <li class="nav-item">
                <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
                    aria-expanded="true" aria-controls="collapseUtilities">
                    <i class="fas fa-fw fa-wrench"></i>
                    <span>Utilities</span>
                </a>
                <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
                    data-parent="#accordionSidebar">
                    <div class="bg-white py-2 collapse-inner rounded">
                        <h6 class="collapse-header">Custom Utilities:</h6>
                        <a class="collapse-item" href="#">Colors</a>
                        <a class="collapse-item" href="#">Borders</a>
                        <a class="collapse-item" href="#">Animations</a>
                        <a class="collapse-item" href="#">Other</a>
                    </div>
                </div>
            </li>
    
            <!-- Divider -->
            <hr class="sidebar-divider">
    
            <!-- Heading -->
            <div class="sidebar-heading">
                Addons
            </div>
    
            <!-- Nav Item - Pages Collapse Menu -->
            <li class="nav-item">
                <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
                    aria-expanded="true" aria-controls="collapsePages">
                    <i class="fas fa-fw fa-folder"></i>
                    <span>Pages</span>
                </a>
                <div id="collapsePages" class="collapse" aria-labelledby="headingPages" data-parent="#accordionSidebar">
                    <div class="bg-white py-2 collapse-inner rounded">
                        <h6 class="collapse-header">Login Screens:</h6>
                        <a class="collapse-item" href="#">Login</a>
                        <a class="collapse-item" href="#">Register</a>
                        <a class="collapse-item" href="#">Forgot Password</a>
                        <div class="collapse-divider"></div>
                        <h6 class="collapse-header">Other Pages:</h6>
                        <a class="collapse-item" href="#">404 Page</a>
                        <a class="collapse-item" href="#">Blank Page</a>
                    </div>
                </div>
            </li>
    
            <!-- Nav Item - Charts -->
            <li class="nav-item">
                <a class="nav-link" href="#">
                    <i class="fas fa-fw fa-chart-area"></i>
                    <span>Charts</span></a>
            </li>
    
            <!-- Nav Item - Tables -->
            <li class="nav-item">
                <a class="nav-link" href="#">
                    <i class="fas fa-fw fa-table"></i>
                    <span>Tables</span></a>
            </li>
    
            <!-- Divider -->
            <hr class="sidebar-divider d-none d-md-block">
    
            <!-- Sidebar Toggler (Sidebar) -->
            <div class="text-center d-none d-md-inline">
                <button class="rounded-circle border-0" id="sidebarToggle"></button>
            </div>
    
        </ul>
        <!-- End of Sidebar -->
    
        <!-- Content Wrapper -->
        <div id="content-wrapper" class="d-flex flex-column">
    
            <!-- Main Content -->
            <div id="content">
    
                <!-- Topbar -->
                <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
    
                    <!-- Sidebar Toggle (Topbar) -->
                    <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
                        <i class="fa fa-bars"></i>
                    </button>
    
                    <!-- Topbar Search -->
                    <form
                        class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
                        <div class="input-group">
                            <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
                                aria-label="Search" aria-describedby="basic-addon2">
                            <div class="input-group-append">
                                <button class="btn btn-primary" type="button">
                                    <i class="fas fa-search fa-sm"></i>
                                </button>
                            </div>
                        </div>
                    </form>
    
                    <!-- Topbar Navbar -->
                    <ul class="navbar-nav ml-auto">
    
                        <!-- Nav Item - Search Dropdown (Visible Only XS) -->
                        <li class="nav-item dropdown no-arrow d-sm-none">
                            <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <i class="fas fa-search fa-fw"></i>
                            </a>
                            <!-- Dropdown - Messages -->
                            <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
                                aria-labelledby="searchDropdown">
                                <form class="form-inline mr-auto w-100 navbar-search">
                                    <div class="input-group">
                                        <input type="text" class="form-control bg-light border-0 small"
                                            placeholder="Search for..." aria-label="Search"
                                            aria-describedby="basic-addon2">
                                        <div class="input-group-append">
                                            <button class="btn btn-primary" type="button">
                                                <i class="fas fa-search fa-sm"></i>
                                            </button>
                                        </div>
                                    </div>
                                </form>
                            </div>
                        </li>
    
                        <!-- Nav Item - Alerts -->
                        <li class="nav-item dropdown no-arrow mx-1">
                            <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <i class="fas fa-bell fa-fw"></i>
                                <!-- Counter - Alerts -->
                                <span class="badge badge-danger badge-counter">3+</span>
                            </a>
                            <!-- Dropdown - Alerts -->
                            <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
                                aria-labelledby="alertsDropdown">
                                <h6 class="dropdown-header">
                                    Alerts Center
                                </h6>
                                <a class="dropdown-item d-flex align-items-center" href="#">
                                    <div class="mr-3">
                                        <div class="icon-circle bg-primary">
                                            <i class="fas fa-file-alt text-white"></i>
                                        </div>
                                    </div>
                                    <div>
                                        <div class="small text-gray-500">December 12, 2019</div>
                                        <span class="font-weight-bold">A new monthly report is ready to download!</span>
                                    </div>
                                </a>
                                <a class="dropdown-item d-flex align-items-center" href="#">
                                    <div class="mr-3">
                                        <div class="icon-circle bg-success">
                                            <i class="fas fa-donate text-white"></i>
                                        </div>
                                    </div>
                                    <div>
                                        <div class="small text-gray-500">December 7, 2019</div>
                                        $290.29 has been deposited into your account!
                                    </div>
                                </a>
                                <a class="dropdown-item d-flex align-items-center" href="#">
                                    <div class="mr-3">
                                        <div class="icon-circle bg-warning">
                                            <i class="fas fa-exclamation-triangle text-white"></i>
                                        </div>
                                    </div>
                                    <div>
                                        <div class="small text-gray-500">December 2, 2019</div>
                                        Spending Alert: We've noticed unusually high spending for your account.
                                    </div>
                                </a>
                                <a class="dropdown-item text-center small text-gray-500" href="#">Show All Alerts</a>
                            </div>
                        </li>
    
                        <!-- Nav Item - Messages -->
                        <li class="nav-item dropdown no-arrow mx-1">
                            <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <i class="fas fa-envelope fa-fw"></i>
                                <!-- Counter - Messages -->
                                <span class="badge badge-danger badge-counter">7</span>
                            </a>
                            <!-- Dropdown - Messages -->
                            <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
                                aria-labelledby="messagesDropdown">
                                <h6 class="dropdown-header">
                                    Message Center
                                </h6>
                                <a class="dropdown-item d-flex align-items-center" href="#">
                                    <div class="dropdown-list-image mr-3">
                                        <img class="rounded-circle" src="assets/img/undraw_profile_1.svg"
                                            alt="...">
                                        <div class="status-indicator bg-success"></div>
                                    </div>
                                    <div class="font-weight-bold">
                                        <div class="text-truncate">Hi there! I am wondering if you can help me with a
                                            problem I've been having.</div>
                                        <div class="small text-gray-500">Emily Fowler · 58m</div>
                                    </div>
                                </a>
                                <a class="dropdown-item d-flex align-items-center" href="#">
                                    <div class="dropdown-list-image mr-3">
                                        <img class="rounded-circle" src="assets/img/undraw_profile_2.svg"
                                            alt="...">
                                        <div class="status-indicator"></div>
                                    </div>
                                    <div>
                                        <div class="text-truncate">I have the photos that you ordered last month, how
                                            would you like them sent to you?</div>
                                        <div class="small text-gray-500">Jae Chun · 1d</div>
                                    </div>
                                </a>
                                <a class="dropdown-item d-flex align-items-center" href="#">
                                    <div class="dropdown-list-image mr-3">
                                        <img class="rounded-circle" src="assets/img/undraw_profile_3.svg"
                                            alt="...">
                                        <div class="status-indicator bg-warning"></div>
                                    </div>
                                    <div>
                                        <div class="text-truncate">Last month's report looks great, I am very happy with
                                            the progress so far, keep up the good work!</div>
                                        <div class="small text-gray-500">Morgan Alvarez · 2d</div>
                                    </div>
                                </a>
                                <a class="dropdown-item d-flex align-items-center" href="#">
                                    <div class="dropdown-list-image mr-3">
                                        <img class="rounded-circle" src="#"
                                            alt="...">
                                        <div class="status-indicator bg-success"></div>
                                    </div>
                                    <div>
                                        <div class="text-truncate">Am I a good boy? The reason I ask is because someone
                                            told me that people say this to all dogs, even if they aren't good...</div>
                                        <div class="small text-gray-500">Chicken the Dog · 2w</div>
                                    </div>
                                </a>
                                <a class="dropdown-item text-center small text-gray-500" href="#">Read More Messages</a>
                            </div>
                        </li>
    
                        <div class="topbar-divider d-none d-sm-block"></div>
    
                        <!-- Nav Item - User Information -->
                        <li class="nav-item dropdown no-arrow">
                            <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
                                <img class="img-profile rounded-circle"
                                    src="assets/img/undraw_profile.svg">
                            </a>
                            <!-- Dropdown - User Information -->
                            <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
                                aria-labelledby="userDropdown">
                                <a class="dropdown-item" href="#">
                                    <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
                                    Profile
                                </a>
                                <a class="dropdown-item" href="#">
                                    <i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
                                    Settings
                                </a>
                                <a class="dropdown-item" href="#">
                                    <i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
                                    Activity Log
                                </a>
                                <div class="dropdown-divider"></div>
                                <a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
                                    <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
                                    Logout
                                </a>
                            </div>
                        </li>
    
                    </ul>
    
                </nav>
                <!-- End of Topbar -->
    
                <!-- Begin Page Content -->
                <div class="container-fluid">
    
                    <!-- Page Heading -->
                    <div class="d-sm-flex align-items-center justify-content-between mb-4">
                        <h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
                        <a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i
                                class="fas fa-download fa-sm text-white-50"></i> Generate Report</a>
                    </div>
    
                    <!-- Content Row -->
                    <div class="row">
    
                        <!-- Earnings (Monthly) Card Example -->
                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-primary shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
                                                Earnings (Monthly)</div>
                                            <div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="fas fa-calendar fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
    
                        <!-- Earnings (Monthly) Card Example -->
                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-success shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-success text-uppercase mb-1">
                                                Earnings (Annual)</div>
                                            <div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
    
                        <!-- Earnings (Monthly) Card Example -->
                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-info shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks
                                            </div>
                                            <div class="row no-gutters align-items-center">
                                                <div class="col-auto">
                                                    <div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div>
                                                </div>
                                                <div class="col">
                                                    <div class="progress progress-sm mr-2">
                                                        <div class="progress-bar bg-info" role="progressbar"
                                                            style="width: 50%" aria-valuenow="50" aria-valuemin="0"
                                                            aria-valuemax="100"></div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
    
                        <!-- Pending Requests Card Example -->
                        <div class="col-xl-3 col-md-6 mb-4">
                            <div class="card border-left-warning shadow h-100 py-2">
                                <div class="card-body">
                                    <div class="row no-gutters align-items-center">
                                        <div class="col mr-2">
                                            <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
                                                Pending Requests</div>
                                            <div class="h5 mb-0 font-weight-bold text-gray-800">18</div>
                                        </div>
                                        <div class="col-auto">
                                            <i class="fas fa-comments fa-2x text-gray-300"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
    
                    <!-- Content Row -->
    
                    <div class="row">
    
                        <!-- Area Chart -->
                        <div class="col-xl-8 col-lg-7">
                            <div class="card shadow mb-4">
                                <!-- Card Header - Dropdown -->
                                <div
                                    class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
                                    <h6 class="m-0 font-weight-bold text-primary">Earnings Overview</h6>
                                    <div class="dropdown no-arrow">
                                        <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
                                            data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                            <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
                                        </a>
                                        <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
                                            aria-labelledby="dropdownMenuLink">
                                            <div class="dropdown-header">Dropdown Header:</div>
                                            <a class="dropdown-item" href="#">Action</a>
                                            <a class="dropdown-item" href="#">Another action</a>
                                            <div class="dropdown-divider"></div>
                                            <a class="dropdown-item" href="#">Something else here</a>
                                        </div>
                                    </div>
                                </div>
                                <!-- Card Body -->
                                <div class="card-body">
                                    <div class="chart-area">
                                        <canvas id="myAreaChart"></canvas>
                                    </div>
                                </div>
                            </div>
                        </div>
    
                        <!-- Pie Chart -->
                        <div class="col-xl-4 col-lg-5">
                            <div class="card shadow mb-4">
                                <!-- Card Header - Dropdown -->
                                <div
                                    class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
                                    <h6 class="m-0 font-weight-bold text-primary">Revenue Sources</h6>
                                    <div class="dropdown no-arrow">
                                        <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
                                            data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                            <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
                                        </a>
                                        <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
                                            aria-labelledby="dropdownMenuLink">
                                            <div class="dropdown-header">Dropdown Header:</div>
                                            <a class="dropdown-item" href="#">Action</a>
                                            <a class="dropdown-item" href="#">Another action</a>
                                            <div class="dropdown-divider"></div>
                                            <a class="dropdown-item" href="#">Something else here</a>
                                        </div>
                                    </div>
                                </div>
                                <!-- Card Body -->
                                <div class="card-body">
                                    <div class="chart-pie pt-4 pb-2">
                                        <canvas id="myPieChart"></canvas>
                                    </div>
                                    <div class="mt-4 text-center small">
                                        <span class="mr-2">
                                            <i class="fas fa-circle text-primary"></i> Direct
                                        </span>
                                        <span class="mr-2">
                                            <i class="fas fa-circle text-success"></i> Social
                                        </span>
                                        <span class="mr-2">
                                            <i class="fas fa-circle text-info"></i> Referral
                                        </span>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
    
                    <!-- Content Row -->
                    <div class="row">
    
                        <!-- Content Column -->
                        <div class="col-lg-6 mb-4">
    
                            <!-- Project Card Example -->
                            <div class="card shadow mb-4">
                                <div class="card-header py-3">
                                    <h6 class="m-0 font-weight-bold text-primary">Projects</h6>
                                </div>
                                <div class="card-body">
                                    <h4 class="small font-weight-bold">Server Migration <span
                                            class="float-right">20%</span></h4>
                                    <div class="progress mb-4">
                                        <div class="progress-bar bg-danger" role="progressbar" style="width: 20%"
                                            aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
                                    </div>
                                    <h4 class="small font-weight-bold">Sales Tracking <span
                                            class="float-right">40%</span></h4>
                                    <div class="progress mb-4">
                                        <div class="progress-bar bg-warning" role="progressbar" style="width: 40%"
                                            aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
                                    </div>
                                    <h4 class="small font-weight-bold">Customer Database <span
                                            class="float-right">60%</span></h4>
                                    <div class="progress mb-4">
                                        <div class="progress-bar" role="progressbar" style="width: 60%"
                                            aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
                                    </div>
                                    <h4 class="small font-weight-bold">Payout Details <span
                                            class="float-right">80%</span></h4>
                                    <div class="progress mb-4">
                                        <div class="progress-bar bg-info" role="progressbar" style="width: 80%"
                                            aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
                                    </div>
                                    <h4 class="small font-weight-bold">Account Setup <span
                                            class="float-right">Complete!</span></h4>
                                    <div class="progress">
                                        <div class="progress-bar bg-success" role="progressbar" style="width: 100%"
                                            aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
                                    </div>
                                </div>
                            </div>
    
                            <!-- Color System -->
                            <div class="row">
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-primary text-white shadow">
                                        <div class="card-body">
                                            Primary
                                            <div class="text-white-50 small">#4e73df</div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-success text-white shadow">
                                        <div class="card-body">
                                            Success
                                            <div class="text-white-50 small">#1cc88a</div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-info text-white shadow">
                                        <div class="card-body">
                                            Info
                                            <div class="text-white-50 small">#36b9cc</div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-warning text-white shadow">
                                        <div class="card-body">
                                            Warning
                                            <div class="text-white-50 small">#f6c23e</div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-danger text-white shadow">
                                        <div class="card-body">
                                            Danger
                                            <div class="text-white-50 small">#e74a3b</div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-secondary text-white shadow">
                                        <div class="card-body">
                                            Secondary
                                            <div class="text-white-50 small">#858796</div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-light text-black shadow">
                                        <div class="card-body">
                                            Light
                                            <div class="text-black-50 small">#f8f9fc</div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb-4">
                                    <div class="card bg-dark text-white shadow">
                                        <div class="card-body">
                                            Dark
                                            <div class="text-white-50 small">#5a5c69</div>
                                        </div>
                                    </div>
                                </div>
                            </div>
    
                        </div>
    
                        <div class="col-lg-6 mb-4">
    
                            <!-- Illustrations -->
                            <div class="card shadow mb-4">
                                <div class="card-header py-3">
                                    <h6 class="m-0 font-weight-bold text-primary">Illustrations</h6>
                                </div>
                                <div class="card-body">
                                    <div class="text-center">
                                        <img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;"
                                            src="assets/img/undraw_posting_photo.svg" alt="...">
                                    </div>
                                    <p>Add some quality, svg illustrations to your project courtesy of <a
                                            target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a
                                        constantly updated collection of beautiful svg images that you can use
                                        completely free and without attribution!</p>
                                    <a target="_blank" rel="nofollow" href="https://undraw.co/">Browse Illustrations on
                                        unDraw &rarr;</a>
                                </div>
                            </div>
    
                            <!-- Approach -->
                            <div class="card shadow mb-4">
                                <div class="card-header py-3">
                                    <h6 class="m-0 font-weight-bold text-primary">Development Approach</h6>
                                </div>
                                <div class="card-body">
                                    <p>SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce
                                        CSS bloat and poor page performance. Custom CSS classes are used to create
                                        custom components and custom utility classes.</p>
                                    <p class="mb-0">Before working with this theme, you should become familiar with the
                                        Bootstrap framework, especially the utility classes.</p>
                                </div>
                            </div>
    
                        </div>
                    </div>
    
                </div>
                <!-- /.container-fluid -->
    
            </div>
            <!-- End of Main Content -->
    
            <!-- Footer -->
            <footer class="sticky-footer bg-white">
                <div class="container my-auto">
                    <div class="copyright text-center my-auto">
                        <span>Copyright &copy; Your Website 2023</span>
                    </div>
                </div>
            </footer>
            <!-- End of Footer -->
    
        </div>
        <!-- End of Content Wrapper -->
    
    </div>
    <!-- End of Page Wrapper -->
    
    <!-- Scroll to Top Button-->
    <a class="scroll-to-top rounded" href="#page-top">
        <i class="fas fa-angle-up"></i>
    </a>
    
    <!-- Logout Modal-->
    <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
        aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>
                    <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">×</span>
                    </button>
                </div>
                <div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
                <div class="modal-footer">
                    <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
                    <a class="btn btn-primary" href="#">Logout</a>
                </div>
            </div>
        </div>
    </div>

    3. Now friends we just need to add below stylesheet url code into angularboot5/src/index.html file for font awesome icons:

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Angular17</title>
      <base href="/">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="icon" type="image/x-icon" href="favicon.ico">
     
      <link
          href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
          rel="stylesheet">
    
     
    </head>
    <body id="page-top">
      <app-root></app-root>
        
    </body>
    </html>

    4. Now friends we just need to add below code into angularboot5/angular.json file to get all the styles, js and images:

    ...
     "styles": [
                  "src/styles.css",
                  "src/assets/assets/vendor/fontawesome-free/css/all.min.css",
                  "src/assets/css/sb-admin-2.min.css"
    
                 
                ],
                "scripts": [
               "src/assets/vendor/jquery/jquery.min.js",
               "src/assets/vendor/bootstrap/js/bootstrap.bundle.min.js",
               "src/assets/vendor/jquery-easing/jquery.easing.min.js",
               "src/assets/js/sb-admin-2.min.js",
               "src/assets/vendor/chart.js/Chart.min.js",
               "src/assets/js/demo/chart-area-demo.js",
               "src/assets/js/demo/chart-pie-demo.js"
                ],
    ...

    5. Guys here is the git repo link from where we will get all the assets and place inside src/assets folder in angular 17 project:

    Git Repo Link

    Friends in the end must run ng serve command into your terminal to run the angular 17 project(localhost:4200).

    Now we are done friends. If you have any kind of query, suggestion and new requirement then feel free to comment below.

    Note: Friends, In this post, I just tell the basic setup and things, you can change the code according to your requirements.

    I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad because with your views, I will make my next posts more good and helpful.

    Jassa

    Thanks

  • Shopify Add to Cart Product with Ajax working example

    Shopify Add to Cart Product with Ajax working example

    Hello guys welcome back to my blog therichpost.com. Today in this blog post, I am going to tell you, Shopify Add to Cart Product with Ajax working example.

    Live Demo
    Shopify Add to Cart Product with Ajax working example
    Shopify Add to Cart Product with Ajax working example

    Guys if you are new in Shopify then please check below link:

    1. Shopify

    1. Guys here is the jQuery code and we need to add this into our global.js file and make sure add to cart button has ID `add-to-cart-form`:

    $('#add-to-cart-form').on('submit', function(event) {
      event.preventDefault(); // prevent default form submission
      $.ajax({
        type: 'POST',
        url: '/cart/add.js',
        data: $(this).serialize(),
        dataType: 'json',
        success: function() {
          // Do something on success (e.g. show a success message)
          alert("Product added to cart.");
        },
        error: function() {
          // Do something on error (e.g. show an error message)
        }
      });
    });

    2. Guys for make jquery work we need to add below cdn inti header.liquid file:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>

    Guys this is it and if you will have more query then feel free to comment below.

    Jassa

    Thanks

  • Angular 17 Free Ecommerce Website Template

    Angular 17 Free Ecommerce Website Template

    Hello friends, welcome back to my blog. Today this blog post I will tell you, Angular 17 Free Ecommerce Website Template.

    In this post, guys we will cover below things:

    Working Video
    Angular 17 Free Ecommerce Website Template
    Angular 17 Free Ecommerce Website Template

    Angular17 came and Bootstrap5 also and if you are new then you must check below two links:

    1. Angular 17 Basic Tutorials
    2. Bootstrap 5

    Friends now I proceed onwards and here is the working code snippet for Converting HTML Template into Angular 14 Project and please use carefully this to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angulardemo //Create new Angular Project
    
    cd angulardemo // Go inside the Angular Project Folder
    npm i bootstrap
    
    npm i @popperjs/core 
    
    ng g c header
    
    ng g c footer
    
    ng g c home 

    2. Now guy’s we need to add below code inside our project/angular.json file:

    ...
      "styles": [
                  ...
                  "node_modules/bootstrap/dist/css/bootstrap.min.css"
                ],
                "scripts": [
                  "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"
                ]
    ...

    3. Now guy’s we need to add below code inside our project/src/app/header/header.component.html file:

    <!-- Start Top Nav -->
    <nav class="navbar navbar-expand-lg bg-dark navbar-light d-none d-lg-block" id="templatemo_nav_top">
      <div class="container text-light">
          <div class="w-100 d-flex justify-content-between">
              <div>
                  <i class="fa fa-envelope mx-2"></i>
                  <a class="navbar-sm-brand text-light text-decoration-none" href="#">info@company.com</a>
                  <i class="fa fa-phone mx-2"></i>
                  <a class="navbar-sm-brand text-light text-decoration-none" href="#">010-000-0000</a>
              </div>
              <div>
                  <a class="text-light" href="#" target="_blank" rel="sponsored"><i class="fab fa-facebook-f fa-sm fa-fw me-2"></i></a>
                  <a class="text-light" href="#" target="_blank"><i class="fab fa-instagram fa-sm fa-fw me-2"></i></a>
                  <a class="text-light" href="#" target="_blank"><i class="fab fa-twitter fa-sm fa-fw me-2"></i></a>
                  <a class="text-light" href="#" target="_blank"><i class="fab fa-linkedin fa-sm fa-fw"></i></a>
              </div>
          </div>
      </div>
    </nav>
    <!-- Close Top Nav -->
    
    
    <!-- Header -->
    <nav class="navbar navbar-expand-lg navbar-light shadow">
      <div class="container d-flex justify-content-between align-items-center">
    
          <a class="navbar-brand text-success logo h1 align-self-center" href="#">
              Jassa
          </a>
    
          <button class="navbar-toggler border-0" type="button" data-bs-toggle="collapse" data-bs-target="#templatemo_main_nav" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
          </button>
    
          <div class="align-self-center collapse navbar-collapse flex-fill  d-lg-flex justify-content-lg-between" id="templatemo_main_nav">
              <div class="flex-fill">
                  <ul class="nav navbar-nav d-flex justify-content-between mx-lg-auto">
                      <li class="nav-item">
                          <a class="nav-link" href="#">Home</a>
                      </li>
                      <li class="nav-item">
                          <a class="nav-link" href="#">About</a>
                      </li>
                      <li class="nav-item">
                          <a class="nav-link" href="#">Shop</a>
                      </li>
                      <li class="nav-item">
                          <a class="nav-link" href="#">Contact</a>
                      </li>
                  </ul>
              </div>
              <div class="navbar align-self-center d-flex">
                  <div class="d-lg-none flex-sm-fill mt-3 mb-4 col-7 col-sm-auto pr-3">
                      <div class="input-group">
                          <input type="text" class="form-control" id="inputMobileSearch" placeholder="Search ...">
                          <div class="input-group-text">
                              <i class="fa fa-fw fa-search"></i>
                          </div>
                      </div>
                  </div>
                  <a class="nav-icon d-none d-lg-inline" href="#" data-bs-toggle="modal" data-bs-target="#templatemo_search">
                      <i class="fa fa-fw fa-search text-dark mr-2"></i>
                  </a>
                  <a class="nav-icon position-relative text-decoration-none" href="#">
                      <i class="fa fa-fw fa-cart-arrow-down text-dark mr-1"></i>
                      <span class="position-absolute top-0 left-100 translate-middle badge rounded-pill bg-light text-dark">7</span>
                  </a>
                  <a class="nav-icon position-relative text-decoration-none" href="#">
                      <i class="fa fa-fw fa-user text-dark mr-3"></i>
                      <span class="position-absolute top-0 left-100 translate-middle badge rounded-pill bg-light text-dark">+99</span>
                  </a>
              </div>
          </div>
    
      </div>
    </nav>
    <!-- Close Header -->
    
    <!-- Modal -->
    <div class="modal fade bg-white" id="templatemo_search" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
      <div class="modal-dialog modal-lg" role="document">
          <div class="w-100 pt-1 mb-5 text-right">
              <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
          </div>
          <form action="" method="get" class="modal-content modal-body border-0 p-0">
              <div class="input-group mb-2">
                  <input type="text" class="form-control" id="inputModalSearch" name="q" placeholder="Search ...">
                  <button type="submit" class="input-group-text bg-success text-light">
                      <i class="fa fa-fw fa-search text-white"></i>
                  </button>
              </div>
          </form>
      </div>
    </div>

    4. Now guy’s we need to add below code inside our project/src/app/footer/footer.component.html file:

    <!-- Start Footer -->
    <footer class="bg-dark" id="tempaltemo_footer">
        <div class="container">
            <div class="row">
      
                <div class="col-md-4 pt-5">
                    <h2 class="h2 text-success border-bottom pb-3 border-light logo">Jassa Shop</h2>
                    <ul class="list-unstyled text-light footer-link-list">
                        <li>
                            <i class="fas fa-map-marker-alt fa-fw"></i>
                            India
                        </li>
                        <li>
                            <i class="fa fa-phone fa-fw"></i>
                            <a class="text-decoration-none" href="#">000-000-0000</a>
                        </li>
                        <li>
                            <i class="fa fa-envelope fa-fw"></i>
                            <a class="text-decoration-none" href="#">info@company.com</a>
                        </li>
                    </ul>
                </div>
      
                <div class="col-md-4 pt-5">
                    <h2 class="h2 text-light border-bottom pb-3 border-light">Products</h2>
                    <ul class="list-unstyled text-light footer-link-list">
                        <li><a class="text-decoration-none" href="#">Luxury</a></li>
                        <li><a class="text-decoration-none" href="#">Sport Wear</a></li>
                        <li><a class="text-decoration-none" href="#">Men's Shoes</a></li>
                        <li><a class="text-decoration-none" href="#">Women's Shoes</a></li>
                        <li><a class="text-decoration-none" href="#">Popular Dress</a></li>
                        <li><a class="text-decoration-none" href="#">Gym Accessories</a></li>
                        <li><a class="text-decoration-none" href="#">Sport Shoes</a></li>
                    </ul>
                </div>
      
                <div class="col-md-4 pt-5">
                    <h2 class="h2 text-light border-bottom pb-3 border-light">Further Info</h2>
                    <ul class="list-unstyled text-light footer-link-list">
                        <li><a class="text-decoration-none" href="#">Home</a></li>
                        <li><a class="text-decoration-none" href="#">About Us</a></li>
                        <li><a class="text-decoration-none" href="#">Shop Locations</a></li>
                        <li><a class="text-decoration-none" href="#">FAQs</a></li>
                        <li><a class="text-decoration-none" href="#">Contact</a></li>
                    </ul>
                </div>
      
            </div>
      
            <div class="row text-light mb-4">
                <div class="col-12 mb-3">
                    <div class="w-100 my-3 border-top border-light"></div>
                </div>
                <div class="col-auto me-auto">
                    <ul class="list-inline text-left footer-icons">
                        <li class="list-inline-item border border-light rounded-circle text-center">
                            <a class="text-light text-decoration-none" target="_blank" href="#"><i class="fab fa-facebook-f fa-lg fa-fw"></i></a>
                        </li>
                        <li class="list-inline-item border border-light rounded-circle text-center">
                            <a class="text-light text-decoration-none" target="_blank" href="#"><i class="fab fa-instagram fa-lg fa-fw"></i></a>
                        </li>
                        <li class="list-inline-item border border-light rounded-circle text-center">
                            <a class="text-light text-decoration-none" target="_blank" href="#"><i class="fab fa-twitter fa-lg fa-fw"></i></a>
                        </li>
                        <li class="list-inline-item border border-light rounded-circle text-center">
                            <a class="text-light text-decoration-none" target="_blank" href="#"><i class="fab fa-linkedin fa-lg fa-fw"></i></a>
                        </li>
                    </ul>
                </div>
                <div class="col-auto">
                    <label class="sr-only" for="subscribeEmail">Email address</label>
                    <div class="input-group mb-2">
                        <input type="text" class="form-control bg-dark border-light" id="subscribeEmail" placeholder="Email address">
                        <div class="input-group-text btn-success text-light">Subscribe</div>
                    </div>
                </div>
            </div>
        </div>
      
        <div class="w-100 bg-black py-3">
            <div class="container">
                <div class="row pt-2">
                    <div class="col-12">
                        <p class="text-left text-light">
                            Copyright &copy; 2021 Company Name 
                            | Designed by <a rel="sponsored" href="#" target="_blank">Jassa</a>
                        </p>
                    </div>
                </div>
            </div>
        </div>
      
      </footer>
      <!-- End Footer -->

    5. Now guy’s we need to add below code inside our project/src/app/home/home.component.html file:

    <!-- Start Banner Hero -->
    <div id="template-mo-jassa-hero-carousel" class="carousel slide" data-bs-ride="carousel">
        <ol class="carousel-indicators">
            <li data-bs-target="#template-mo-jassa-hero-carousel" data-bs-slide-to="0" class="active"></li>
            <li data-bs-target="#template-mo-jassa-hero-carousel" data-bs-slide-to="1"></li>
            <li data-bs-target="#template-mo-jassa-hero-carousel" data-bs-slide-to="2"></li>
        </ol>
        <div class="carousel-inner">
            <div class="carousel-item active">
                <div class="container">
                    <div class="row p-5">
                        <div class="mx-auto col-md-8 col-lg-6 order-lg-last">
                            <img class="img-fluid" src="https://therichpost.com/wp-content/uploads/2021/05/banner_img_01.jpg" alt="">
                        </div>
                        <div class="col-lg-6 mb-0 d-flex align-items-center">
                            <div class="text-align-left align-self-center">
                                <h1 class="h1 text-success"><b>Jassa</b> eCommerce</h1>
                                <h3 class="h2">Lorem Ipsum Lorem Ipsum</h3>
                                <p>
                                  Lorem Ipsum is simply dummy text of the printing and typesetting industry.
                                  Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, 
                                  when an unknown printer took a galley of type and scrambled it to make a type specimen book.
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="carousel-item">
                <div class="container">
                    <div class="row p-5">
                        <div class="mx-auto col-md-8 col-lg-6 order-lg-last">
                            <img class="img-fluid" src="https://therichpost.com/wp-content/uploads/2021/05/banner_img_02.jpg" alt="">
                        </div>
                        <div class="col-lg-6 mb-0 d-flex align-items-center">
                            <div class="text-align-left">
                                <h1 class="h1">Lorem Ipsum</h1>
                                <h3 class="h2">Lorem Ipsum Lorem Ipsum</h3>
                                <p>
                                  Lorem Ipsum is simply dummy text of the printing and typesetting industry.
                                  Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, 
                                  when an unknown printer took a galley of type and scrambled it to make a type specimen book.
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="carousel-item">
                <div class="container">
                    <div class="row p-5">
                        <div class="mx-auto col-md-8 col-lg-6 order-lg-last">
                            <img class="img-fluid" src="https://therichpost.com/wp-content/uploads/2021/05/banner_img_03.jpg" alt="">
                        </div>
                        <div class="col-lg-6 mb-0 d-flex align-items-center">
                            <div class="text-align-left">
                                <h1 class="h1">Lorem Ipsum</h1>
                                <h3 class="h2">Lorem Ipsum Lorem Ipsum </h3>
                                <p>
                                  Lorem Ipsum is simply dummy text of the printing and typesetting industry.
                                  Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, 
                                  when an unknown printer took a galley of type and scrambled it to make a type specimen book.
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <a class="carousel-control-prev text-decoration-none w-auto ps-3" href="#template-mo-jassa-hero-carousel" role="button" data-bs-slide="prev">
            <i class="fas fa-chevron-left"></i>
        </a>
        <a class="carousel-control-next text-decoration-none w-auto pe-3" href="#template-mo-jassa-hero-carousel" role="button" data-bs-slide="next">
            <i class="fas fa-chevron-right"></i>
        </a>
      </div>
      <!-- End Banner Hero -->
      
      
      <!-- Start Categories of The Month -->
      <section class="container py-5">
        <div class="row text-center pt-3">
            <div class="col-lg-6 m-auto">
                <h1 class="h1">Categories of The Month</h1>
                <p>
                  Lorem Ipsum is simply dummy text of the printing and typesetting industry.
                  Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, 
                  when an unknown printer took a galley of type and scrambled it to make a type specimen book.
                </p>
            </div>
        </div>
        <div class="row">
            <div class="col-12 col-md-4 p-5 mt-3">
                <a href="#"><img src="https://therichpost.com/wp-content/uploads/2021/05/category_img_01.jpg" class="rounded-circle img-fluid border"></a>
                <h5 class="text-center mt-3 mb-3">Watches</h5>
                <p class="text-center"><a class="btn btn-success">Go Shop</a></p>
            </div>
            <div class="col-12 col-md-4 p-5 mt-3">
                <a href="#"><img src="https://therichpost.com/wp-content/uploads/2021/05/category_img_02.jpg" class="rounded-circle img-fluid border"></a>
                <h2 class="h5 text-center mt-3 mb-3">Shoes</h2>
                <p class="text-center"><a class="btn btn-success">Go Shop</a></p>
            </div>
            <div class="col-12 col-md-4 p-5 mt-3">
                <a href="#"><img src="https://therichpost.com/wp-content/uploads/2021/05/category_img_03.jpg" class="rounded-circle img-fluid border"></a>
                <h2 class="h5 text-center mt-3 mb-3">Accessories</h2>
                <p class="text-center"><a class="btn btn-success">Go Shop</a></p>
            </div>
        </div>
      </section>
      <!-- End Categories of The Month -->
      
      
      <!-- Start Featured Product -->
      <section class="bg-light">
        <div class="container py-5">
            <div class="row text-center py-3">
                <div class="col-lg-6 m-auto">
                    <h1 class="h1">Featured Product</h1>
                    <p>
                      Lorem Ipsum is simply dummy text of the printing and typesetting industry.
                      Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, 
                      when an unknown printer took a galley of type and scrambled it to make a type specimen book.
                    </p>
                </div>
            </div>
            <div class="row">
                <div class="col-12 col-md-4 mb-4">
                    <div class="card h-100">
                        <a href="#">
                            <img src="https://therichpost.com/wp-content/uploads/2021/05/feature_prod_01.jpg" class="card-img-top" alt="...">
                        </a>
                        <div class="card-body">
                            <ul class="list-unstyled d-flex justify-content-between">
                                <li>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-muted fa fa-star"></i>
                                    <i class="text-muted fa fa-star"></i>
                                </li>
                                <li class="text-muted text-right">$240.00</li>
                            </ul>
                            <a href="#" class="h2 text-decoration-none text-dark">Lorem Ipsum</a>
                            <p class="card-text">
                                Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt in culpa qui officia deserunt.
                            </p>
                            <p class="text-muted">Reviews (24)</p>
                        </div>
                    </div>
                </div>
                <div class="col-12 col-md-4 mb-4">
                    <div class="card h-100">
                        <a href="#">
                            <img src="https://therichpost.com/wp-content/uploads/2021/05/feature_prod_02.jpg" class="card-img-top" alt="...">
                        </a>
                        <div class="card-body">
                            <ul class="list-unstyled d-flex justify-content-between">
                                <li>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-muted fa fa-star"></i>
                                    <i class="text-muted fa fa-star"></i>
                                </li>
                                <li class="text-muted text-right">$480.00</li>
                            </ul>
                            <a href="#" class="h2 text-decoration-none text-dark">Lorem Ipsum</a>
                            <p class="card-text">
                              Lorem Ipsum Lorem Ipsum Lorem IpsumLorem Ipsum
                            </p>
                            <p class="text-muted">Reviews (48)</p>
                        </div>
                    </div>
                </div>
                <div class="col-12 col-md-4 mb-4">
                    <div class="card h-100">
                        <a href="#">
                            <img src="https://therichpost.com/wp-content/uploads/2021/05/feature_prod_03.jpg" class="card-img-top" alt="...">
                        </a>
                        <div class="card-body">
                            <ul class="list-unstyled d-flex justify-content-between">
                                <li>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                    <i class="text-warning fa fa-star"></i>
                                </li>
                                <li class="text-muted text-right">$360.00</li>
                            </ul>
                            <a href="#" class="h2 text-decoration-none text-dark">Lorem Ipsum</a>
                            <p class="card-text">
                              Lorem Ipsum Lorem Ipsum Lorem IpsumLorem Ipsum Lorem Ipsum Lorem Ipsum.
                            </p>
                            <p class="text-muted">Reviews (74)</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
      </section>
      <!-- End Featured Product -->

    6. Now guy’s we need to add below inside project/src/app/app.component.html file:

    <app-header></app-header>
    <app-home></app-home>
    <app-footer></app-footer>

    7. Now guy’s we need to add below code inside our project/src/index.html file:

    ...
    <head>
    ...
      <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;200;300;400;500;700;900&display=swap">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" /> 
    </head>
    ...

    8. Now guy’s we need to add below code inside our project/src/styles.css file:

    /* You can add global styles to this file, and also import other style files */
    body, ul, li, p, a, label, input, div {
        font-family: 'Roboto', sans-serif;
        font-size: 18px !important;
        font-weight: 300 !important;
      }
      .h1 {
        font-family: 'Roboto', sans-serif;
        font-size: 48px !important;
        font-weight: 200 !important;
      }
      .h2 {
        font-family: 'Roboto', sans-serif;
        font-size: 30px !important;
        font-weight: 300;
      }
      .h3 {
        font-family: 'Roboto', sans-serif;
        font-size: 22px !important;
      }
      /* General */
      .logo { font-weight: 500 !important;}
      .text-warning {  color: #ede861 !important;}
      .text-muted { color: #bcbcbc !important;}
      .text-success { color: #59ab6e !important;}
      .text-light { color: #cfd6e1 !important;}
      .bg-dark { background-color: #212934 !important;}
      .bg-light { background-color: #e9eef5 !important;}
      .bg-black { background-color: #1d242d !important;}
      .bg-success { background-color: #59ab6e !important;}
      .btn-success {
        background-color: #59ab6e !important;
        border-color: #56ae6c !important;
      }
      .pagination .page-link:hover {color: #000;}
      .pagination .page-link:hover, .pagination .page-link.active {
        background-color: #69bb7e;
        color: #fff;
      }
      /* Nav */
      #templatemo_nav_top { min-height: 40px;}
      #templatemo_nav_top * { font-size: 12px !important;}
      #templatemo_main_nav a { color: #212934;}
      #templatemo_main_nav a:hover { color: #69bb7e;}
      #templatemo_main_nav .navbar .nav-icon { margin-right: 20px;}
      
      /* Hero Carousel */
      #template-mo-jassa-hero-carousel { background: #efefef !important;}
      /* Accordion */
      .templatemo-accordion a { color: #000;}
      .templatemo-accordion a:hover { color: #333d4a;}
      /* Shop */
      .shop-top-menu a:hover { color: #69bb7e !important;}
      /* Product */
      .product-wap { box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.10);}
      .product-wap .product-color-dot.color-dot-red { background:#f71515;}
      .product-wap .product-color-dot.color-dot-blue { background:#6db4fe;}
      .product-wap .product-color-dot.color-dot-black { background:#000000;}
      .product-wap .product-color-dot.color-dot-light { background:#e0e0e0;}
      .product-wap .product-color-dot.color-dot-green { background:#0bff7e;}
      .card.product-wap .card .product-overlay {
        background: rgba(0,0,0,.2);
        visibility: hidden;
        opacity: 0;
        transition: .3s;
      }
      .card.product-wap:hover .card .product-overlay {
        visibility: visible;
        opacity: 1;
      }
      .card.product-wap a { color: #000;}
      #carousel-related-product .slick-slide:focus { outline: none !important;}
      #carousel-related-product .slick-dots li button:before {
        font-size: 15px;
        margin-top: 20px;
      }
      /* Brand */
      .brand-img {
        filter: grayscale(100%);
        opacity: 0.5;
        transition: .5s;
      }
      .brand-img:hover {
        filter: grayscale(0%);
        opacity: 1;
      }
      /* Carousel Hero */
      #template-mo-jassa-hero-carousel .carousel-indicators li {
        margin-top: -50px;
        background-color: #59ab6e;
      }
      #template-mo-jassa-hero-carousel .carousel-control-next i,
      #template-mo-jassa-hero-carousel .carousel-control-prev i {
        color: #59ab6e !important;
        font-size: 2.8em !important;
      }
      /* Carousel Brand */
      .tempaltemo-carousel .h1 {
        font-size: .5em !important;
        color: #000 !important;
      }
      /* Services */
      .services-icon-wap {transition: .3s;}
      .services-icon-wap:hover, .services-icon-wap:hover i {color: #fff;}
      .services-icon-wap:hover {background: #69bb7e;}
      /* Contact map */
      .leaflet-control a, .leaflet-control { font-size: 10px !important;}
      .form-control { border: 1px solid #e8e8e8;}
      /* Footer */
      #tempaltemo_footer a { color: #dcdde1;}
      #tempaltemo_footer a:hover { color: #68bb7d;}
      #tempaltemo_footer ul.footer-link-list li { padding-top: 10px;}
      #tempaltemo_footer ul.footer-icons li {
        width: 2.6em;
        height: 2.6em;
        line-height: 2.6em;
      }
      #tempaltemo_footer ul.footer-icons li:hover {
        background-color: #cfd6e1;
        transition: .5s;
      }
      #tempaltemo_footer ul.footer-icons li:hover i {
        color: #212934;
        transition: .5s;
      }
      #tempaltemo_footer .border-light { border-color: #2d343f !important;}
      /*
      // Extra small devices (portrait phones, less than 576px)
      // No media query since this is the default in Bootstrap
      */
      /* Small devices (landscape phones, 576px and up)*/
      .product-wap .h3, .product-wap li, .product-wap i, .product-wap p {
        font-size: 12px !important;
      }
      .product-wap .product-color-dot {
        width: 6px;
        height: 6px;
      }
      
      @media (min-width: 576px) {
        .tempaltemo-carousel .h1 { font-size: 1em !important;}
      }
      
      /*// Medium devices (tablets, 768px and up)*/
      @media (min-width: 768px) {
        #templatemo_main_nav .navbar-nav {max-width: 450px;}
       }
      
      /* Large devices (desktops, 992px and up)*/
      @media (min-width: 992px) {
        #templatemo_main_nav .navbar-nav {max-width: 550px;}
        #template-mo-jassa-hero-carousel .carousel-item {min-height: 30rem !important;}
        .product-wap .h3, .product-wap li, .product-wap i, .product-wap p {font-size: 18px !important;}
        .product-wap .product-color-dot {
          width: 12px;
          height: 12px;
        }
      }
      
      /* Extra large devices (large desktops, 1200px and up)*/
      @media (min-width: 1200px) {}

    Friends in the end must run ng serve command into your terminal to run the angular 17 project (localhost:4200).

    Guys click here to check the Angular 17 Bootstrap 5 Free Templates.

    Now we are done friends. If you have any kind of query, suggestion and new requirement then feel free to comment below.

    Jassa

    Thanks

  • Angular 17 Free Admin Dashboard Template

    Angular 17 Free Admin Dashboard Template

    Hello friends, welcome back to my blog. Today this blog post will tell you, Angular 17 Free Admin Dashboard Template.


    Live Demo

    Angular 17 Free Admin Dashboard Template
    Angular 17 Free Admin Dashboard Template

    Angular 17 came and Bootstrap 5 also. If you are new then you must check below two links:

    1. Angular 17 Basic Tutorials
    2. Bootstrap 5

    Friends now I proceed onwards and here is the working code snippet and please use carefully this to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angularboot5 //Create new Angular Project
    
    cd angularboot5 // Go inside the Angular Project Folder

    2. Now friends we just need to add below code into angularboot5/src/app/app.component.html file to get final out on the web browser:

    <!-- SIDEBAR -->
    <section id="sidebar" [ngClass]="status ? 'hide' : ''">
      <a href="#" class="brand">
        <i class='bx bxs-smile'></i>
        <span class="text">AdminHub</span>
      </a>
      <ul class="side-menu top">
        <li class="active">
          <a href="#">
            <i class='bx bxs-dashboard' ></i>
            <span class="text">Dashboard</span>
          </a>
        </li>
        <li>
          <a href="#">
            <i class='bx bxs-shopping-bag-alt' ></i>
            <span class="text">My Store</span>
          </a>
        </li>
        <li>
          <a href="#">
            <i class='bx bxs-doughnut-chart' ></i>
            <span class="text">Analytics</span>
          </a>
        </li>
        <li>
          <a href="#">
            <i class='bx bxs-message-dots' ></i>
            <span class="text">Message</span>
          </a>
        </li>
        <li>
          <a href="#">
            <i class='bx bxs-group' ></i>
            <span class="text">Team</span>
          </a>
        </li>
      </ul>
      <ul class="side-menu">
        <li>
          <a href="#">
            <i class='bx bxs-cog' ></i>
            <span class="text">Settings</span>
          </a>
        </li>
        <li>
          <a href="#" class="logout">
            <i class='bx bxs-log-out-circle' ></i>
            <span class="text">Logout</span>
          </a>
        </li>
      </ul>
    </section>
    <!-- SIDEBAR -->
    
    
    
    <!-- CONTENT -->
    <section id="content">
      <!-- NAVBAR -->
      <nav>
        <i (click)="addToggle()" class='bx bx-menu' ></i>
        <a href="#" class="nav-link">Categories</a>
        <form action="#">
          <div class="form-input">
            <input type="search" placeholder="Search...">
            <button type="button" class="search-btn"><i class='bx bx-search' ></i></button>
          </div>
        </form>
        <a href="#" class="notification">
          <i class='bx bxs-bell' ></i>
          <span class="num">8</span>
        </a>
        <a href="#" class="profile">
          <img src="https://secure.gravatar.com/avatar/d09eaad01aea86c51b4f892b4f8abf6f?s=100&d=wavatar&r=g">
        </a>
      </nav>
      <!-- NAVBAR -->
    
      <!-- MAIN -->
      <main>
        <div class="head-title">
          <div class="left">
            <h1>Dashboard</h1>
            <ul class="breadcrumb">
              <li>
                <a href="#">Dashboard</a>
              </li>
              <li><i class='bx bx-chevron-right' ></i></li>
              <li>
                <a class="active" href="#">Home</a>
              </li>
            </ul>
          </div>
          <a href="#" class="btn-download">
            <i class='bx bxs-cloud-download' ></i>
            <span class="text">Download PDF</span>
          </a>
        </div>
    
        <ul class="box-info">
          <li>
            <i class='bx bxs-calendar-check' ></i>
            <span class="text">
              <h3>1020</h3>
              <p>New Order</p>
            </span>
          </li>
          <li>
            <i class='bx bxs-group' ></i>
            <span class="text">
              <h3>2834</h3>
              <p>Visitors</p>
            </span>
          </li>
          <li>
            <i class='bx bxs-dollar-circle' ></i>
            <span class="text">
              <h3>$2543</h3>
              <p>Total Sales</p>
            </span>
          </li>
        </ul>
    
    
        <div class="table-data">
          <div class="order">
            <div class="head">
              <h3>Recent Orders</h3>
              <i class='bx bx-search' ></i>
              <i class='bx bx-filter' ></i>
            </div>
            <table>
              <thead>
                <tr>
                  <th>User</th>
                  <th>Date Order</th>
                  <th>Status</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>
                    <img src="https://secure.gravatar.com/avatar/d09eaad01aea86c51b4f892b4f8abf6f?s=100&d=wavatar&r=g">
                    <p>John Doe</p>
                  </td>
                  <td>01-10-2023</td>
                  <td><span class="status completed">Completed</span></td>
                </tr>
                <tr>
                  <td>
                    <img src="https://secure.gravatar.com/avatar/d09eaad01aea86c51b4f892b4f8abf6f?s=100&d=wavatar&r=g">
                    <p>John Doe</p>
                  </td>
                  <td>01-10-2023</td>
                  <td><span class="status pending">Pending</span></td>
                </tr>
                <tr>
                  <td>
                    <img src="https://secure.gravatar.com/avatar/d09eaad01aea86c51b4f892b4f8abf6f?s=100&d=wavatar&r=g">
                    <p>John Doe</p>
                  </td>
                  <td>01-10-2023</td>
                  <td><span class="status process">Process</span></td>
                </tr>
                <tr>
                  <td>
                    <img src="https://secure.gravatar.com/avatar/d09eaad01aea86c51b4f892b4f8abf6f?s=100&d=wavatar&r=g">
                    <p>John Doe</p>
                  </td>
                  <td>01-10-2023</td>
                  <td><span class="status pending">Pending</span></td>
                </tr>
                <tr>
                  <td>
                    <img src="https://secure.gravatar.com/avatar/d09eaad01aea86c51b4f892b4f8abf6f?s=100&d=wavatar&r=g">
                    <p>John Doe</p>
                  </td>
                  <td>01-10-2023</td>
                  <td><span class="status completed">Completed</span></td>
                </tr>
              </tbody>
            </table>
          </div>
          <div class="todo">
            <div class="head">
              <h3>Todos</h3>
              <i class='bx bx-plus' ></i>
              <i class='bx bx-filter' ></i>
            </div>
            <ul class="todo-list">
              <li class="completed">
                <p>Todo List</p>
                <i class='bx bx-dots-vertical-rounded' ></i>
              </li>
              <li class="completed">
                <p>Todo List</p>
                <i class='bx bx-dots-vertical-rounded' ></i>
              </li>
              <li class="not-completed">
                <p>Todo List</p>
                <i class='bx bx-dots-vertical-rounded' ></i>
              </li>
              <li class="completed">
                <p>Todo List</p>
                <i class='bx bx-dots-vertical-rounded' ></i>
              </li>
              <li class="not-completed">
                <p>Todo List</p>
                <i class='bx bx-dots-vertical-rounded' ></i>
              </li>
            </ul>
          </div>
        </div>
      </main>
      <!-- MAIN -->
    </section>
    <!-- CONTENT -->

    3. Now friends we just need to add below stylesheet url code into angularboot5/src/index.html file for font awesome icons:

    ...
    <head>
     <!-- Boxicons -->
      <link href='https://unpkg.com/boxicons@2.0.9/css/boxicons.min.css' rel='stylesheet'>
    </head>
    ...

    4. Now friends we just need to add below code into angularboot5/src/app/app.component.ts file for toggle show hide funciton and chartjs:

    ...
    export class AppComponent {
    
    
    //Sidebar toggle show hide function
    status = false;
    addToggle()
    {
      this.status = !this.status;       
    }
    
    }

    5. Now friends we just need to add below code into angularboot5/src/styles.css file:

    @import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Poppins:wght@400;500;600;700&display=swap');
    
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    
    a {
      text-decoration: none;
    }
    
    li {
      list-style: none;
    }
    
    :root {
      --poppins: 'Poppins', sans-serif;
      --lato: 'Lato', sans-serif;
    
      --light: #F9F9F9;
      --blue: #3C91E6;
      --light-blue: #CFE8FF;
      --grey: #eee;
      --dark-grey: #AAAAAA;
      --dark: #342E37;
      --red: #DB504A;
      --yellow: #FFCE26;
      --light-yellow: #FFF2C6;
      --orange: #FD7238;
      --light-orange: #FFE0D3;
    }
    
    html {
      overflow-x: hidden;
    }
    
    body.dark {
      --light: #0C0C1E;
      --grey: #060714;
      --dark: #FBFBFB;
    }
    
    body {
      background: var(--grey);
      overflow-x: hidden;
    }
    
    
    
    
    
    /* SIDEBAR */
    #sidebar {
      position: fixed;
      top: 0;
      left: 0;
      width: 280px;
      height: 100%;
      background: var(--light);
      z-index: 2000;
      font-family: var(--lato);
      transition: .3s ease;
      overflow-x: hidden;
      scrollbar-width: none;
    }
    #sidebar::--webkit-scrollbar {
      display: none;
    }
    #sidebar.hide {
      width: 60px;
    }
    #sidebar .brand {
      font-size: 24px;
      font-weight: 700;
      height: 56px;
      display: flex;
      align-items: center;
      color: var(--blue);
      position: sticky;
      top: 0;
      left: 0;
      background: var(--light);
      z-index: 500;
      padding-bottom: 20px;
      box-sizing: content-box;
    }
    #sidebar .brand .bx {
      min-width: 60px;
      display: flex;
      justify-content: center;
    }
    #sidebar .side-menu {
      width: 100%;
      margin-top: 48px;
    }
    #sidebar .side-menu li {
      height: 48px;
      background: transparent;
      margin-left: 6px;
      border-radius: 48px 0 0 48px;
      padding: 4px;
    }
    #sidebar .side-menu li.active {
      background: var(--grey);
      position: relative;
    }
    #sidebar .side-menu li.active::before {
      content: '';
      position: absolute;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      top: -40px;
      right: 0;
      box-shadow: 20px 20px 0 var(--grey);
      z-index: -1;
    }
    #sidebar .side-menu li.active::after {
      content: '';
      position: absolute;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      bottom: -40px;
      right: 0;
      box-shadow: 20px -20px 0 var(--grey);
      z-index: -1;
    }
    #sidebar .side-menu li a {
      width: 100%;
      height: 100%;
      background: var(--light);
      display: flex;
      align-items: center;
      border-radius: 48px;
      font-size: 16px;
      color: var(--dark);
      white-space: nowrap;
      overflow-x: hidden;
    }
    #sidebar .side-menu.top li.active a {
      color: var(--blue);
    }
    #sidebar.hide .side-menu li a {
      width: calc(48px - (4px * 2));
      transition: width .3s ease;
    }
    #sidebar .side-menu li a.logout {
      color: var(--red);
    }
    #sidebar .side-menu.top li a:hover {
      color: var(--blue);
    }
    #sidebar .side-menu li a .bx {
      min-width: calc(60px  - ((4px + 6px) * 2));
      display: flex;
      justify-content: center;
    }
    /* SIDEBAR */
    
    
    
    
    
    /* CONTENT */
    #content {
      position: relative;
      width: calc(100% - 280px);
      left: 280px;
      transition: .3s ease;
    }
    #sidebar.hide ~ #content {
      width: calc(100% - 60px);
      left: 60px;
    }
    
    
    
    
    /* NAVBAR */
    #content nav {
      height: 56px;
      background: var(--light);
      padding: 0 24px;
      display: flex;
      align-items: center;
      grid-gap: 24px;
      font-family: var(--lato);
      position: sticky;
      top: 0;
      left: 0;
      z-index: 1000;
    }
    #content nav::before {
      content: '';
      position: absolute;
      width: 40px;
      height: 40px;
      bottom: -40px;
      left: 0;
      border-radius: 50%;
      box-shadow: -20px -20px 0 var(--light);
    }
    #content nav a {
      color: var(--dark);
    }
    #content nav .bx.bx-menu {
      cursor: pointer;
      color: var(--dark);
    }
    #content nav .nav-link {
      font-size: 16px;
      transition: .3s ease;
    }
    #content nav .nav-link:hover {
      color: var(--blue);
    }
    #content nav form {
      max-width: 400px;
      width: 100%;
      margin-right: auto;
    }
    #content nav form .form-input {
      display: flex;
      align-items: center;
      height: 36px;
    }
    #content nav form .form-input input {
      flex-grow: 1;
      padding: 0 16px;
      height: 100%;
      border: none;
      background: var(--grey);
      border-radius: 36px 0 0 36px;
      outline: none;
      width: 100%;
      color: var(--dark);
    }
    #content nav form .form-input button {
      width: 36px;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      background: var(--blue);
      color: var(--light);
      font-size: 18px;
      border: none;
      outline: none;
      border-radius: 0 36px 36px 0;
      cursor: pointer;
    }
    #content nav .notification {
      font-size: 20px;
      position: relative;
    }
    #content nav .notification .num {
      position: absolute;
      top: -6px;
      right: -6px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      border: 2px solid var(--light);
      background: var(--red);
      color: var(--light);
      font-weight: 700;
      font-size: 12px;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    #content nav .profile img {
      width: 36px;
      height: 36px;
      object-fit: cover;
      border-radius: 50%;
    }
    #content nav .switch-mode {
      display: block;
      min-width: 50px;
      height: 25px;
      border-radius: 25px;
      background: var(--grey);
      cursor: pointer;
      position: relative;
    }
    #content nav .switch-mode::before {
      content: '';
      position: absolute;
      top: 2px;
      left: 2px;
      bottom: 2px;
      width: calc(25px - 4px);
      background: var(--blue);
      border-radius: 50%;
      transition: all .3s ease;
    }
    #content nav #switch-mode:checked + .switch-mode::before {
      left: calc(100% - (25px - 4px) - 2px);
    }
    /* NAVBAR */
    
    
    
    
    
    /* MAIN */
    #content main {
      width: 100%;
      padding: 36px 24px;
      font-family: var(--poppins);
      max-height: calc(100vh - 56px);
      overflow-y: auto;
    }
    #content main .head-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      grid-gap: 16px;
      flex-wrap: wrap;
    }
    #content main .head-title .left h1 {
      font-size: 36px;
      font-weight: 600;
      margin-bottom: 10px;
      color: var(--dark);
    }
    #content main .head-title .left .breadcrumb {
      display: flex;
      align-items: center;
      grid-gap: 16px;
    }
    #content main .head-title .left .breadcrumb li {
      color: var(--dark);
    }
    #content main .head-title .left .breadcrumb li a {
      color: var(--dark-grey);
      pointer-events: none;
    }
    #content main .head-title .left .breadcrumb li a.active {
      color: var(--blue);
      pointer-events: unset;
    }
    #content main .head-title .btn-download {
      height: 36px;
      padding: 0 16px;
      border-radius: 36px;
      background: var(--blue);
      color: var(--light);
      display: flex;
      justify-content: center;
      align-items: center;
      grid-gap: 10px;
      font-weight: 500;
    }
    
    
    
    
    #content main .box-info {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      grid-gap: 24px;
      margin-top: 36px;
    }
    #content main .box-info li {
      padding: 24px;
      background: var(--light);
      border-radius: 20px;
      display: flex;
      align-items: center;
      grid-gap: 24px;
    }
    #content main .box-info li .bx {
      width: 80px;
      height: 80px;
      border-radius: 10px;
      font-size: 36px;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    #content main .box-info li:nth-child(1) .bx {
      background: var(--light-blue);
      color: var(--blue);
    }
    #content main .box-info li:nth-child(2) .bx {
      background: var(--light-yellow);
      color: var(--yellow);
    }
    #content main .box-info li:nth-child(3) .bx {
      background: var(--light-orange);
      color: var(--orange);
    }
    #content main .box-info li .text h3 {
      font-size: 24px;
      font-weight: 600;
      color: var(--dark);
    }
    #content main .box-info li .text p {
      color: var(--dark);	
    }
    
    
    
    
    
    #content main .table-data {
      display: flex;
      flex-wrap: wrap;
      grid-gap: 24px;
      margin-top: 24px;
      width: 100%;
      color: var(--dark);
    }
    #content main .table-data > div {
      border-radius: 20px;
      background: var(--light);
      padding: 24px;
      overflow-x: auto;
    }
    #content main .table-data .head {
      display: flex;
      align-items: center;
      grid-gap: 16px;
      margin-bottom: 24px;
    }
    #content main .table-data .head h3 {
      margin-right: auto;
      font-size: 24px;
      font-weight: 600;
    }
    #content main .table-data .head .bx {
      cursor: pointer;
    }
    
    #content main .table-data .order {
      flex-grow: 1;
      flex-basis: 500px;
    }
    #content main .table-data .order table {
      width: 100%;
      border-collapse: collapse;
    }
    #content main .table-data .order table th {
      padding-bottom: 12px;
      font-size: 13px;
      text-align: left;
      border-bottom: 1px solid var(--grey);
    }
    #content main .table-data .order table td {
      padding: 16px 0;
    }
    #content main .table-data .order table tr td:first-child {
      display: flex;
      align-items: center;
      grid-gap: 12px;
      padding-left: 6px;
    }
    #content main .table-data .order table td img {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      object-fit: cover;
    }
    #content main .table-data .order table tbody tr:hover {
      background: var(--grey);
    }
    #content main .table-data .order table tr td .status {
      font-size: 10px;
      padding: 6px 16px;
      color: var(--light);
      border-radius: 20px;
      font-weight: 700;
    }
    #content main .table-data .order table tr td .status.completed {
      background: var(--blue);
    }
    #content main .table-data .order table tr td .status.process {
      background: var(--yellow);
    }
    #content main .table-data .order table tr td .status.pending {
      background: var(--orange);
    }
    
    
    #content main .table-data .todo {
      flex-grow: 1;
      flex-basis: 300px;
    }
    #content main .table-data .todo .todo-list {
      width: 100%;
    }
    #content main .table-data .todo .todo-list li {
      width: 100%;
      margin-bottom: 16px;
      background: var(--grey);
      border-radius: 10px;
      padding: 14px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    #content main .table-data .todo .todo-list li .bx {
      cursor: pointer;
    }
    #content main .table-data .todo .todo-list li.completed {
      border-left: 10px solid var(--blue);
    }
    #content main .table-data .todo .todo-list li.not-completed {
      border-left: 10px solid var(--orange);
    }
    #content main .table-data .todo .todo-list li:last-child {
      margin-bottom: 0;
    }
    /* MAIN */
    /* CONTENT */
    
    
    
    
    
    
    
    
    
    @media screen and (max-width: 768px) {
      #sidebar {
        width: 200px;
      }
    
      #content {
        width: calc(100% - 60px);
        left: 200px;
      }
    
      #content nav .nav-link {
        display: none;
      }
    }
    
    
    
    
    
    
    @media screen and (max-width: 576px) {
      #content nav form .form-input input {
        display: none;
      }
    
      #content nav form .form-input button {
        width: auto;
        height: auto;
        background: transparent;
        border-radius: none;
        color: var(--dark);
      }
    
      #content nav form.show .form-input input {
        display: block;
        width: 100%;
      }
      #content nav form.show .form-input button {
        width: 36px;
        height: 100%;
        border-radius: 0 36px 36px 0;
        color: var(--light);
        background: var(--red);
      }
    
      #content nav form.show ~ .notification,
      #content nav form.show ~ .profile {
        display: none;
      }
    
      #content main .box-info {
        grid-template-columns: 1fr;
      }
    
      #content main .table-data .head {
        min-width: 420px;
      }
      #content main .table-data .order table {
        min-width: 420px;
      }
      #content main .table-data .todo .todo-list {
        min-width: 420px;
      }
    }

    Friends in the end must run ng serve command into your terminal to run the angular 17 project(localhost:4200).

    Now we are done friends. If you have any kind of query, suggestion and new requirement then feel free to comment below.

    Note: Friends, In this post, I just tell the basic setup and things, you can change the code according to your requirements.

    I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad because with your views, I will make my next posts more good and helpful.

    Jassa

    Thanks

  • Angular 17 Routing Working Example

    Angular 17 Routing Working Example

    Hello to all welcome back on my blog therichpost.com. Today in this blog post, I am going to tell you Angular 17 Routing Working Example.

    Guys in this post we will cover below things:

    1. Angular17 Routing.
    2. Responsive Navigation in Angular17 with Bootstrap 5.
    3. Create components in Angular.
    Angular Routing Working Demo
    Angular 17 Routing Working Example
    Angular 17 Routing Working Example

    Guy’s Angular 17 came and if you are new in Angular 17 then please check the below link:

    1. Angular 17 Tutorials

    Guy’s here is working code snippet for Angular 17 Routing Tutorial and please follow it carefully to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angularrouting //Create new Angular Project
    
    cd angularrouting // Go inside the Angular Project Folder

    2. Now guy’s, here we need to run below command into our project terminal to install bootstrap 5 module for styling and good looks into our angular application(optional):

    npm install bootstrap
    
    npm i @popperjs/core 

    3. Now guy’s, here we need to run below commands into our project terminal to create home and about components for routing:

    ng g c home
    
    ng g c about

    4. Now guy’s, now we need to add below code into our angularrouting/angular.json file to add bootstrap style:

    ...
     "styles": [
                  "src/styles.css",
                  "node_modules/bootstrap/dist/css/bootstrap.min.css",
                  
                ],

    5. Now guy’s, now we need to add below code into our angularrouting/src/app/app-routes.ts file to make routes:

    import { Routes } from '@angular/router';
    import {HomeComponent} from './home/home.component';
    import {AboutComponent} from './about/about.component';
    export const routes: Routes = [
          {
            path: '', title: 'Home Page', component: HomeComponent,
          },
          {
            path: 'about', title: 'About Page', component: AboutComponent,
          },
    ];

    6. Now guys, now we need to add below code into our angularrouting/src/app/app.component.html file to set the angular frontend and call others components with routing:

    <nav class="navbar navbar-expand-lg navbar-light bg-light">
      <div class="container-fluid">
        <a class="navbar-brand" routerLink="/">Therichpost.com</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarSupportedContent">
          <ul class="navbar-nav me-auto mb-2 mb-lg-0">
            <li class="nav-item">
              <a class="nav-link active" aria-current="page" routerLink="/">Home</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" routerLink="/about">About</a>
            </li>
          </ul>
          <form class="d-flex">
            <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
            <button class="btn btn-outline-success" type="submit">Search</button>
          </form>
        </div>
      </div>
    </nav>
    <div class="container p-5">
      <router-outlet></router-outlet>
    </div>

    7. Now guys, now we need to add below code into our angularrouting/src/app/app-component.ts file to make routing works:

    import { Component } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { RouterLink, RouterOutlet } from '@angular/router';
    
    @Component({
      selector: 'app-root',
      standalone: true,
      imports: [CommonModule, RouterOutlet, RouterLink],
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
      title = 'angular17';
    }

    Guy’s in the end please run ng serve command to check the out on browser(localhost:4200) and if you will have any query then feel free to comment below.

    Guy’s I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad because with your views, I will make my next posts more good and helpful.

    Jassa

    Thanks.

  • Angular 17 Datatable with Dynamic Data Working Example

    Angular 17 Datatable with Dynamic Data Working Example

    Hello friends, welcome back to my blog. Today in this blog post, I am going to show you, Angular 17 Datatable with Dynamic Data Working Example.

    Guys in this post we will cover below things:

    1. Angular 17
    2. Datatable with dynamic data in Angular 17
    3. Bootstrap 5 addition in Angular 17
    Angular Datatable
    Angular 17 Datatable with Dynamic Data Working Example
    Angular 17 Datatable with Dynamic Data Working Example

    Angular 17 came and if you are new then you must check below link:

    1. Angular 17 Basic Tutorials
    2. Datatable

    Friends now I proceed onwards and here is the working code snippet and please use carefully this to avoid the mistakes:

    1. Firstly friends we need fresh angular 17 setup and for this we need to run below commands but if you already have angular 17 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

    npm install -g @angular/cli 
    
    ng new angulardatatable //Create new Angular Project
    
    cd angulardatatable // Go inside the Angular Project Folder

    2. Now friends, here we need to run below commands into our project terminal to install datatable modules, bootstrap(for good looks), jquery  modules into our angular application:

    I am also adding bootstrap to make datatable looks good.

    npm install jquery --save 
    npm install datatables.net --save 
    npm install datatables.net-dt --save 
    npm install angular-datatables --save 
    npm install @types/jquery --save-dev 
    npm install @types/datatables.net --save-dev 
    npm install bootstrap --save 
    npm i @popperjs/core 
    npm install datatables.net-buttons --save 
    npm install datatables.net-buttons-dt --save 
    npm install @types/datatables.net-buttons --save-dev 
    npm install jszip --save

    3. After done with commands add below code into you angular.json file:

    ...
    "styles": [
                  "src/styles.css",
                  "node_modules/datatables.net-dt/css/jquery.dataTables.css",
                  "node_modules/bootstrap/dist/css/bootstrap.min.css"
                ],
                "scripts": [
                  "node_modules/jquery/dist/jquery.js",
                  "node_modules/datatables.net/js/jquery.dataTables.js",
                  "node_modules/bootstrap/dist/js/bootstrap.min.js",
                  "node_modules/jszip/dist/jszip.js",
                  "node_modules/datatables.net-buttons/js/dataTables.buttons.js",
                  "node_modules/datatables.net-buttons/js/buttons.colVis.js",
                  "node_modules/datatables.net-buttons/js/buttons.flash.js",
                  "node_modules/datatables.net-buttons/js/buttons.html5.js",
                  "node_modules/datatables.net-buttons/js/buttons.print.js"
                ]
    ...

    4. Now friends we just need to add below code into src/app/app.component.ts file:

    import { Component } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { RouterOutlet } from '@angular/router';
    import {DataTablesModule} from 'angular-datatables';
    import { HttpClientModule } from '@angular/common/http';
    import { HttpClient } from '@angular/common/http';
    
    @Component({
      selector: 'app-root',
      standalone: true,
      imports: [CommonModule, RouterOutlet, DataTablesModule, HttpClientModule],
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
      title = 'angular17';
      data:any;
      constructor(private http: HttpClient){
      //get request from web api
      this.http.get('https://jsonplaceholder.typicode.com/users').subscribe(data => {
      
        this.data = data;
      setTimeout(()=>{   
         $('#datatableexample').DataTable( {
          pagingType: 'full_numbers',
          pageLength: 5,
          processing: true,
          lengthMenu : [5, 10, 25],
      } );
      }, 1);
            }, error => console.error(error));
    }
    }

    6. Now friends we need to add below code into app.component.html file to get final output on web browser:

    <div class="container p-5"
      <table class="table table-striped table-bordered table-sm row-border hover" id="datatableexample">
        <thead>
          <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Email</th>
           
          </tr>
        </thead>
        <tbody>
         <tr *ngFor="let group of data">
               <td>{{group.id}}</td>
               <td>{{group.name}}</td>
               <td>{{group.email}}</td>
              
           </tr>
        </tbody>
      </table>
    </div>
    

    Now we are done friends and please run ng serve command and if you have any kind of query then please do comment below.

    Note: Friends, I just tell the basic setup and things, you can change the code according to your requirements. For better understanding must watch video above.

    I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad.

    Jassa

    Thanks