Category: Angular

  • 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

  • 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

  • Angular 16.2.5 Ag Grid working demo

    Angular 16.2.5 Ag Grid working demo

    Hello friends, welcome back to my blog. Today this blog post will tell you, Angular 16.2.5 Ag Grid working demo.

    Ag-grid with dynamic data

    Angular 16.2.5 Ag Grid working demo
    Angular 16.2.5 Ag Grid working demo with sorting and filtering

    Angular 16 came and Bootstrap 5 also and very soon Angular 15 will come and if you are new then you must check below two links:

    1. Angular16 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 16 setup and for this we need to run below commands but if you already have angular 16 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 friends, here we need to run below commands into our project terminal to install ag-grid modules into our angular application:

    npm install --save ag-grid-community ag-grid-angular

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

    <ag-grid-angular 
            style="width: 500px; height: 500px;" 
            class="ag-theme-alpine"
            [rowData]="rowData" 
            [columnDefs]="columnDefs">
          </ag-grid-angular>

    4. Now friends we just need to add below code into angulardemo/angular.json file:

    "styles": [ ... 
                "./node_modules/ag-grid-community/styles/ag-grid.css",
                "./node_modules/ag-grid-community/styles/ag-theme-alpine.css"
     ],

    5. Now friends we just need to add below code into angulardemo/src/app/app.module.ts file:

    ...
    import { AgGridModule } from 'ag-grid-angular';
    
    
    @NgModule({
     ...
      imports: [
        ...
        
        AgGridModule.withComponents([]),
      ]...
    

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

    ... import { AgGridModule } from 'ag-grid-angular';
    
     export class AppComponent { 
    ...
     columnDefs:any = [
        {headerName: 'Make', field: 'make', sortable: true, filter: true},
        {headerName: 'Model', field: 'model', sortable: true, filter: true},
        {headerName: 'Price', field: 'price', sortable: true, filter: true}
      ];
    
      rowData = [
        { make: 'Toyota', model: 'Celica', price: 35000 },
        { make: 'Ford', model: 'Mondeo', price: 32000 },
        { make: 'Porsche', model: 'Boxster', price: 72000 }
      ];
     }

    Friends in the end must run ng serve command into your terminal to run the angular 16 project.

    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 Crud Tutorial Working Example

    Angular 17 Crud Tutorial Working Example

    Hello to all, welcome to therichpost.com. In this post, I will tell you, Angular 17 Crud Tutorial Working Example.

    Guys with this we will cover below things:

    1. Angular 17 Reactive Form Implelemtnation.
    2. Angular17 Reactive Form Responsiveness with Bootstrap 5.
    3. Angular 17 with Local Storage data saving.
    Live Demo
    Angular 17 Crud Tutorial Working Example
    Angular 17 Crud Tutorial Working Example

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

    1. Angular 17 Tutorials

    Here is the code snippet and please use carefully:

    1. Very first guys, here are common basics steps to add angular 17 (crud) application on your machine and also we must have latest nodejs latest version installed for angular 17:

    $ npm install -g @angular/cli
    
    $ ng new angularform // Set Angular 17 Application on your pc
    
    cd angularform // Go inside project folder

    2. Now run below commands to set bootstrap 5 modules into our angular 17 application for responsiveness (optional):

    npm install bootstrap
    
    npm i @popperjs/core

    3. Now friends we just need to add below code into angularform/angular.json file (optional):

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

    4. Now guys we will add below code into our angularform/src/app/app.component.ts file:

    import { Component } from '@angular/core';
    import { FormBuilder, FormGroup, Validators } from '@angular/forms';
    import { ReactiveFormsModule } from '@angular/forms';
    import { CommonModule } from '@angular/common';
    @Component({
      selector: 'app-root',
      standalone: true,
      templateUrl: './app.component.html',
      imports: [CommonModule, ReactiveFormsModule],
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
      title = 'angular17demos';
    
       loginForm: FormGroup;
      loginList: any[] = [];
      selectedIndex: number = -1;
      isEditMode: boolean = false;
      isSubmitMode: boolean = true;
      passwordFieldType: string = 'password'; // To toggle password field type
    
      constructor(private formBuilder: FormBuilder) {
        this.loginForm = this.formBuilder.group({
          Email: [''],
          Password: [''],
        });
      }
    
      ngOnInit(): void {
        let data = localStorage.getItem('loginList');
        this.loginList = JSON.parse(data || '[]');
      }
    
      submit() {
        console.log(this.loginForm.value);
        if (this.isEditMode) {
          this.updateData();
        } else {
          this.addNewData();
        }
        this.clear();
      }
    
      edit(i: number) {
        this.loginForm.patchValue({
          Email: this.loginList[i].Email,
          Password: this.loginList[i].Password,
        });
        this.selectedIndex = i;
        this.isEditMode = true;
        this.isSubmitMode = false;
      }
    
      updateData() {
        if (this.selectedIndex !== -1) {
          this.loginList[this.selectedIndex].Email = this.loginForm.value.Email;
          this.loginList[this.selectedIndex].Password = this.loginForm.value.Password;
          localStorage.setItem('loginList', JSON.stringify(this.loginList));
        }
        this.clearEditMode();
      }
    
      addNewData() {
        this.loginList.push(this.loginForm.value);
        localStorage.setItem('loginList', JSON.stringify(this.loginList));
      }
    
      clear() {
        this.loginForm.reset();
        this.clearEditMode();
      }
    
      clearEditMode() {
        this.selectedIndex = -1;
        this.isEditMode = false;
        this.isSubmitMode = true;
      }
    
      delete(i: number) {
        this.loginList.splice(i, 1);
        localStorage.setItem('loginList', JSON.stringify(this.loginList));
      }
    
      togglePasswordVisibility() {
        this.passwordFieldType = this.passwordFieldType === 'password' ? 'text' : 'password';
      }
    }

    5. Finally we will add below code into our angularform/src/app/app.component.html file:

    <div class="container mt-5 mb-5">
        <div class="row">
            <div class="col-lg-4">
                <form [formGroup]="loginForm" class="bg-light p-4 rounded">
                    <h3 class="mb-4">{{ isEditMode ? 'Edit' : 'Add' }} User</h3>
                    <div class="mb-3">
                        <label for="exampleInputEmail1" class="form-label">Email address</label>
                        <input class="form-control" formControlName="Email" placeholder="Enter your email">
                    </div>
    
                    <div class="mb-3">
                        <label for="exampleInputPassword1" class="form-label">Password</label>
                        <input [type]="passwordFieldType" class="form-control" formControlName="Password"
                            placeholder="Enter your password">
                    </div>
    
                    <div class="mb-3 form-check">
                        <input type="checkbox" class="form-check-input" id="showPasswordCheckbox"
                            (change)="togglePasswordVisibility()">
                        <label class="form-check-label" for="showPasswordCheckbox">Show Password</label>
                    </div>
    
                    <div class="text-center">
                        <button type="button" class="btn btn-dark me-2" (click)="clear()">Clear</button>
                        <button type="button" class="btn btn-success ml-2" (click)="submit()">{{ isEditMode ? 'Update' :
                            'Submit' }}</button>
                    </div>
                </form>
            </div>
    
            <div class="col-lg-8">
                <table class="table table-striped table-bordered">
                    <thead class="thead-dark">
                        <tr>
                            <th scope="col">#</th>
                            <th scope="col">Email</th>
                            <th scope="col">Password</th>
                            <th>Action</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr *ngFor="let l of loginList; let i = index">
                            <td>{{i + 1}}</td>
                            <td>{{l.Email}}</td>
                            <td>{{l.Password}}</td>
                            <td>
                                <button type="button" class="btn btn-primary btn-sm me-2" (click)="edit(i)">Edit</button>
                                <button type="button" class="btn btn-danger btn-sm ml-1" (click)="delete(i)">Delete</button>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

    Now we are done friends and please run ng serve command to check the output in browser(locahost:4200) 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 please watch video above.

    Guys 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

  • Angular 16+ Data Sharing | State Management Between Components Using NGRX

    Angular 16+ Data Sharing | State Management Between Components Using NGRX

    Hello to all, welcome to therichpost.com. In this post, I will tell you, Angular 16+ Data Sharing | State Management Between Components Using NGRX.

    Live Demo

    Angular 17 came and if you are new then please check below links:

    Angular 16 Basic Tutorials


    Angular 16+ Data Sharing | State Management Between Components Using NGRX
    Angular 16+ Data Sharing | State Management Between Components Using NGRX

    Here is the code snippet and please use it carefully:

    1. Very first, you need run below commands into your terminal to get angular 17 fresh setup:

    Also you have latest nodejs installed on your system

    npm install -g @angular/cli //Setup Angular17 atmosphere
    
    ng new angularngrx //Install New Angular App
    
    /**You need to update your Nodejs also for this verison**/
    
    cd angularngrx //Go inside the Angular 17 Project

    2. Now run below commands into your terminal to get ngrx and bootstrap modules into your angular 17 application:

    I use mostly use bootstrap to make application looks good

    npm install bootstrap --save
    
    npm install @ngrx/store --save

    3. Now add below code into your angular.json file:

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

    4. Now you have to create counter.actions.ts file inside src/app folder and add below code into that file:

    import { createAction } from '@ngrx/store';
    
    export const increment = createAction('[Counter Component] Increment');
    export const decrement = createAction('[Counter Component] Decrement');
    export const reset = createAction('[Counter Component] Reset');

    5. Now create counter.reducer.ts file inside src/app folder and add below code into that file:

    import { createReducer, on } from '@ngrx/store';
    import { increment, decrement, reset } from './counter.actions';
    
    export const initialState = 0;
    
    const _counterReducer = createReducer(initialState,
      on(increment, state => state + 1),
      on(decrement, state => state - 1),
      on(reset, state => 0),
    );
    
    export function counterReducer(state:any, action:any) {
      return _counterReducer(state, action);
    }

    6. Now run below command into your terminal to create new component:

    ng g c componentsecond

    7. Now add below code into your src/app/app.module.ts file:

    ...
    import { StoreModule } from '@ngrx/store';
    import { counterReducer } from './counter.reducer';
    import { Routes, RouterModule } from '@angular/router';
    const appRoutes: Routes = [
      { path: 'secondcomponent', component: ComponentsecondComponent }
    ];
    ...
    imports: [
       ...
       StoreModule.forRoot({ count: counterReducer }),
        RouterModule.forRoot(
          appRoutes,
         { enableTracing: true } // <-- debugging purposes only
        ) 
      ],

    8. Now add below code into src/app/app/component.ts file:

    ...
    import { Store, select } from '@ngrx/store';
    import { Observable } from 'rxjs';
    import { increment, decrement, reset } from './counter.actions';
    ...
    export class AppComponent {
    ...
    count$: Observable<number>; 
    constructor( private store: Store<{ count: number }>){
        this.count$ = store.pipe(select('count'));
      }
    increment() {
        this.store.dispatch(increment());
      }
     
      decrement() {
        this.store.dispatch(decrement());
      }
     
      reset() {
        this.store.dispatch(reset());
      }
    }

    9. Now add below into src/app/app.component.html file:

    <nav class="navbar navbar-expand-sm bg-light">
    
      <!-- Links -->
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link" [routerLink]="['/']">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" [routerLink]="['/secondcomponent']">Second Component</a>
        </li>
      </ul>
    
    </nav>
    <div class="container text-center">
      <h1 class="mt-5 mb-5">Angular 17 NGRX Working Example with multiple Components</h1>
    
      <button class="btn btn-primary mb-5 mt-5" id="increment" (click)="increment()">Increment</button>
    
       <div>Current Count: {{ count$ | async }}</div>
    
       <button class="btn btn-primary mb-5 mt-5 mr-5" id="decrement" (click)="decrement()">Decrement</button>
    
       <button class="btn btn-primary" id="reset" (click)="reset()">Reset Counter</button>
    
    <router-outlet></router-outlet>
    </div>

    10. Now add below into your src/app/componentsecond/componentsecond.component.ts file:

    ...
    import { Store, select } from '@ngrx/store';
    import { Observable } from 'rxjs';
    
    export class ComponentsecondComponent implements OnInit {
      ...
      count$: Observable<number>; 
      constructor( private store: Store<{ count: number }>) { this.count$ = store.pipe(select('count')); }
    
      
    
    }
    

    11. Finally add below into your src/app/componentsecond/componentsecond.component.html file:

    <div>Current Count: {{ count$ | async }}</div>

    This is it and don’t forget to run ng serve command in the end. If you have any kind of query then please do comment below.

    Note:

    The main purpose of this pot is to tell you, how to easily share data between components in angular 17.

    Jassa

    Thanks

  • Build Foodie Restaurant Website in Angular 16 +

    Build Foodie Restaurant Website in Angular 16 +

    Hello friends, welcome back to my blog. Today this blog post will tell you Build Foodie Restaurant Website in Angular 16 +.

    Live Demo
    Build Foodie Restaurant Website in Angular 16 +
    Build Foodie Restaurant Website in Angular 16 +

    Angular 16 and Bootstrap 5 came and if you are new then you must check below two links:

    1. Angular16 Basic Tutorials
    2. Bootstrap 5
    3. Ecommerce Angular Templates

    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 16 setup and for this we need to run below commands but if you already have angular 16 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 friends we just need to add below code into angulardemo/src/app/app.component.html file to get final out on the web browser:

    <app-header></app-header>
      <!-- section-1 top-banner -->
      <section id="home" class="banner_wrapper">
    
        <div class="container">
            <div class="row align-items-center">
                <div class="col-lg-5 text-center text-lg-start order-lg-1 order-2">
                    <h1>It’s Not Just <span>Food</span>, It’s an <span>Experience</span></h1>
                    
            <div class="mt-4">
                <a href="#menu"><button class="orange-btn" >Menu</button></a>
                <a href="#contact"><button class="main-btn ms-lg-4 mt-lg-0 mt-4" href="#contact" >Visit Us</button></a>
    
            </div>
        </div>
        <div class="col-lg-7 text-center order-lg-2 order-0 ">
            <img src="assets/images/food.png" style="float:right" class="img-fluid">
        </div>
        </div>
    
      <!-- section-2 counter -->
      <section id="counter">
        <section class="counter-section">
          <div class="container">
            <div class="row text-center">
              <div class="col-md-3 mb-lg-0 mb-md-0 mb-5">
                <h2>
                  <span id="count1"></span>+
                </h2>
                <p>Happy Customers</p>
              </div>
              <div class="col-md-3 mb-lg-0 mb-md-0 mb-5">
                <h2>
                  <span id="count2"></span>+
                </h2>
                <p>PHOTOS</p>
              </div>
              <div class="col-md-3 mb-lg-0 mb-md-0 mb-5">
                <h2>
                  <span id="count3"></span>+
                </h2>
                <p>Dishes</p>
              </div>
              <div class="col-md-3 mb-lg-0 mb-md-0 mb-5">
                <h2>
                  <span id="count4"></span>+
                </h2>
                <p>Stores</p>
              </div>
            </div>
          </div>
        </section>
      </section>
    
      <!-- section-3 about-->
      <section id="story">
        <div class="about-section wrapper">
          <div class="container">
            <div class="row align-items-center">
              <div class="col-lg-7 col-md-12 mb-lg-0 mb-5">
                <div class="card border-0">
                  <img src="assets/images/About\about2.png" class="img-fluid">
                </div>
              </div>
              <div class="col-lg-5 col-md-12 text-sec">
               <h2 class="black">We pride ourselves on making real food from the best ingredients.</h2>
               <p>This prompted the burning desire for transparency in all of the ingredients we use. Everything we make is listed on the label and there’s no mystery ingredients or natural flavors to hide. We use the best of what Mother Nature has to offer.</p>
               <a href="#" target="_blank"><button class="orange-btn mt-4">Learn More</button></a>
              </div>
            </div>
          </div>
          <br><br>
          <div class="container food-type">
            <div class="row align-items-center">
              <div class="col-lg-5 col-md-12 text-sec mb-lg-0 mb-5">
               <h2 class="black">We make everything by hand with the best possible ingredients.</h2>
               <p>We believe that honesty and simplicity are the keys to meeting the challenges of everyday life. That's why we created a simple snack that we believe will help encourage you to live a healthier life. You'll be amazed at how the smallest changes can have the biggest impact. We want you to know that we promise to deliver the best we have to offer every time.</p>
               <ul class="list-unstyled py-3">
                 <li>Fresh ingredients from Farm</li>
                 <li>Quick and fast service</li>
                 <li>Hygiene and sanitized</li>
               </ul> 
               <a href="#" target="_blank"><button class="orange-btn mt-4">Learn More</button></a>
              </div>
              <div class="col-lg-7 col-md-12">
                <div class="card border-0">
                  <img src="assets/images/About\about1.png" class="img-fluid">
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>
    
    
       <!-- menu section -->
      
    
    <!-- Offer Section -->
    <section id="menu" class="offers_wrapper">
        <div class="container">
            <div class="row">
                <div class="col-sm-12 text-center mb-4">
                    <h2 class="black">Our Menu</h2>
                    <p>There are many variations of food however,<br class="d-none d-md-block">
                      Tantalizing food can make a huge difference.</p>
                </div>
            </div>
            <div class="row">
                <div class="col-md-6 mb-4">
                    <div class="card rounded-0" style="background-image: url('assets/images/menu/tandoori2.png')">
                        <div class="offer-text bg-black bg-opacity-50">
                            <h3 class="text-white">Tandoori chicken</h3>
                            <h5>$8.50 <del class="fst-italic opacity-75">$10.50</del></h5>
                            <a href="#" target="_blank" class="white-btn mt-3">Add TO Cart</a>
                        </div>
                    </div>
                </div>
                <div class="col-md-6 mb-4">
                    <div class="card rounded-0" style="background-image: url('assets/images/menu/chicken-tikka2.png')">
                        <div class="offer-text bg-black bg-opacity-50">
                            <h3 class="text-white">Chicken Tikka </h3>
                            <h5>$18.50 <del class="fst-italic opacity-75">$20.50</del></h5>
                            <a href="#" target="_blank" class="white-btn mt-3">Add TO Cart</a>
                        </div>
                    </div>
                </div>
                <div class="col-md-6 mb-4">
                    <div class="card rounded-0" style="background-image: url('assets/images/menu/grilled-chicken2.png')">
                        <div class="offer-text bg-black bg-opacity-50">
                            <h3 class="text-white">Grilled Chicken</h3>
                            <h5>$15 <del class="fst-italic opacity-75">$20</del></h5>
                            <a href="#" target="_blank" class="white-btn mt-3">Add TO Cart</a>
                        </div>
                    </div>
                </div>
                <div class="col-md-6 mb-4">
                    <div class="card rounded-0" style="background-image: url('assets/images/menu/lemon-chicken2.png')">
                        <div class="offer-text bg-black bg-opacity-50">
                            <h3 class="text-white">Lemon Chicken</h3>
                            <h5>$8.50 <del class="fst-italic opacity-75">$10.50</del></h5>
                            <a href="#" target="_blank" class="white-btn mt-3">Add TO Cart</a>
                        </div>
                    </div>
                </div>
                <div class="col-md-6 mb-4">
                    <div class="card rounded-0" style="background-image: url('assets/images/menu/cajun-chicken2.png')">
                        <div class="offer-text bg-black bg-opacity-50">
                            <h3 class="text-white">Cajun Chicken</h3>
                            <h5>$12.50 <del class="fst-italic opacity-75">$20.50</del></h5>
                            <a href="#" target="_blank" class="white-btn mt-3">Add TO Cart</a>
                        </div>
                    </div>
                </div>
                <div class="col-md-6 mb-4">
                    <div class="card rounded-0" style="background-image: url('assets/images/menu/chicken-kiev2.png')">
                        <div class="offer-text bg-black bg-opacity-50">
                            <h3 class="text-white">Chicken Kiev</h3>
                            <h5>$8.50 <del class="fst-italic opacity-75">$10.50</del></h5>
                            <a href="#" target="_blank" class="white-btn mt-3">Add TO Cart</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
    
      <!-- Section-5 testimonial-->
      <section id="review">
        <div class="wrapper testimonial-section">
          <div class="container text-center">
            <div class="text-center pb-4">
              <h2>Reviews</h2>
            </div>
            <div class="row">
             <div class="col-sm-12 col-lg-10 offset-lg-1">
               <div id="carouselExampleDark" class="carousel slide" data-bs-ride="carousel">
                 <div class="carousel-indicators">
                   <button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="0" class="active"
                     aria-current="true" aria-label="Slide 1"></button>
                   <button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="1"
                     aria-label="Slide 2"></button>
                   <button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="2"
                     aria-label="Slide 3"></button>
                 </div>
                 <div class="carousel-inner">
                   <div class="carousel-item active">
                     <div class="carousel-caption">
                       <img src="assets/images/reviwers\reviwe1.png">
                       <p>"We believe that honesty and simplicity are the keys to meeting the challenges of everyday life."
    
                       </p>
                       <h5 class="orange">Johnthan Doe - Times Now</h5>
                     </div>
                   </div>
                   <div class="carousel-item">
                     <div class="carousel-caption">
                       <img src="assets/images/reviwers\review2.jpg">
                       <p>"The absolute best red sauce. Weather on Pizza or Pasta, it’s honestly delicious."</p>
                       <h5 class="orange">Maccy Doe - Ziggle Foods</h5>
                     </div>
                   </div>
                   <div class="carousel-item">
                     <div class="carousel-caption">
                       <img src="assets/images/reviwers\review-3.jpeg">
                       <p>"Very good service, good menu … not overly extensive. Food was very good quality all around. "</p>
                       <h5 class="orange">Johnthan Doe - Hello Food reviews</h5>
                     </div>
                   </div>
                 </div>
               </div>
             </div>
           </div>
          </div>
        </div>
      </section>
    
    
    
      <!-- section-6 Health tips-->
      <br><br>
    
      <section id="health" class="review_wrapper">
        <div class="container">
            <div class="row">
                <div class="col-lg-5 col-md-7 col-sm-7">
                  <div class="text-center pb-4">
                    <h2 class="black">Health Tips</h2>
                    <p>Eat healthy</p>
                  </div>
                    <div class="card rounded-0 bg-white p-2">
                        <div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
                            <div class="carousel-inner">
                                <div class="carousel-item active">
                                    <div class="carousel-caption">
                                        <img src="assets/images/icons\apple.png">
                                        <h3>Eat A healthy diet</h3>
                                        <p>Eat a combination of different foods, including fruit, vegetables, legumes, nuts and whole grains. 
                                          </p>
                                        <a href="#" class="main-btn mt-4">Learn More</a>
                                    </div>
                                </div>
                                <div class="carousel-item">
                                    <div class="carousel-caption">
                                        <img src="assets/images/icons\water.png">
                                        <h3>Stay Hydrated</h3>
                                        <p>Our bodies are roughly 60 percent water.Staying hydrated will also improve your body’s ability to absorb nutrients.</p>
                                        <a href="#" class="main-btn mt-4">Learn More</a>
                                    </div>
                                </div>
                            </div>
                            <button class="carousel-control-prev" type="button"
                                data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
                                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                                <span class="visually-hidden">Previous</span>
                            </button>
                            <button class="carousel-control-next" type="button"
                                data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
                                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                                <span class="visually-hidden">Next</span>
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
      
      <!-- section-7 Gallery-->
     <!-- Gallery -->
     <br><br>
    <section id="gallery">
      <div class="text-center pb-4">
        <h1 >Follow Us</h1>
        <a target="_blank" href="#"><h3 style="color:var(--primary-color)">@Kabab_and_kurry</h3></a>
        
      </div>
      <div class="row">
        <div class="col-lg-4 col-md-12 mb-4 mb-lg-0">
          <a target="_blank" href="#"><img
          src="assets/images/gallery\food.jpg"
          class="w-100 shadow-1-strong rounded mb-4"
          alt="Boat on Calm Water"
          /></a>
          
          <a target="_blank" href="#"><img
          src="assets/images/gallery\big.jpg"
          class="w-100 shadow-1-strong rounded mb-4"
          alt="Wintry Mountain Landscape"
          /></a>
      </div>
      
      <div class="col-lg-4 mb-4 mb-lg-0">
        <a target="_blank" href="#"><img
        src="assets/images/gallery\vert3.jpg"
        class="w-100 shadow-1-strong rounded mb-4"
        alt="Mountains in the Clouds"
        /></a>
        
        <a target="_blank" href="#"><img
        src="assets/images/gallery\food2.png"
        class="w-100 shadow-1-strong rounded mb-4"
        alt="Boat on Calm Water"
        /></a>
      </div>
      
      <div class="col-lg-4 mb-4 mb-lg-0">
        <a target="_blank" href="#"> <img
        src="assets/images/gallery\food3.jpg"
        class="w-100 shadow-1-strong rounded mb-4"
        alt="Waves at Sea"
        /></a>
        
        <a target="_blank" href="#"><img
        src="assets/images/gallery\tandoor.jpg"
        class="w-100 shadow-1-strong rounded mb-4"
        alt="Yosemite National Park"
        /></a>
      </div>
    </div>
    </section>
    
    <!-- section-8 newslettar-->
    <section id="contact">
      <div class="newslettar wrapper">
          <div class="container">
            <div class="row">
              <div class="sol-sm-12">
                <div class="text-content text-center pb-4">
                    <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d109552.34355997699!2d75.85667325000001!3d30.900345199999997!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x391a837462345a7d%3A0x681102348ec60610!2sLudhiana%2C%20Punjab!5e0!3m2!1sen!2sin!4v1696431599316!5m2!1sen!2sin" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
                 <h2 class="black">Vist us at Jassa Food !</h2>
                 <p>Hurry up! Subscribe our newsletter
                  and get 25% Off</p>
                </div>
                <form class="newsletter">
                  <div class="row">
                    <div class="col-md-8 col-12">
                      <input class="form-control" placeholder="Email Address here" name="email" type="email">
                    </div>
                    <div class="col-md-4 col-12">
                      <button class="main-btn" type="submit">Subscribe</button>
                    </div>
                  </div>
                </form>
              </div>
            </div>
          </div>
        </div>
      </section>
    
     <!-- section-9 footer-->
     <section id="contact" class="footer_wrapper mt-3 mt-md-0">
      <div class="container">
          <div class="row align-items-center">
              <div class="col-lg-4 col-md-6 text-center text-md-start">
                  <div class="footer-logo mb-3 mb-md-0">
                      <img src="assets/images/logo.svg">
                  </div>
              </div>
              <div class="col-lg-4 col-md-6">
                  <ul
                      class="list-unstyled d-flex justify-content-center justify-content-md-end justify-content-lg-center jus social-icon mb-3 mb-md-0">
                      <li>
                          <a href="#" target="_blank"><i class="fab fa-instagram"></i></a>
                      </li>
                      <li>
                          <a href="#" target="_blank"><i class="fab fa-facebook-f"></i> </a>
                      </li>
                      <li>
                          <a href="#" target="_blank"><i class="fab fa-twitter"></i></a>
                      </li>
                      <li>
                          <a href="#" target="_blank"><i class="fab fa-linkedin-in"></i> </a>
                      </li>
                  </ul>
              </div>
              <div class="col-lg-4 col-md-12">
                  <div class="copyright-text text-lg-start text-center mb-3 mb-lg-0">
                      <p class="mb-0">Copyright © 2023 <a href="#">Jassa</a>. All Rights Reserved.</p>
                  </div>
              </div>
          </div>
      </div>
    </section>

    3. Guys here is git repo link and put css,  js and images inside scr/assets folder:

    Git Repo

    4. Guys please add below code inside scr/index.html file:

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Angular | Kabab and Kurry</title>
      <base href="/">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <!-- bootstrap CDN -->
      <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css">
     
     
      <link rel="icon" href="assets/images/fork.png"></link>
    </head>
    <body data-bs-spy="scroll" data-bs-target=".navbar" data-bs-offset="0">
      <app-root></app-root>
      <!-- JS Libraries -->
      <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js"></script>
      
      
    </body>
    </html>

    5. Guys please add below code inside angukar.json file:

    ... 
    "styles":
     [ ... "src/assets/css/style.css", "src/assets/css/responsive-style.css" ], 
    "scripts": [ "src/assets/js/main.js" ]

    Friends in the end must run ng serve command into your terminal to run the angular 16 ecommerce project.

    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