Skip to content

Commit

Permalink
Merge pull request #77 from Hasban-Fardani/feat/public-mitra
Browse files Browse the repository at this point in the history
feat: add new mitra page
  • Loading branch information
Hasban-Fardani authored Aug 31, 2024
2 parents f17d7fb + 5db864b commit ed09ebc
Show file tree
Hide file tree
Showing 14 changed files with 227 additions and 21 deletions.
34 changes: 34 additions & 0 deletions app/Http/Controllers/MitraController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

namespace App\Http\Controllers;

use App\Models\Partner;
use App\Models\Report;
use Illuminate\Http\Request;

class MitraController extends Controller
{
public function index()
{
$mitras = Partner::where('is_active', true)->orderBy('created_at', 'DESC')->get();

return view('livewire.mitra', [
'mitras' => $mitras
]);
}

public function show($id)
{
$mitra = Partner::where('is_active', true)->where('id', $id)->first();
$reports = Report::where('partner_id', $id)->get();

// cencored the phone number
$phone = preg_replace('/(\d{4})(\d{4})(\d{4})/', '$1 #### ####', $mitra->phone);

return view('livewire.detail-mitra', [
'mitra' => $mitra,
'phone' => $phone,
'reports' => $reports
]);
}
}
1 change: 1 addition & 0 deletions app/Livewire/Activity.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace App\Livewire;

use App\Models\Activity as ModelsActivity;
use Livewire\Component;

class Activity extends Component
Expand Down
24 changes: 24 additions & 0 deletions app/Livewire/Components/CardOnlyImage.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace App\Livewire\Components;

use Livewire\Component;

class CardOnlyImage extends Component
{
public $images;
public $title;

public $link;

public function mount($images, $title): void
{
$this->images = $images;
$this->title = $title;
}

public function render()
{
return view('livewire.components.card-only-image');
}
}
13 changes: 13 additions & 0 deletions app/Livewire/DetailMitra.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace App\Livewire;

use Livewire\Component;

class DetailMitra extends Component
{
public function render()
{
return view('livewire.detail-mitra');
}
}
13 changes: 13 additions & 0 deletions app/Livewire/Mitra.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace App\Livewire;

use Livewire\Component;

class Mitra extends Component
{
public function render()
{
return view('livewire.mitra');
}
}
2 changes: 1 addition & 1 deletion resources/views/components/layouts/app.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class="text-sm transition duration-300 ease-in-out hover:underline hover:text-se
class="text-sm transition duration-300 ease-in-out hover:underline hover:text-secondaryRed hover:font-semibold active:underline active:text-secondaryRed">Sektor</a>
<a href="/report"
class="text-sm transition duration-300 ease-in-out hover:underline hover:text-secondaryRed hover:font-semibold active:underline active:text-secondaryRed">Laporan</a>
<a href="/partner"
<a href="/mitra"
class="text-sm transition duration-300 ease-in-out hover:underline hover:text-secondaryRed hover:font-semibold active:underline active:text-secondaryRed">Mitra</a>
</div>

Expand Down
6 changes: 1 addition & 5 deletions resources/views/livewire/about.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,7 @@
fontClass="text-2xl md:text-3xl font-bold" class="items-center">
<div class="grid grid-cols-1 px-4 py-10 lg:px-24 md:px-12 lg:grid-cols-4 md:grid-cols-3 gap-7">
@forelse ($reports as $report)
@php
$images = json_decode($report->files, true);
@endphp

<livewire:components.card-with-button :title="$report->title" :images="$images[0]" :description="$report->description"
<livewire:components.card-with-button :title="$report->title" :images="$report->files[0]" :description="$report->description"
name="admin" avatar="avatars/avatar-1.png" :date="$report->realization_date" />
@empty
<h1>tidak ada data</h1>
Expand Down
3 changes: 2 additions & 1 deletion resources/views/livewire/activity.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
<div id="kegiatan" class="px-20 py-10">
<div class="flex w-full gap-5">
<x-mary-button label="Terbaru" icon-right="m-chevron-down" class="w-1/5 btn btn-outline" />
<x-mary-button label="Cari kegiatan..." icon="o-magnifying-glass" class="w-4/5 btn btn-outline" />
<x-mary-button label="Cari kegiatan..." icon="o-magnifying-glass" wire:model="search" class="w-4/5 btn btn-outline" />
</div>
{{-- {{ dd($activities) }} --}}
<div class="grid grid-cols-1 py-10 lg:grid-cols-4 md:grid-cols-3 gap-7">
@foreach ($activities as $activity)
<livewire:components.card-with-button :title="$activity->name" :images="$activity->image"
Expand Down
9 changes: 9 additions & 0 deletions resources/views/livewire/components/card-only-image.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<a href="{{ $link }}" class="relative grid-cols-1 transition duration-300 ease-in-out hover:scale-95">
<div class="flex flex-col border">
<img src="{{ asset($images) }}" alt="{{ $title }}" height="200" width="200" class="w-full bg-gray-50 min-h-32">

