diff --git a/app/Livewire/Auth/VerifyEmail.php b/app/Livewire/Auth/VerifyEmail.php
index a2816f2..fc6202a 100644
--- a/app/Livewire/Auth/VerifyEmail.php
+++ b/app/Livewire/Auth/VerifyEmail.php
@@ -3,7 +3,6 @@
namespace App\Livewire\Auth;
use App\Traits\Components\WithToast;
-use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
use Livewire\Attributes\Layout;
use Livewire\Component;
@@ -15,18 +14,29 @@ class VerifyEmail extends Component
{
use WithToast;
+ public function mount(): void
+ {
+ $user = auth()->user();
+
+ if ($user?->hasVerifiedEmail()) {
+ $this->redirectIntended(route('member.overview'), navigate: true);
+ }
+ }
+
/**
* Send email verification notification to the user.
*/
public function resend(): void
{
- if (Auth::user()->hasVerifiedEmail()) {
+ $user = auth()->user();
+
+ if ($user?->hasVerifiedEmail()) {
$this->redirectIntended(route('member.overview'), navigate: true);
return;
}
- Auth::user()->sendEmailVerificationNotification();
+ $user?->sendEmailVerificationNotification();
$this->toast('Tautan verifikasi baru telah dikirim ke alamat email Anda.');
}
@@ -36,7 +46,7 @@ public function resend(): void
*/
public function logout(): void
{
- Auth::logout();
+ auth()->logout();
$this->redirect(route('login'), navigate: true);
}
diff --git a/app/Livewire/Datatable/Manage/OrdersTable.php b/app/Livewire/Datatable/Manage/OrdersTable.php
index d779971..f87f4d1 100644
--- a/app/Livewire/Datatable/Manage/OrdersTable.php
+++ b/app/Livewire/Datatable/Manage/OrdersTable.php
@@ -21,9 +21,16 @@ class OrdersTable extends DataTableComponent
public function columns(): array
{
return [
- Column::make('Pegawai', 'user.employee.full_name')->searchable(),
+ Column::make('Outlet', 'outlet.name')->searchable(),
- Column::make('Voucher', 'voucher.name')->searchable(),
+ Column::make('Pegawai', 'user.employee.full_name')
+ ->searchable(function (Builder $query, $searchTerm) {
+ $query->orWhereHas('user', function (Builder $query) use ($searchTerm) {
+ $query->whereHas('employee', function (Builder $query) use ($searchTerm) {
+ $query->where('full_name', 'like', "%{$searchTerm}%");
+ });
+ });
+ }),
Column::make('Nomor Invoice')
->label(function ($row) {
@@ -35,7 +42,7 @@ public function columns(): array
HTML;
})
->searchable(function ($query, $searchTerm) {
- $query->where('invoice_number', 'like', "%{$searchTerm}%")
+ $query->orWhere('invoice_number', 'like', "%{$searchTerm}%")
->orWhereHas('customer', function (Builder $query) use ($searchTerm) {
$query->where('name', 'like', "%{$searchTerm}%");
});
@@ -43,12 +50,13 @@ public function columns(): array
->html(),
Column::make('Tanggal', 'ordered_at')
- ->format(fn ($value) => formatDateLocalized($value))
+ ->format(fn ($value) => formatDateTimeLocalized($value))
->searchable(),
Column::make('HPP', 'cogs')
->format(fn ($value) => formatCurrencyNumber($value, 'Rp'))
- ->searchable(),
+ ->searchable()
+ ->hideIf(! auth()->user()->hasRole(['Developer', 'Owner'])),
ArrayColumn::make('Item')
->data(
@@ -70,7 +78,16 @@ public function columns(): array
{$value['total_price']}
")
- ->flexCol(['class' => 'flex-col gap-3']),
+ ->flexCol(['class' => 'flex-col gap-3'])
+ ->searchable(function ($query, $searchTerm) {
+ $query->orWhereHas('items', function (Builder $query) use ($searchTerm) {
+ $query->whereHas('orderable', function (Builder $query) use ($searchTerm) {
+ $query->where('name', 'like', "%{$searchTerm}%");
+ });
+ });
+ }),
+
+ Column::make('Voucher', 'voucher.name')->searchable(),
Column::make('Ringkasan')
->label(function ($value) {
@@ -148,6 +165,7 @@ public function builder(): Builder
return Order::select(
'orders.id',
'orders.user_id',
+ 'orders.outlet_id',
'invoice_number',
'customer_id',
'orders.ordered_at',
@@ -161,7 +179,7 @@ public function builder(): Builder
'orders.voucher_id',
'orders.created_at'
)
- ->with(['user', 'user.employee', 'customer', 'voucher'])
+ ->with(['outlet', 'user', 'user.employee', 'customer', 'voucher'])
->whereHas(
'outlet',
fn ($q) => $q->whereIn('outlets.id', auth()->user()->outlets()->pluck('outlets.id'))
diff --git a/app/Livewire/Studio/Dashboard/Analysis.php b/app/Livewire/Studio/Dashboard/Analysis.php
index 7e632fd..68f6743 100644
--- a/app/Livewire/Studio/Dashboard/Analysis.php
+++ b/app/Livewire/Studio/Dashboard/Analysis.php
@@ -84,8 +84,6 @@ class Analysis extends Component
public function mount(): void
{
$this->outlets = auth()->user()->outlets()->get()->pluck('name', 'id')->toArray();
-
- $this->selectedOutletIds = auth()->user()->outlets()->pluck('outlets.id')->toArray();
}
public function render(): View
@@ -389,7 +387,7 @@ public function render(): View
$ordersTrend = Order::query()
->when(! empty($outletIds), fn ($q) => $q->whereIn('outlet_id', $outletIds))
->where('created_at', '>=', now()->subDays(30)->startOfDay())
- ->select(DB::raw('DATE(created_at) as date'), DB::raw('SUM(total) as revenue'), DB::raw('SUM(total - cogs - discount - COALESCE(voucher_discount,0)) as gross_profit'), DB::raw('count(*) as count'))
+ ->select(DB::raw('DATE(created_at) as date'), DB::raw('SUM(total) as revenue'), DB::raw('SUM(total) - SUM(cogs) - SUM(discount) - SUM(COALESCE(voucher_discount,0)) as gross_profit'), DB::raw('count(*) as count'))
->groupBy('date')
->get()
->keyBy('date');
diff --git a/app/Livewire/Studio/Dashboard/Overview.php b/app/Livewire/Studio/Dashboard/Overview.php
index c731b95..fc2a07a 100644
--- a/app/Livewire/Studio/Dashboard/Overview.php
+++ b/app/Livewire/Studio/Dashboard/Overview.php
@@ -45,8 +45,6 @@ class Overview extends Component
public function mount(): void
{
$this->outlets = auth()->user()->outlets()->get()->pluck('name', 'id')->toArray();
-
- $this->selectedOutletIds = auth()->user()->outlets()->pluck('outlets.id')->toArray();
}
public function render(): View
diff --git a/resources/views/livewire/home/partials/categories.blade.php b/resources/views/livewire/home/partials/categories.blade.php
index 87dcefc..5242144 100644
--- a/resources/views/livewire/home/partials/categories.blade.php
+++ b/resources/views/livewire/home/partials/categories.blade.php
@@ -18,13 +18,16 @@
@foreach ($categories as $category)
-
+
@include('livewire.home.partials.jumbotron.testimonial')
diff --git a/resources/views/livewire/home/partials/jumbotron/right.blade.php b/resources/views/livewire/home/partials/jumbotron/right.blade.php
index 4da313a..3d18b25 100644
--- a/resources/views/livewire/home/partials/jumbotron/right.blade.php
+++ b/resources/views/livewire/home/partials/jumbotron/right.blade.php
@@ -1,5 +1,5 @@
+ class="relative w-full lg:w-[65%] min-h-[600px] lg:min-h-screen hidden lg:flex flex-col lg:flex-row justify-end items-end pb-8 pr-0 lg:px-10 z-10">