Initial commit
This commit is contained in:
31
resources/views/dashboard/add_status.blade.php
Normal file
31
resources/views/dashboard/add_status.blade.php
Normal file
@@ -0,0 +1,31 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container mt-5">
|
||||
<h2>{{ 'Add Project Status' }}</h2>
|
||||
@include('commons.notifications')
|
||||
<form action="{{ isset($project_status) ? route('project-status.update', $project_status->id) : route('project-status.store') }}" method="POST">
|
||||
<input type="hidden" name="assignee_id" value="{{ \Auth::user()->id }}">
|
||||
<input type="hidden" name="project_id" value="{{ $project->id }}">
|
||||
@csrf
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="description" class="form-label">Description</label>
|
||||
<textarea class="form-control" name="description" id="description" rows="4" required></textarea>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status" class="form-label">Status</label>
|
||||
<select class="form-select" id="status" name="status" required>
|
||||
<option value="" disabled>-- Select Status--</option>
|
||||
<option value="Pending">Pending</option>
|
||||
<option value="In Progress">In Progress</option>
|
||||
<option value="Completed">Completed</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">{{ 'Add Status' }}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
67
resources/views/dashboard/details.blade.php
Normal file
67
resources/views/dashboard/details.blade.php
Normal file
@@ -0,0 +1,67 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container mt-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<div>
|
||||
<h2>{{ $service->name }} — Subscriber Log</h2>
|
||||
<p class="text-muted mb-0">Schema Type: {{ strtoupper($service->schema_type) }} | Last Synced: {{ $service->last_synced_at ?? 'Never' }}</p>
|
||||
</div>
|
||||
<a href="{{ route('dashboard.index') }}" class="btn btn-outline-secondary">Back to Dashboard</a>
|
||||
</div>
|
||||
|
||||
<!-- Search Bar -->
|
||||
<form method="GET" action="{{ route('services.details', $service->id) }}" class="mb-4">
|
||||
<div class="input-group">
|
||||
<input type="text" name="search" class="form-control" placeholder="Search by phone number, content etc..." value="{{ request('search') }}">
|
||||
<button class="btn btn-primary" type="submit">Search</button>
|
||||
@if(request('search'))
|
||||
<a href="{{ route('services.details', $service->id) }}" class="btn btn-outline-dark">Reset</a>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- Subscribers Table -->
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body p-0">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover mb-0 align-middle">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Phone Number</th>
|
||||
<th>Subscribed Content</th>
|
||||
<th>Status</th>
|
||||
<th>Join Date</th>
|
||||
<th>Last Synced</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse($subscribers as $sub)
|
||||
<tr>
|
||||
<td class="fw-bold">{{ $sub->phone_number }}</td>
|
||||
<td><span class="badge bg-info text-dark">{{ $sub->content_name }}</span></td>
|
||||
<td>
|
||||
<span class="badge {{ $sub->status === 'active' ? 'bg-success' : 'bg-danger' }}">
|
||||
{{ ucfirst($sub->status) }}
|
||||
</span>
|
||||
</td>
|
||||
<td>{{ $sub->join_date ?? 'N/A' }}</td>
|
||||
<td class="text-muted small">{{ $sub->updated_at }}</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="5" class="text-center py-4 text-muted">No subscribers found.</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Pagination Links -->
|
||||
<div class="mt-4">
|
||||
{{ $subscribers->withQueryString()->links() }}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
57
resources/views/dashboard/index.blade.php
Normal file
57
resources/views/dashboard/index.blade.php
Normal file
@@ -0,0 +1,57 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container mt-4">
|
||||
<h2 class="mb-4">Subscriptions Overview</h2>
|
||||
|
||||
<!-- Grand Totals Section -->
|
||||
<div class="row mb-5">
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-primary text-white shadow-sm">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title text-uppercase text-white-50">Total Subscribers (All Services)</h6>
|
||||
<h2 id="grand-total" class="mb-0">
|
||||
<span class="spinner-border spinner-border-sm" role="status"></span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-success text-white shadow-sm">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title text-uppercase text-white-50">Total Active</h6>
|
||||
<h2 id="grand-active" class="mb-0">
|
||||
<span class="spinner-border spinner-border-sm" role="status"></span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-secondary text-white shadow-sm">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title text-uppercase text-white-50">Total Inactive</h6>
|
||||
<h2 id="grand-inactive" class="mb-0">
|
||||
<span class="spinner-border spinner-border-sm" role="status"></span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="mb-3 text-muted">Service Breakdown</h4>
|
||||
|
||||
<!-- Dynamic Service Cards Container -->
|
||||
<div class="row" id="service-cards-container">
|
||||
<!-- jQuery will inject the individual service cards here -->
|
||||
<div class="col-12 text-center py-5" id="loading-services">
|
||||
<div class="spinner-border text-primary" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
<p class="text-muted mt-2">Aggregating cross-service metrics...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script src="{{ asset('public/assets/js/dashboard.js') }}"></script>
|
||||
@endpush
|
||||
Reference in New Issue
Block a user