/home2/mshostin/carnival.ms-hostingladz.com/resources/views/dashboard/vendor/blogs/index.blade.php
@extends('dashboard.admin.layouts.app')

@section('content')
<style>
    .skeleton-container {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
  
    .skeleton-table {
      width: 100%;
      border-collapse: collapse;
    }
  
    .skeleton-table th,
    .skeleton-table td {
      padding: 12px;
      text-align: left;
      border-bottom: 1px solid #ddd;
    }
  
    .skeleton-item {
      background-color: #f0f0f0;
      border-radius: 5px;
      overflow: hidden;
      position: relative;
    }
  
    .skeleton-item::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
      animation: loading 1.5s infinite;
    }
  
    @keyframes loading {
      0% {
        left: -100%;
      }
      100% {
        left: 100%;
      }
    }
  
    .skeleton-content {
      padding: 20px;
    }
  
    .skeleton-line {
      height: 12px;
      margin-bottom: 10px;
      background-color: #ddd;
      border-radius: 5px;
    }
  </style>
<div class="row justify-content-center">
    <div class="col-12">
        <h2 class="mb-2 page-title">Blogs</h2>
        <p class="card-text">Blogs table</p>
        <div class="row my-4">
            <!-- data table -->
            <div class="col-md-12">
                <a href="{{ route('vendor.blogs.create') }}" class="btn btn-primary mb-2">Add New Blog</a>
                <div class="card shadow">
                    <div class="card-body skeleton-container">
                        <!-- table -->
                        <table class="skeleton-table table table-hover">
                            <thead>
                                <tr>
                                    <th></th>
                                    <th>Sr#</th>
                                    <th>Title</th>
                                    <th>Author</th>
                                    <th>Category</th>
                                    <th>Status</th>
                                    <th>Date</th>
                                    <th>Action</th>
                                </tr>
                            </thead>
                            <tbody id="user-table-body">
                                @for ($i = 1; $i <= 10; $i++)
                                    <tr>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                        <td class="skeleton-item"><div class="skeleton-content"><div class="skeleton-line" style="width: 100%;"></div></div></td>
                                    </tr>
                                @endfor
                            </tbody>
                        </table>
                        <nav aria-label="Table Paging" class="mb-0 text-muted">
                            <ul class="pagination justify-content-center mb-0" id="user-pagination">
                                <li class="page-item"><a class="page-link" href="#">Previous</a></li>
                                <li class="page-item"><a class="page-link" href="#">1</a></li>
                                <li class="page-item active"><a class="page-link" href="#">2</a></li>
                                <li class="page-item"><a class="page-link" href="#">3</a></li>
                                <li class="page-item"><a class="page-link" href="#">Next</a></li>
                            </ul>
                        </nav>
                    </div>
                </div>
            </div> <!-- data table -->
        </div> <!-- end section -->
    </div> <!-- .col-12 -->
</div>

@endsection
@section('bottom_script')
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/5.10.1/main.js"></script>
<script>
    var search = null;
    $("input").keyup(function() {
        search = $(this).val();
        fetchDataOnReady();
    });
    $(document).ready(function() {
        fetchDataOnReady();
    });

    function fetchDataOnClick(page) {
        console.log(page);
        $.ajax({
            url: "{{ route('vendor.blogs.index') }}",
            type: "GET",
            data: {
                type: 'ajax',
                page: page
            },
            success: function(response) {
                console.log("Data fetched successfully on click:", response);
                generateTableRows(response.data);
                generatePagination(response);
            },
            error: function(xhr, status, error) {
                console.error("Error fetching data on click:", error);
            }
        });
    }

    function fetchDataOnReady() {
        $.ajax({
            url: "{{ route('vendor.blogs.index') }}",
            type: "GET",
            data: {
                type: 'ajax',
                search: search
            },
            success: function(response) {
                console.log("Data fetched successfully on document ready:", response);
                $('#user-table-body').empty();
                generateTableRows(response.data);
                generatePagination(response);
            },
            error: function(xhr, status, error) {
                console.error("Error fetching data on document ready:", error);
            }
        });
    }

    function generateTableRows(response) {
        var html = '';
        const currentUrl = window.location.href;
        let i = 1;
        $.each(response, function(index, row) {
            html += '<tr>';
            html += '<td></td>';
            html += '<td>' + i + '</td>';
            html += '<td>' + row.title + '</td>';
            html += '<td>' + row.user.first_name + ' '+ row.user.last_name +'</td>';
            html += '<td>' + row.category.title + '</td>';
            html += '<td>';
            html += row.status == 1 ? '<span class="badge bg-success">Acrive</span>' : '<span class="badge bg-danger">InActive</span>';
            html += '</td>';
            html += '<td class="text-center">' + moment(row.created_at).format('DD/MM/YYYY hh:mm:ss') + '</td>';
            html += '<td>';
            html +=
                '  <button class="btn btn-sm rounded dropdown-toggle more-horizontal text-muted" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">';
            html += '<span class="text-muted sr-only">Action</span>';
            html += '</button>';
            html += '<div class="dropdown-menu dropdown-menu-right shadow">';
            html += '<a class="dropdown-item" href="' + currentUrl + '/' + row.id +
                '/edit"><i class="fe fe-edit-2 fe-12 mr-3 text-muted"></i>Edit</a>';
            // html += '<a class="dropdown-item" href="#"><i class="fe fe-trash fe-12 mr-3 text-muted"></i>Remove</a>';
            // html += '<a class="dropdown-item" href="#"><i class="fe fe-flag fe-12 mr-3 text-muted"></i>Assign</a>';
            html += '</div></td>';
            html += '</tr>';
            i++;
        });
        $('#user-table-body').html(html);
    }
    pre = 0;
    nxt = 0;

    function generatePagination(response) {
        var html = '';
        if (response.prev_page_url) {
            pre = response.current_page - 1;
            html += '<li class="page-item"><a onclick="fetchDataOnClick(\'' + pre +
                '\')" href="javascript:void(0);" class="page-link" >Previous</a></li>';
        }
        for (var i = 1; i <= response.last_page; i++) {
            html += '<li class="page-item ' + (i == response.current_page ? 'active' : '') +
                '"><a class="page-link pg-btn" onclick="fetchDataOnClick(\'' + i + '\')" data-attr="page=' + i +
                '" href="javascript:void(0);">' + i + '</a></li>';
        }
        if (response.next_page_url) {
            nxt = response.current_page + 1;
            html += '<li class="page-item"><a class="page-link" onclick="fetchDataOnClick(\'' + nxt +
                '\')" href="javascript:void(0);">Next</a></li>';
        }
        $('#user-pagination').html(html);
    }
</script>
@endsection