393 lines
26 KiB
PHP
393 lines
26 KiB
PHP
@extends('layouts.app')
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<x-dashboard.breadcumb :title="$title" />
|
|
|
|
<div class="row">
|
|
<div class="col-lg-4 col-xxl-3">
|
|
<div class="card" id="contact-view-detail">
|
|
<div class="card-body text-center">
|
|
@if ($client->logo)
|
|
<div class="position-relative d-inline-block">
|
|
<img src="{{ $client->logo }}" alt="" class="avatar-lg rounded-circle img-thumbnail">
|
|
<span class="contact-active position-absolute rounded-circle bg-success"><span
|
|
class="visually-hidden"></span>
|
|
</span>
|
|
</div>
|
|
@endif
|
|
|
|
<h5 class="mt-4 mb-2">{{ $client->name }}</h5>
|
|
|
|
<ul class="list-inline mb-0">
|
|
<li class="list-inline-item avatar-xs">
|
|
<a href="tel:{{ $client->contact }}"
|
|
class="avatar-title bg-success-subtle text-success fs-15 rounded">
|
|
<i class="ri-phone-line"></i>
|
|
</a>
|
|
</li>
|
|
<li class="list-inline-item avatar-xs">
|
|
<a href="https://wa.me/{{ $client->whatsapp ?? $client->contact }}" target="_blank"
|
|
class="avatar-title bg-danger-subtle text-danger fs-15 rounded">
|
|
<i class="ri-whatsapp-line"></i>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="card-body">
|
|
<h6 class="text-muted text-uppercase fw-semibold mb-3">Client Information</h6>
|
|
<p class="text-muted mb-4">{!! strip_tags($client->description) !!}</p>
|
|
<div class="table-responsive table-card">
|
|
<table class="table table-borderless mb-0">
|
|
<tbody>
|
|
<tr>
|
|
<td class="fw-medium" scope="row">Contact</td>
|
|
<td>{{ $client->contact }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="fw-medium" scope="row">Manager</td>
|
|
<td>{{ $client->manager_name ?? 'Not Provided' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="fw-medium" scope="row">Manager Contact</td>
|
|
<td>{{ $client->manager_contact ?? 'Not Provided' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="fw-medium" scope="row">POC Name</td>
|
|
<td>{{ $client->poc_name ?? 'Not Provided' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="fw-medium" scope="row">POC Contact</td>
|
|
<td>{{ $client->poc_contact ?? 'Not Provided' }}</td>
|
|
</tr>
|
|
@php
|
|
$status = $client->status ? 'Published' : 'Draft';
|
|
$color = $client->status ? 'success' : 'danger';
|
|
@endphp
|
|
|
|
<tr>
|
|
<td class="fw-medium" scope="row">Status</td>
|
|
<td>
|
|
<span
|
|
class="badge bg-{{ $color }}-subtle text-{{ $color }}">{{ $status }}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="fw-medium" scope="row">Created At</td>
|
|
<td>{{ getFormatted(date: $client->created_at) }}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- <div class="card mb-3">
|
|
<div class="card-body">
|
|
<div class="d-flex mb-3">
|
|
<h6 class="card-title mb-0 flex-grow-1">Assigned To</h6>
|
|
<div class="flex-shrink-0">
|
|
<button type="button" class="btn btn-soft-danger btn-sm" data-bs-toggle="modal"
|
|
data-bs-target="#inviteMembersModal"><i class="ri-share-line me-1 align-bottom"></i>
|
|
Assigned Member</button>
|
|
</div>
|
|
</div>
|
|
<ul class="list-unstyled vstack gap-3 mb-0">
|
|
<li>
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0">
|
|
<img src="assets/images/users/avatar-10.jpg" alt=""
|
|
class="avatar-xs rounded-circle">
|
|
</div>
|
|
<div class="flex-grow-1 ms-2">
|
|
<h6 class="mb-1"><a href="pages-profile.html">Tonya Noble</a></h6>
|
|
<p class="text-muted mb-0">Full Stack Developer</p>
|
|
</div>
|
|
<div class="flex-shrink-0">
|
|
<div class="dropdown">
|
|
<button class="btn btn-icon btn-sm fs-16 text-muted dropdown" type="button"
|
|
data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="ri-more-fill"></i>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-eye-fill text-muted me-2 align-bottom"></i>View</a>
|
|
</li>
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-star-fill text-muted me-2 align-bottom"></i>Favorite</a>
|
|
</li>
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-delete-bin-5-fill text-muted me-2 align-bottom"></i>Delete</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0">
|
|
<img src="assets/images/users/avatar-8.jpg" alt=""
|
|
class="avatar-xs rounded-circle">
|
|
</div>
|
|
<div class="flex-grow-1 ms-2">
|
|
<h6 class="mb-1"><a href="pages-profile.html">Thomas Taylor</a></h6>
|
|
<p class="text-muted mb-0">UI/UX Designer</p>
|
|
</div>
|
|
<div class="flex-shrink-0">
|
|
<div class="dropdown">
|
|
<button class="btn btn-icon btn-sm fs-16 text-muted dropdown" type="button"
|
|
data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="ri-more-fill"></i>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-eye-fill text-muted me-2 align-bottom"></i>View</a>
|
|
</li>
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-star-fill text-muted me-2 align-bottom"></i>Favorite</a>
|
|
</li>
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-delete-bin-5-fill text-muted me-2 align-bottom"></i>Delete</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0">
|
|
<img src="assets/images/users/avatar-2.jpg" alt=""
|
|
class="avatar-xs rounded-circle">
|
|
</div>
|
|
<div class="flex-grow-1 ms-2">
|
|
<h6 class="mb-1"><a href="pages-profile.html">Nancy Martino</a></h6>
|
|
<p class="text-muted mb-0">Web Designer</p>
|
|
</div>
|
|
<div class="flex-shrink-0">
|
|
<div class="dropdown">
|
|
<button class="btn btn-icon btn-sm fs-16 text-muted dropdown" type="button"
|
|
data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="ri-more-fill"></i>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-eye-fill text-muted me-2 align-bottom"></i>View</a>
|
|
</li>
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-star-fill text-muted me-2 align-bottom"></i>Favorite</a>
|
|
</li>
|
|
<li><a class="dropdown-item" href="javascript:void(0);"><i
|
|
class="ri-delete-bin-5-fill text-muted me-2 align-bottom"></i>Delete</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div> --}}
|
|
</div>
|
|
|
|
<div class="col-lg-8 col-xxl-9">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-lg-3">
|
|
<div class="card">
|
|
<div class="card-body d-flex gap-3 align-items-center">
|
|
<div class="avatar-sm">
|
|
<div
|
|
class="avatar-title border bg-success-subtle border-success border-opacity-25 rounded-2 fs-17">
|
|
<i class="ri-product-hunt-line text-success fs-24"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h5 class="fs-15">{{ $client->products->count() }}</h5>
|
|
<p class="mb-0 text-muted">Products</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="text-muted">
|
|
<h6 class="mb-3 fw-semibold text-uppercase">Activity Log</h6>
|
|
<div class="tab-content text-muted">
|
|
<div class="tab-pane active" id="today" role="tabpanel">
|
|
<div data-simplebar style="max-height: 400px;">
|
|
<div class="profile-timeline">
|
|
<div class="accordion accordion-flush" id="todayExample">
|
|
@forelse ($client->activityLogs as $index => $log)
|
|
<div class="accordion-item border-0">
|
|
<div class="accordion-header" id="heading{{ $index }}">
|
|
<a class="accordion-button p-2 shadow-none"
|
|
data-bs-toggle="collapse"
|
|
href="#collapse{{ $index }}"
|
|
aria-expanded="false">
|
|
<div class="d-flex">
|
|
<div class="avatar-xs flex-shrink-0">
|
|
<div
|
|
class="avatar-title bg-light text-primary rounded-circle">
|
|
<i class="ri-history-line"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1 ms-3">
|
|
<h6 class="fs-14 mb-1">
|
|
{{ $log->title }}
|
|
</h6>
|
|
<small class="text-muted">{!! $log->data !!} -
|
|
<span
|
|
style="color: #C71585;">{{ \Carbon\Carbon::parse($log->created_at)->format('d M, Y H:i A') }}</span></small>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<div id="collapse{{ $index }}"
|
|
class="accordion-collapse show collapse"
|
|
aria-labelledby="heading{{ $index }}"
|
|
data-bs-parent="#accordionExample">
|
|
<div class="accordion-body ms-2 ps-5">
|
|
<div class="row g-2">
|
|
<div class="col-auto"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@empty
|
|
@endforelse
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--end card-->
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<div>
|
|
<ul class="nav nav-tabs-custom rounded card-header-tabs border-bottom-0" role="tablist">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" data-bs-toggle="tab" href="#products" role="tab">
|
|
Products ({{ $client?->products?->count() }})
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" data-bs-toggle="tab" href="#documents" role="tab">
|
|
Documents (3)
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<!--end nav-->
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="tab-content">
|
|
|
|
<div class="tab-pane active" id="products" role="tabpanel">
|
|
<div class="table-responsive table-card">
|
|
<table class="table align-middle mb-0">
|
|
<thead class="table-light text-muted">
|
|
<tr>
|
|
<th scope="col">Title</th>
|
|
<th scope="col">Created At</th>
|
|
<th scope="col">Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($client->products as $product)
|
|
<tr>
|
|
<th scope="row">
|
|
<div class="flex-grow-1 ms-2">
|
|
<a href="#" class="fw-medium">{{ $product->name }}</a>
|
|
</div>
|
|
</th>
|
|
<td>{{ getFormatted(date: $product->created_at) }}</td>
|
|
|
|
@php
|
|
$status = $client->status ? 'Published' : 'Draft';
|
|
$color = $client->status ? 'success' : 'danger';
|
|
@endphp
|
|
<td><span
|
|
class="badge bg-{{ $color }}-subtle text-{{ $color }}">{{ $status }}</span>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
@php
|
|
$documents = array_filter([
|
|
'logo' => $client->log,
|
|
'promised-document' => $client->promised_document,
|
|
'poc-document' => $client->poc_document,
|
|
]);
|
|
@endphp
|
|
|
|
<div class="tab-pane" id="documents" role="tabpanel">
|
|
<div class="table-responsive table-card">
|
|
<table class="table table-borderless align-middle mb-0">
|
|
<thead class="table-light text-muted">
|
|
<tr>
|
|
<th scope="col">File Name</th>
|
|
<th scope="col">Action</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($documents as $key => $url)
|
|
<tr>
|
|
<td>
|
|
<div class="d-flex align-items-center">
|
|
<div class="avatar-sm">
|
|
<div
|
|
class="avatar-title bg-primary-subtle text-primary rounded fs-20">
|
|
<i class="ri-file-zip-fill"></i>
|
|
</div>
|
|
</div>
|
|
<div class="ms-3 flex-grow-1">
|
|
<h6 class="fs-15 mb-0"><a href="{{ asset($url) }}">{{ $key }}</a></h6>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div class="dropdown">
|
|
<a href="javascript:void(0);" class="btn btn-light btn-icon"
|
|
id="dropdownMenuLink1" data-bs-toggle="dropdown"
|
|
aria-expanded="true">
|
|
<i class="ri-equalizer-fill"></i>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end"
|
|
aria-labelledby="dropdownMenuLink1"
|
|
data-popper-placement="bottom-end"
|
|
style="position: absolute; inset: 0px 0px auto auto; margin: 0px; transform: translate(0px, 23px);">
|
|
<li><a class="dropdown-item" href="{{ asset($url) }}"><i
|
|
class="ri-eye-fill me-2 align-middle text-muted"></i>View</a>
|
|
</li>
|
|
<li><a class="dropdown-item" href="{{ asset($url) }}" download><i
|
|
class="ri-download-2-fill me-2 align-middle text-muted"></i>Download</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|