summaryrefslogtreecommitdiff
path: root/src/main/resources/templates/admin-panel/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/templates/admin-panel/pages')
-rw-r--r--src/main/resources/templates/admin-panel/pages/forms/add-barber.html309
-rw-r--r--src/main/resources/templates/admin-panel/pages/forms/add-slide.html307
-rw-r--r--src/main/resources/templates/admin-panel/pages/forms/add-testimonial.html307
-rw-r--r--src/main/resources/templates/admin-panel/pages/tables/appointments.html321
-rw-r--r--src/main/resources/templates/admin-panel/pages/tables/barbers.html315
-rw-r--r--src/main/resources/templates/admin-panel/pages/tables/slides.html315
-rw-r--r--src/main/resources/templates/admin-panel/pages/tables/testimonials.html315
-rw-r--r--src/main/resources/templates/admin-panel/pages/tables/visitors.html309
8 files changed, 2498 insertions, 0 deletions
diff --git a/src/main/resources/templates/admin-panel/pages/forms/add-barber.html b/src/main/resources/templates/admin-panel/pages/forms/add-barber.html
new file mode 100644
index 0000000..5e4a773
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/forms/add-barber.html
@@ -0,0 +1,309 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Add barber</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Add Barber</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Add Barber</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <!-- Small boxes (Stat box) -->
+ <div class="row">
+ <div class="col-md-12">
+ <div class="card card-primary">
+ <div class="card-header">
+ <h3 class="card-title">Barber</h3>
+ </div>
+
+ <form method="post" th:action="@{/save/barber}" enctype="multipart/form-data">
+ <div class="card-body">
+ <div class="form-group">
+ <label for="firstName">Name</label>
+ <input class="form-control" id="firstName" name="firstName" type="text" placeholder="Enter name">
+ </div>
+ <div class="form-group">
+ <label for="level">Level</label>
+ <select class="form-control" id="level" name="level" placeholder="Choose level">
+ <option th:each="level: ${levels}" th:value="${level.name}" th:text="${level.name}"></option>
+ </select>
+ </div>
+ <div class="form-group">
+ <label for="photo">Photo</label>
+ <div class="input-group">
+ <div class="custom-file">
+ <input type="file" class="custom-file-input" id="photo" name="photo" accept="image/*">
+ <label class="custom-file-label" for="photo">Choose photo</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-footer">
+ <button type="submit" class="btn btn-primary">Add</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+</body>
+</html>
diff --git a/src/main/resources/templates/admin-panel/pages/forms/add-slide.html b/src/main/resources/templates/admin-panel/pages/forms/add-slide.html
new file mode 100644
index 0000000..2b032c9
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/forms/add-slide.html
@@ -0,0 +1,307 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Add slide</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Add Slide</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Add Slide</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <!-- Small boxes (Stat box) -->
+ <div class="row">
+ <div class="col-md-12">
+ <div class="card card-primary">
+ <div class="card-header">
+ <h3 class="card-title">Slide</h3>
+ </div>
+
+ <form method="post" th:action="@{/save/slide}" enctype="multipart/form-data">
+ <div class="card-body">
+ <div class="form-group">
+ <label for="title">Title</label>
+ <input class="form-control" id="title" name="title" type="text" placeholder="Enter title">
+ </div>
+ <div class="form-group">
+ <label for="description">Description</label>
+ <input class="form-control" id="description" name="description" type="text" placeholder="Enter description">
+ </div>
+ <div class="form-group">
+ <label for="photo">Photo</label>
+ <div class="input-group">
+ <div class="custom-file">
+ <input type="file" class="custom-file-input" id="photo" name="photo" accept="image/*">
+ <label class="custom-file-label" for="photo">Choose photo</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-footer">
+ <button type="submit" class="btn btn-primary">Add</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+</body>
+</html>
diff --git a/src/main/resources/templates/admin-panel/pages/forms/add-testimonial.html b/src/main/resources/templates/admin-panel/pages/forms/add-testimonial.html
new file mode 100644
index 0000000..7c94cde
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/forms/add-testimonial.html
@@ -0,0 +1,307 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Add testimonial</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Add Testimonial</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Add Testimonial</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <!-- Small boxes (Stat box) -->
+ <div class="row">
+ <div class="col-md-12">
+ <div class="card card-primary">
+ <div class="card-header">
+ <h3 class="card-title">Testimonial</h3>
+ </div>
+
+ <form method="post" th:action="@{/save/testimonial}" enctype="multipart/form-data">
+ <div class="card-body">
+ <div class="form-group">
+ <label for="name">Name</label>
+ <input class="form-control" id="name" name="name" type="text" placeholder="Enter name">
+ </div>
+ <div class="form-group">
+ <label for="comment">Comment</label>
+ <input class="form-control" id="comment" name="comment" type="text" placeholder="Enter comment">
+ </div>
+ <div class="form-group">
+ <label for="photo">Photo</label>
+ <div class="input-group">
+ <div class="custom-file">
+ <input type="file" class="custom-file-input" id="photo" name="photo" accept="image/*">
+ <label class="custom-file-label" for="photo">Choose photo</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-footer">
+ <button type="submit" class="btn btn-primary">Add</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+</body>
+</html>
diff --git a/src/main/resources/templates/admin-panel/pages/tables/appointments.html b/src/main/resources/templates/admin-panel/pages/tables/appointments.html
new file mode 100644
index 0000000..28f60f9
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/tables/appointments.html
@@ -0,0 +1,321 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Appointments</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Appointments</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Appointments</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <div class="row">
+ <div class="col-12">
+ <div class="card">
+ <div class="card-header">
+ <h3 class="card-title">Appointments</h3>
+ <div class="card-tools">
+ <div class="input-group input-group-sm" style="width: 150px;">
+ <input type="text" name="table_search" class="form-control float-right" placeholder="Search">
+ <div class="input-group-append">
+ <button type="submit" class="btn btn-default">
+ <i class="fas fa-search"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-body table-responsive p-0">
+ <table class="table table-hover text-nowrap">
+ <thead>
+ <tr>
+ <th>ID</th>
+ <th>Date</th>
+ <th>Time</th>
+ <th>Service</th>
+ <th>Barber</th>
+ <th>Name</th>
+ <th>Telephone number</th>
+ <th>Email</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr th:each="appointment: ${appointments}">
+ <td th:text="${appointment.id}"></td>
+ <td th:text="${appointment.date}"></td>
+ <td th:text="${appointment.time}"></td>
+ <td th:text="${appointment.service}"></td>
+ <td th:text="${appointment.barber}"></td>
+ <td th:text="${appointment.name}"></td>
+ <td th:text="${appointment.telephoneNumber}"></td>
+ <td th:text="${appointment.email}"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
+<script th:src="@{/dist/js/pages/dashboard.js}"></script>
+</body>
+</html>
diff --git a/src/main/resources/templates/admin-panel/pages/tables/barbers.html b/src/main/resources/templates/admin-panel/pages/tables/barbers.html
new file mode 100644
index 0000000..5c7d235
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/tables/barbers.html
@@ -0,0 +1,315 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Barbers</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Barbers</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Barbers</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <div class="row">
+ <div class="col-12">
+ <div class="card">
+ <div class="card-header">
+ <h3 class="card-title">Barbers</h3>
+ <div class="card-tools">
+ <div class="input-group input-group-sm" style="width: 150px;">
+ <input type="text" name="table_search" class="form-control float-right" placeholder="Search">
+ <div class="input-group-append">
+ <button type="submit" class="btn btn-default">
+ <i class="fas fa-search"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-body table-responsive p-0">
+ <table class="table table-hover text-nowrap">
+ <thead>
+ <tr>
+ <th>ID</th>
+ <th>Name</th>
+ <th>Level</th>
+ <th>Photo</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr th:each="barber: ${barbers}">
+ <td th:text="${barber.id}"></td>
+ <td th:text="${barber.firstName}"></td>
+ <td th:text="${barber.level.name}"></td>
+ <td>
+ <img width="128" height="128" alt="Photo" src="" th:src="*{'data:image/png;base64,' + barber.encodedPhoto}">
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
+<script th:src="@{/dist/js/pages/dashboard.js}"></script>
+</body>
+</html>
diff --git a/src/main/resources/templates/admin-panel/pages/tables/slides.html b/src/main/resources/templates/admin-panel/pages/tables/slides.html
new file mode 100644
index 0000000..a5ec016
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/tables/slides.html
@@ -0,0 +1,315 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Slides</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Slides</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Slides</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <div class="row">
+ <div class="col-12">
+ <div class="card">
+ <div class="card-header">
+ <h3 class="card-title">Slides</h3>
+ <div class="card-tools">
+ <div class="input-group input-group-sm" style="width: 150px;">
+ <input type="text" name="table_search" class="form-control float-right" placeholder="Search">
+ <div class="input-group-append">
+ <button type="submit" class="btn btn-default">
+ <i class="fas fa-search"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-body table-responsive p-0">
+ <table class="table table-hover text-nowrap">
+ <thead>
+ <tr>
+ <th>ID</th>
+ <th>Title</th>
+ <th>Description</th>
+ <th>Photo</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr th:each="slide: ${slides}">
+ <td th:text="${slide.id}"></td>
+ <td th:text="${slide.title}"></td>
+ <td th:text="${slide.description}"></td>
+ <td>
+ <img width="256" height="128" alt="Photo" src="" th:src="*{'data:image/png;base64,' + slide.encodedPhoto}">
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
+<script th:src="@{/dist/js/pages/dashboard.js}"></script>
+</body>
+</html>
diff --git a/src/main/resources/templates/admin-panel/pages/tables/testimonials.html b/src/main/resources/templates/admin-panel/pages/tables/testimonials.html
new file mode 100644
index 0000000..d8eadb3
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/tables/testimonials.html
@@ -0,0 +1,315 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Testimonials</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Testimonials</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Testimonials</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <div class="row">
+ <div class="col-12">
+ <div class="card">
+ <div class="card-header">
+ <h3 class="card-title">Testimonials</h3>
+ <div class="card-tools">
+ <div class="input-group input-group-sm" style="width: 150px;">
+ <input type="text" name="table_search" class="form-control float-right" placeholder="Search">
+ <div class="input-group-append">
+ <button type="submit" class="btn btn-default">
+ <i class="fas fa-search"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-body table-responsive p-0">
+ <table class="table table-hover text-nowrap">
+ <thead>
+ <tr>
+ <th>ID</th>
+ <th>Name</th>
+ <th>Comment</th>
+ <th>Photo</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr th:each="testimonial: ${testimonials}">
+ <td th:text="${testimonial.id}"></td>
+ <td th:text="${testimonial.name}"></td>
+ <td th:text="${testimonial.comment}"></td>
+ <td>
+ <img width="64" height="64" alt="Photo" src="" th:src="*{'data:image/png;base64,' + testimonial.encodedPhoto}">
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
+<script th:src="@{/dist/js/pages/dashboard.js}"></script>
+</body>
+</html>
diff --git a/src/main/resources/templates/admin-panel/pages/tables/visitors.html b/src/main/resources/templates/admin-panel/pages/tables/visitors.html
new file mode 100644
index 0000000..9d6fdeb
--- /dev/null
+++ b/src/main/resources/templates/admin-panel/pages/tables/visitors.html
@@ -0,0 +1,309 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Admin Panel | Visitors</title>
+
+ <!-- Google Font: Source Sans Pro -->
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" th:href="@{/plugins/fontawesome-free/css/all.min.css}">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css}">
+ <!-- Tempusdominus Bootstrap 4 -->
+ <link rel="stylesheet" th:href="@{/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css}">
+ <!-- iCheck -->
+ <link rel="stylesheet" th:href="@{/plugins/icheck-bootstrap/icheck-bootstrap.min.css}">
+ <!-- JQVMap -->
+ <link rel="stylesheet" th:href="@{/plugins/jqvmap/jqvmap.min.css}">
+ <!-- Theme style -->
+ <link rel="stylesheet" th:href="@{/dist/css/adminlte.min.css}">
+ <!-- overlayScrollbars -->
+ <link rel="stylesheet" th:href="@{/plugins/overlayScrollbars/css/OverlayScrollbars.min.css}">
+ <!-- Daterange picker -->
+ <link rel="stylesheet" th:href="@{/plugins/daterangepicker/daterangepicker.css}">
+ <!-- summernote -->
+ <link rel="stylesheet" th:href="@{/plugins/summernote/summernote-bs4.min.css}">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+ <!-- Preloader -->
+ <div class="preloader flex-column justify-content-center align-items-center">
+ <img class="animation__shake" th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTELogo" height="60" width="60">
+ </div>
+
+ <!-- Navbar -->
+ <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+ <!-- Left navbar links -->
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+ </li>
+ <li class="nav-item d-none d-sm-inline-block">
+ <a th:href="@{/admin-panel}" class="nav-link">Home</a>
+ </li>
+ </ul>
+
+ <!-- Right navbar links -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Navbar Search -->
+ <li class="nav-item">
+ <a class="nav-link" data-widget="navbar-search" href="#" role="button">
+ <i class="fas fa-search"></i>
+ </a>
+ <div class="navbar-search-block">
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-navbar" type="submit">
+ <i class="fas fa-search"></i>
+ </button>
+ <button class="btn btn-navbar" type="button" data-widget="navbar-search">
+ <i class="fas fa-times"></i>
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </li>
+
+ <li class="nav-item">
+ <a class="nav-link" data-widget="fullscreen" href="#" role="button">
+ <i class="fas fa-expand-arrows-alt"></i>
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.navbar -->
+
+ <!-- Main Sidebar Container -->
+ <aside class="main-sidebar sidebar-dark-primary elevation-4">
+ <!-- Brand Logo -->
+ <a th:href="@{/admin-panel}" class="brand-link">
+ <img th:src="@{/dist/img/AdminLTELogo.png}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
+ <span class="brand-text font-weight-light">Admin Panel</span>
+ </a>
+
+ <!-- Sidebar -->
+ <div class="sidebar">
+ <!-- Sidebar user panel (optional) -->
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
+ <div class="image">
+ <img th:src="@{/dist/img/user2-160x160.jpg}" class="img-circle elevation-2" alt="User Image">
+ </div>
+ <div class="info">
+ <a href="#" class="d-block">Mavlon</a>
+ </div>
+ </div>
+
+ <!-- SidebarSearch Form -->
+ <div class="form-inline">
+ <div class="input-group" data-widget="sidebar-search">
+ <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
+ <div class="input-group-append">
+ <button class="btn btn-sidebar">
+ <i class="fas fa-search fa-fw"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Sidebar Menu -->
+ <nav class="mt-2">
+ <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+ <!-- Add icons to the links using the .nav-icon class
+ with font-awesome or any other icon font library -->
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/}" class="nav-link">
+ <i class="nav-icon fas fa-tachometer-alt"></i>
+ <p>
+ Dashboard
+ </p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-edit"></i>
+ <p>
+ Forms
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-barber}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Barber</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-slide}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Slide</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/pages/forms/add-testimonial}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Add Testimonial</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-item">
+ <a href="#" class="nav-link">
+ <i class="nav-icon fas fa-table"></i>
+ <p>
+ Tables
+ <i class="fas fa-angle-left right"></i>
+ </p>
+ </a>
+ <ul class="nav nav-treeview">
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/appointments}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Appointments</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/visitors}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Visitors</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/barbers}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Barbers</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/slides}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Slides</p>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a th:href="@{/admin-panel/tables/testimonials}" class="nav-link">
+ <i class="far fa-circle nav-icon"></i>
+ <p>Testimonials</p>
+ </a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <!-- /.sidebar-menu -->
+ </div>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <div class="content-header">
+ <div class="container-fluid">
+ <div class="row mb-2">
+ <div class="col-sm-6">
+ <h1 class="m-0">Visitors</h1>
+ </div><!-- /.col -->
+ <div class="col-sm-6">
+ <ol class="breadcrumb float-sm-right">
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
+ <li class="breadcrumb-item active">Visitors</li>
+ </ol>
+ </div><!-- /.col -->
+ </div><!-- /.row -->
+ </div><!-- /.container-fluid -->
+ </div>
+ <!-- /.content-header -->
+
+ <!-- Main content -->
+ <section class="content">
+ <div class="container-fluid">
+ <div class="row">
+ <div class="col-12">
+ <div class="card">
+ <div class="card-header">
+ <h3 class="card-title">Visitors</h3>
+ <div class="card-tools">
+ <div class="input-group input-group-sm" style="width: 150px;">
+ <input type="text" name="table_search" class="form-control float-right" placeholder="Search">
+ <div class="input-group-append">
+ <button type="submit" class="btn btn-default">
+ <i class="fas fa-search"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card-body table-responsive p-0">
+ <table class="table table-hover text-nowrap">
+ <thead>
+ <tr>
+ <th>ID</th>
+ <th>Date</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr th:each="visitor: ${visitors}">
+ <td th:text="${visitor.id}"></td>
+ <td th:text="${visitor.date}"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.container-fluid -->
+ </section>
+ <!-- /.content -->
+ </div>
+
+ <!-- Control Sidebar -->
+ <aside class="control-sidebar control-sidebar-dark">
+ <!-- Control sidebar content goes here -->
+ </aside>
+ <!-- /.control-sidebar -->
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script th:src="@{/plugins/jquery/jquery.min.js}"></script>
+<!-- jQuery UI 1.11.4 -->
+<script th:src="@{/plugins/jquery-ui/jquery-ui.min.js}"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+ $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script th:src="@{/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
+<!-- ChartJS -->
+<script th:src="@{/plugins/chart.js/Chart.min.js}"></script>
+<!-- Sparkline -->
+<script th:src="@{/plugins/sparklines/sparkline.js}"></script>
+<!-- JQVMap -->
+<script th:src="@{/plugins/jqvmap/jquery.vmap.min.js}"></script>
+<script th:src="@{/plugins/jqvmap/maps/jquery.vmap.usa.js}"></script>
+<!-- jQuery Knob Chart -->
+<script th:src="@{/plugins/jquery-knob/jquery.knob.min.js}"></script>
+<!-- daterangepicker -->
+<script th:src="@{/plugins/moment/moment.min.js}"></script>
+<script th:src="@{/plugins/daterangepicker/daterangepicker.js}"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script th:src="@{/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js}"></script>
+<!-- Summernote -->
+<script th:src="@{/plugins/summernote/summernote-bs4.min.js}"></script>
+<!-- overlayScrollbars -->
+<script th:src="@{/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js}"></script>
+<!-- AdminLTE App -->
+<script th:src="@{/dist/js/adminlte.js}"></script>
+<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
+<script th:src="@{/dist/js/pages/dashboard.js}"></script>
+</body>
+</html>