<div class="flex flex-col gap-4 px-4 py-5">
<h1 class="text-xl font-semibold">{{ $title }}</h1>
</div>
</div>
</a>
72 changes: 72 additions & 0 deletions resources/views/livewire/detail-mitra.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<x-layouts.app>
<div id="banner">
<livewire:components.banner :title="$mitra->company_name" breadcrumbs="Mitra / Detail" position="center"
subHeading="{{ $mitra->company_name }} - {{ $mitra->email }} - {{ $phone }}" :subtitle="$mitra->address" />
</div>

<div id="detailMitra" class="px-40 pt-20 pb-10">
<livewire:components.container>
<div class="px-4 md:px-20">
<div class="flex flex-col my-5">
<div class="flex items-center justify-center w-full bg-gray-50">
<img src="{{ asset($mitra->logo) }}" alt="{{ $mitra->company_name }}"
class="object-contain w-48 h-48">
</div>
<p class="mt-4 text-lg text-gray-600">
{{ $mitra->description }}
</p>
</div>
</div>

</livewire:components.container>
</div>

<div class="px-28 divider"></div>

<div id="laporan" class="px-10 pt-10">
<livewire:components.container title="Laporan Dari Mitra">
<div class="grid grid-cols-1 px-20 py-10 lg:grid-cols-4 md:grid-cols-3 gap-7">
@forelse ($reports as $report)
@php
$images = $report->files
@endphp

<livewire:components.card-with-button :title="$report->title" :images="$images[0]" :description="$report->description"
link="/report/{{ $report->id }}" :date="$report->realization_date" />
@empty
<h1>tidak ada data</h1>
@endforelse

<div class="flex items-center justify-center pt-6 pb-10 col-span-full">
<x-mary-button label="Lihat semua laporan" class="btn-md btn-outline" link="/report" />
</div>
</div>
</livewire:components.container>
</div>

<div class="flex flex-wrap w-full">
<div id="contact" class="w-full p-4 md:w-1/2">
<livewire:components.container title="Hubungi Kami"
subtitle="hubungi kami melalui formulir di samping, atau melalui kontak di bawah"
fontClass="pt-4 text-stone-500">
<div class="px-20 py-8">
<livewire:components.contact-form icon="o-map-pin" title="Alamat"
content="Jl. Sunan Kalijaga No.7,Sumber, Kec. Sumber, Kabupaten Cirebon,
Jawa Barat 45611" />
<livewire:components.contact-form icon="o-phone" title="Phone"
content="(0231) 321197 atau (0231) 3211792" />
<livewire:components.contact-form icon="o-envelope" title="Email"
content="[email protected]" />
</div>
</livewire:components.container>
</div>
<div class="w-full md:w-1/2">
<div class="flex items-start justify-center h-full p-16">
<img src="{{ asset('storage/images/bg-basemap.png') }}" width="400" height="400"
alt="Map Cirebon">
</div>
</div>
</div>

<livewire:components.footer />
</x-layouts.app>
14 changes: 3 additions & 11 deletions resources/views/livewire/detail-report.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,8 @@ class="h-auto">
</div>

<div class="grid grid-cols-1 gap-4 px-20 sm:grid-cols-2 lg:grid-cols-4 bg-gray-25">
@php
$images = json_decode($report->files, true);
@endphp

@foreach ($images as $image)
<img src="{{ asset($image) }}" alt="{{ $report->files }}" class="object-cover w-full h-auto">
@foreach ($report->files as $image)
<img src="{{ asset($image) }}" alt="laporan" class="object-cover w-full h-auto">
@endforeach
</div>

