user(); return Inertia::render('admin/system/setting/Index', [ 'system' => $this->systemService->systemData(), 'socialMedia' => $this->socialMediaService->socialMediaData(), 'marketplace' => $this->marketplaceService->marketplaceData(), 'hr' => $this->hrSettingService->hrData(), 'homepage' => $this->homepageSettingService->homepageData(), 'hasPendingMarketplaceVerification' => $this->ownerVerificationService->hasPendingMarketplaceVerification(), 'canUpdateSystem' => $user->can(Permission::SETTINGS_UPDATE_SYSTEM->value), 'canUpdateSocialMedia' => $user->can(Permission::SETTINGS_UPDATE_SOCIAL_MEDIA->value), 'canUpdateMarketplace' => $user->can(Permission::SETTINGS_UPDATE_MARKETPLACE->value), 'canUpdateHr' => $user->can(Permission::SETTINGS_UPDATE_HR->value), 'canUpdateHomepage' => $user->can(Permission::SETTINGS_UPDATE_HOMEPAGE->value), ]); } public function updateSystem(SystemRequest $request): RedirectResponse { $this->systemService->updateSystem($request->validated()); $this->flashSuccess('Pengaturan sistem berhasil disimpan.'); return redirect()->route('admin.system.settings.index'); } public function updateSocialMedia(SocialMediaRequest $request): RedirectResponse { $this->socialMediaService->updateSocialMedia($request->validated()); $this->flashSuccess('Pengaturan media sosial berhasil disimpan.'); return redirect()->route('admin.system.settings.index'); } public function updateMarketplace(MarketplaceRequest $request): RedirectResponse { $this->marketplaceService->updateMarketplace($request->validated(), $request->user()); if ($this->ownerVerificationService->hasPendingMarketplaceVerification()) { $this->flashSuccess('Perubahan pengaturan marketplace berhasil diajukan dan menunggu verifikasi owner.'); } else { $this->flashSuccess('Pengaturan marketplace berhasil disimpan.'); } return redirect()->route('admin.system.settings.index'); } public function updateHr(HrSettingRequest $request): RedirectResponse { $this->hrSettingService->updateHr($request->validated()); $this->flashSuccess('Pengaturan HR berhasil disimpan.'); return redirect()->route('admin.system.settings.index'); } public function updateHomepage(HomepageSettingRequest $request): RedirectResponse { $this->homepageSettingService->updateHomepage($request->validated()); $this->flashSuccess('Pengaturan homepage berhasil disimpan.'); return redirect()->route('admin.system.settings.index'); } }