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)
- {{ $category['name'] }} + + {{ $category['name'] }} +

- +

@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 @@