Expand All @@ -39,11 +35,7 @@ class="h-auto">
<livewire:components.container title="Laporan Lainnya">
<div class="grid grid-cols-1 px-4 py-10 lg:px-24 md:px-12 lg:grid-cols-3 md:grid-cols-3 gap-7">
@forelse ($reports as $report)
@php
$images = json_decode($report->files, true);
@endphp

<livewire:components.card-with-button :title="$report->title" :images="$images[0]" :description="$report->description"
<livewire:components.card-with-button :title="$report->title" :images="$report->files[0]" :description="$report->description"
name="admin" avatar="avatars/avatar-1.png" link="/report/{{ $report->id }}"
:date="$report->realization_date" />
@empty
Expand Down
48 changes: 48 additions & 0 deletions resources/views/livewire/mitra.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<x-layouts.app>
<div id="banner">
<livewire:components.banner title="Mitra" subtitle="Mitra CSR Kabupaten Cirebon" breadcrumbs="Mitra"
position="center" />
</div>

<div id="mitra" class="px-20 py-14">
<livewire:components.container class="items-center">
<div class="flex w-full gap-5">
<x-mary-button label="Laporan Terbanyak" icon-right="m-chevron-down" class="w-1/5 btn btn-outline" />
<x-mary-button label="Cari kegiatan..." icon="o-magnifying-glass" class="w-4/5 btn btn-outline" />
</div>
<div class="grid grid-cols-1 py-10 lg:grid-cols-4 md:grid-cols-3 gap-7">
@foreach ($mitras as $mitra)
{{-- {{ dd($mitra) }} --}}
<livewire:components.card-only-image :title="$mitra->company_name" :images="$mitra->logo"
link="/mitra/{{ $mitra->id }}" />
@endforeach
</div>
</livewire:components.container>
</div>

<div class="flex flex-wrap w-full">
<div id="contact" class="w-full p-4 md:w-1/2">
<livewire:components.container title="Hubungi Kami"
subtitle="hubungi kami melalui formulir di samping, atau melalui kontak di bawah"
fontClass="pt-4 text-stone-500">
<div class="px-20 py-8">
<livewire:components.contact-form icon="o-map-pin" title="Alamat"
content="Jl. Sunan Kalijaga No.7,Sumber, Kec. Sumber, Kabupaten Cirebon,
Jawa Barat 45611" />
<livewire:components.contact-form icon="o-phone" title="Phone"
content="(0231) 321197 atau (0231) 3211792" />
<livewire:components.contact-form icon="o-envelope" title="Email"
content="[email protected]" />
</div>
</livewire:components.container>
</div>
<div class="w-full md:w-1/2">
<div class="flex items-start justify-center h-full p-16">
<img src="{{ asset('storage/images/bg-basemap.png') }}" width="400" height="400"
alt="Map Cirebon">
</div>
</div>
</div>

<livewire:components.footer />
</x-layouts.app>
2 changes: 1 addition & 1 deletion resources/views/livewire/report.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<div class="grid grid-cols-1 px-4 py-10 lg:grid-cols-4 md:grid-cols-3 gap-7">
@forelse ($reports as $report)
@php
$images = json_decode($report->files, true);
$images = $report->files
@endphp

<livewire:components.card-with-button :title="$report->title" :images="$images[0]" :description="$report->description"
Expand Down
7 changes: 5 additions & 2 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
use App\Http\Controllers\AboutController;
use App\Http\Controllers\ActivityController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\MitraController;
use App\Http\Controllers\ProjectController;
use App\Http\Controllers\ReportController;
use App\Http\Controllers\SectorController;
use App\Livewire\Welcome;
use Illuminate\Support\Facades\Route;

/*
Expand All @@ -33,4 +33,7 @@
Route::get('/project/{id}', [ProjectController::class, 'show']);

Route::get('/report', [ReportController::class, 'index']);
Route::get('/report/{id}', [ReportController::class, 'show']);
Route::get('/report/{id}', [ReportController::class, 'show']);

Route::get('/mitra', [MitraController::class, 'index']);
Route::get('/mitra/{id}', [MitraController::class, 'show']);

0 comments on commit ed09ebc

Please sign in to comment.